Jump to content
IGNORED

Our SillyVenture 2013 Demo entry


Heaven/TQA

Recommended Posts

here is our entry for SillyVenture 2013 demo compo.

 

Credits:

 

Code: Heaven

Gfx: Alien & Freakyb

Msx: String

 

I will release a fixed and final version as this was submitted in last minute action and it seems it only runs in Altirra correctly, not in Atari800win plus and Atari Emulator on Mac... oh, not to mention real hardware :D.

 

Phaeron... any ideas why it has glitches on other emulators?

 

it's not packed or anything but I guess I was little too "low" on memory and put stuff in loader area...

dsr_addicted_compo.xex

  • Like 6
Link to comment
Share on other sites

here is our entry for SillyVenture 2013 demo compo.

 

Credits:

 

Code: Heaven

Gfx: Alien & Freakyb

Msx: String

 

I will release a fixed and final version as this was submitted in last minute action and it seems it only runs in Altirra correctly, not in Atari800win plus and Atari Emulator on Mac... oh, not to mention real hardware :D.

 

Phaeron... any ideas why it has glitches on other emulators?

 

it's not packed or anything but I guess I was little too "low" on memory and put stuff in loader area...

Hey what about a screen or two because I can't see it at the moment ;) .

:)

 

 

Thanks.

Link to comment
Share on other sites

@Heaven:

 

- your demo works on Atari 800 Win (german version from Abbuc)...

- it does not work on real Atari due to the very first segment: $0582-0BF5, which means, no DOS, Bootloader or Gamedos accepts this low memory area and you get an immediate crash; you should leave $0700-09FF alone (or $0700-0BFF to be save)...

- you may try to use the memory area between $14xx and $1FFF instead...

 

@programmers:

- if you want your program to work on a real A8, don`t use $0700-09FF (or $0700-0BFF to be save); otherwise the program cannot be loaded via DOS, Gamedos or Bootloader...

- also do never use $D000-D7FF (but this would afaik also not work on emulators)...

 

-Andreas Koch.

 

  • Like 1
Link to comment
Share on other sites

I did a games loader way back which was based on an existing one out there and allowed loading from a fairly low area - something like $580 I think.

 

But yes, it is good practice these days to try and have these things loadable by as many methods as possible.

 

Loaders such as with IDE +2 or SIDE could probably handle such things as this but not many people have them.

Link to comment
Share on other sites

I guess it is the RMT player... as positioned very low... let's see what I can do...

 

lowest ORG is $0800 so could be some tables of the player...

 

and regarding grtx... I put there atariage and atarionline so I thought I got everybody included :D

 

no honestly... the greetx part was written in less than 30 min and prerendered so it stayed at the mini-version til end. it was already sunday 3am when submitted to SillyVenture... ;)

 

nevermind... the fixed version will contain proper greetings part ;)

 

@Andreas...

 

Atari800win does have gfx glitches in the parallax bars? (wrong colors half way down?) compared to Altirra. same at Atari800mac so it seems the Atari800 core.

Link to comment
Share on other sites

and the mem footprint output from Altirra:

 

Altirra> a8

Atari800-compatible command aliases set.

Altirra> cont

EXE: Loading program 0006-0679 to 0D82-13F5

EXE: Loading program 067E-097D to 1400-16FF

EXE: Loading program 0982-0E81 to 1800-1CFF

EXE: Loading program 0E86-29FD to A400-BF77

EXE: Loading program 2A02-2A07 to 2000-2005

EXE: Loading program 2A0C-2A0D to 02E2-02E3

EXE: Jumping to 2000

EXE: Loading program 2A12-2EE4 to 2000-24D2

EXE: Loading program 2EE9-3E60 to 2800-3777

EXE: Loading program 3E65-42BB to 3800-3C56

EXE: Loading program 42C0-4DC5 to 3D00-4805

EXE: Loading program 4DCA-50C9 to 4900-4BFF

EXE: Loading program 50CE-68CD to 5010-680F

EXE: Loading program 68D2-80D1 to 7010-880F

EXE: Loading program 80D6-89DA to 8900-9204

EXE: Loading program 89DF-99DE to 9400-A3FF

EXE: Loading program 99E3-99E4 to 02E0-02E1

EXE: Launching at 3820

Link to comment
Share on other sites

Now that's exactly what Atari800win shows and my Mac.... Grrr.... Altirra shows it correctly how I wanted to have it... Ideas? Need to check if I am writing a color LUT and it gets out of sync...

 

But phaeron should look into it? Old emulators showing it correct while latest emu not ;)

Link to comment
Share on other sites

Now that's exactly what Atari800win shows and my Mac.... Grrr.... Altirra shows it correctly how I wanted to have it... Ideas? Need to check if I am writing a color LUT and it gets out of sync...

 

But phaeron should look into it? Old emulators showing it correct while latest emu not ;)

I see the same black bars on the DE1 - which is largely based on the Altirra hardware reference manual.

Link to comment
Share on other sites

@Heaven


You have several DLIs that don't properly restore the A register. They end with LDA $28 instead of LDA $25. For some reason those DLIs don't occur during the generation of the color tables in Altirra but they do in Atari800Win and apparently on real hardware.



158 67 39DD BCC $39E1 ; 2cyc ; A=80 S=fb X=14 Y=ff P=NV*B-I--
158 73 39E1 STA $34 ;BFENLO ; 3cyc ; A=80 S=fb X=14 Y=ff P=NV*B-I--
158 79 39E3 INX ; 2cyc ; A=80 S=fb X=14 Y=ff P=NV*B-I--
158 83 39E4 BNE $39C1 ; 2cyc ; A=80 S=fb X=15 Y=ff P=-V*B-I--
158 89 39C1 LDA $34 ;BFENLO ; 3cyc ; A=80 S=fb X=15 Y=ff P=-V*B-I--
158 95 39C3 ORA #$04 ; 2cyc ; A=80 S=fb X=15 Y=ff P=NV*B-I--
158 99 39C5 STA $0C00,X ; 5cyc ; A=84 S=fb X=15 Y=ff P=NV*B-I--
158 109 39C8 AND #$F0 ; 2cyc ; A=84 S=fb X=15 Y=ff P=NV*B-I--
158 111 39CA ORA #$06 ; 2cyc ; A=80 S=fb X=15 Y=ff P=NV*B-I--
158 113 39CC STA $0D00,X ; 5cyc ; A=86 S=fb X=15 Y=ff P=NV*B-I--
159 9 39CF AND #$F0 ; 2cyc ; A=86 S=fb X=15 Y=ff P=NV*B-I--
159 11 39D1 ORA #$0A ; 2cyc ; A=80 S=fb X=15 Y=ff P=NV*B-I--
159 25 3DC3 BIT $D40F ;NMIST ; 4cyc ; A=8a S=f8 X=15 Y=ff P=NV*B-I--
159 39 3DC6 BPL $3DCB ; 2cyc ; A=8a S=f8 X=15 Y=ff P=N-*B-I--
159 47 3DC8 JMP $3D80 ; 3cyc ; A=8a S=f8 X=15 Y=ff P=N-*B-I--
159 59 3D6E STA $25 ;ICBAHZ ; 3cyc ; A=8a S=f8 X=15 Y=ff P=N-*B-I--
159 67 3D70 LDA #$A0 ; 2cyc ; A=8a S=f8 X=15 Y=ff P=N-*B-I--
159 71 3D72 STA $D40A ;WSYNC ; 4cyc ; A=a0 S=f8 X=15 Y=ff P=N-*B-I--
159 107 3D75 STA $D409 ;CHBASE ; 4cyc ; A=a0 S=f8 X=15 Y=ff P=N-*B-I--
159 112 3D78 LDA #$80 ; 2cyc ; A=a0 S=f8 X=15 Y=ff P=N-*B-I--
160 6 3D7A STA $3DC9 ; 4cyc ; A=80 S=f8 X=15 Y=ff P=N-*B-I--
160 10 3D7D LDA $28 ;ICBLLZ ; 3cyc ; A=80 S=f8 X=15 Y=ff P=N-*B-I--
160 14 3D7F RTI ; 6cyc ; A=00 S=f8 X=15 Y=ff P=--*B-IZ-
161 6 39D3 STA $0E00,X ; 5cyc ; A=00 S=fb X=15 Y=ff P=NV*B-I--
161 11 39D6 AND #$F0 ; 2cyc ; A=00 S=fb X=15 Y=ff P=NV*B-I--
161 13 39D8 CLC ; 2cyc ; A=00 S=fb X=15 Y=ff P=-V*B-IZ-
161 15 39D9 ADC #$10 ; 2cyc ; A=00 S=fb X=15 Y=ff P=-V*B-IZ-
161 19 39DB CMP #$F0 ; 2cyc ; A=10 S=fb X=15 Y=ff P=--*B-I--
161 23 39DD BCC $39E1 ; 2cyc ; A=10 S=fb X=15 Y=ff P=--*B-I--


Here's a patched version:




I just added the following patches before the RUN segment:




org $3D23
lda $25
org $3D35
lda $25
org $3D47
lda $25
org $3D59
lda $25
org $3D6B
lda $25
org $3D7D
lda $25
org $3D8F
lda $25
org $3DA1
lda $25
org $3DB3
lda $25

  • Like 1
Link to comment
Share on other sites

interesting as it looks ok from source code point of view... now let's check the memory locations...

 

fx_color	;lda #$26
	lda #15
	sta wsync
fx_col_start	ldy #$00
	ldx #152/4
fx_loop
	lda parallax_coltab0e,y ;$0e
	sta $d018
	lda parallax_coltab08,y
	sta $d016
	lda parallax_coltab04,y
	sta $d017
	sta wsync
	sta wsync
	sta wsync
	sta wsync

	iny
	dex
	bne fx_loop

	lda dli_regA
	ldx dli_regX
	ldy dli_regY
	rti	
Link to comment
Share on other sites

ok... and what is then wrong with

 

	org $10
fcnt	.ds 2
fadr	.ds 2
fhlp	.ds 2
cloc	.ds 1
cloc2	.ds 1
b		.ds 2
c		.ds 2
d		.ds 2
f		.ds 2
g		.ds 2
pos1	.ds 1
pos2	.ds 2
regA	.ds 1
regX	.ds 1
regY	.ds 1
dli_regA .ds 1
dli_regX .ds 1
dli_regY .ds 1
counter .ds 2
songcounter .ds 2
si		.ds 2
di		.ds 2
frame	.ds 1
steps	.ds 1
xstep	.ds 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...