diff --git a/demosplash/NOTES b/demosplash/NOTES index 8a47e844..6779e86b 100644 --- a/demosplash/NOTES +++ b/demosplash/NOTES @@ -1,3 +1,16 @@ +Music glitching: ++ Demosplash + gen 4 pages ++ Apple II intro + plays for 2 pages + (MILD GLITCH) ++ Missing notice + + + + + + TODO: CYCLE: Apple II intro + Remove keyboard pause diff --git a/demosplash/appleII_intro.s b/demosplash/appleII_intro.s index 5554b2b9..e58414bd 100644 --- a/demosplash/appleII_intro.s +++ b/demosplash/appleII_intro.s @@ -103,7 +103,7 @@ loopB: dex ; 2 jmp display_loop ; 3 -.align $100 +;.align $100 ;================================================ @@ -426,7 +426,7 @@ no_keypress2: appleii_done: rts -.align $100 +;.align $100 ;================================= ; do nothing @@ -443,8 +443,9 @@ loop2: dex ; 2 bne loop1 ; 2nt/3 rts ; 6 +do_nothing_end: - +.assert >do_nothing = >do_nothing_end, error, "do_nothing crosses page" forever_string: .byte ' ','F','O','R','E','V','E','R' diff --git a/demosplash/demosplash.s b/demosplash/demosplash.s index 038c701b..ae19e0cc 100644 --- a/demosplash/demosplash.s +++ b/demosplash/demosplash.s @@ -6,9 +6,10 @@ demosplash2019: - ;========================= + ;================================================== ; clear zp - ;========================= + ; shouldn't have to do this, but uninit memory bugs + ;================================================== lda #0 ldy #128 zp_clear_loop: diff --git a/demosplash/zp.inc b/demosplash/zp.inc index f3d14bd8..4d614a50 100644 --- a/demosplash/zp.inc +++ b/demosplash/zp.inc @@ -22,14 +22,14 @@ GBASH = $27 BASL = $28 BASH = $29 H2 = $2C -V2 = $2D -MASK = $2E -COLOR_MASK = $2F -COLOR = $30 +V2 = $2D +MASK = $2E +COLOR_MASK = $2F +COLOR = $30 -SEEDL = $4e -SEEDH = $4f +SEEDL = $4e +SEEDH = $4f XMAX = $50 ; escape @@ -47,24 +47,6 @@ SPRITE_YPOS = $5D BLAST1 = $5E BLAST2 = $5F -FIRE = $6A -ASTEROID_EXPLODE = $6B -ASTEROID_SUBX = $6C -FIRE_X = $6D -LEVEL_DONE = $6E -YADD = $6F - - - - - -WASTE_CYCLES = $C6 -FOREVER_OFFSET = $C7 -FRAME_OFFSET = $C8 -FRAME_PAGE = $C9 -AY_WRITE_TEMP = $CA -AY_WRITE_TEMP2 = $CB - FRAMEL = $60 FRAMEH = $61 WAITING = $62 @@ -76,6 +58,13 @@ LETTERD = $67 LETTER = $68 BLARGH = $69 +FIRE = $6A +ASTEROID_EXPLODE = $6B +ASTEROID_SUBX = $6C +FIRE_X = $6D +LEVEL_DONE = $6E +YADD = $6F + AY_REGISTERS = $70 A_FINE_TONE = $70 A_COARSE_TONE = $71 @@ -113,22 +102,6 @@ KEYPTRH = $91 KEY_COUNTDOWN = $92 KEYPTR = $93 -; More zero-page addresses -; we try not to conflict with anything DOS, MONITOR or BASIC related - -HAVE_GUN = $BC ; C2 jail+ - -FIRST_SHIELD = $BD -COLLISION_X = $BE -COLLISION_Y = $BF - -GREEN0 = $C0 -GREEN1 = $C1 -GREEN2 = $C2 -GREEN3 = $C3 -GREEN4 = $C4 -ZERO = $C5 - ; have to be consecutive DOOR_STATUS = $B0 DOOR_STATUS_H = $B1 @@ -141,10 +114,24 @@ DOOR_XMIN_H = $B7 DOOR_XMAX = $B8 DOOR_XMAX_H = $B9 -BEAST_ZAPPING = $CA ; 1 -BEAST_DEAD = $CB ; 1 -VENT_OPEN = $CC ; 2 -INTRO_REPEAT = $CD ; INTRO +HAVE_GUN = $BC ; C2 jail+ +FIRST_SHIELD = $BD +COLLISION_X = $BE +COLLISION_Y = $BF + +GREEN0 = $C0 +GREEN1 = $C1 +GREEN2 = $C2 +GREEN3 = $C3 +GREEN4 = $C4 +ZERO = $C5 + +WASTE_CYCLES = $C6 +FOREVER_OFFSET = $C7 +FRAME_OFFSET = $C8 +FRAME_PAGE = $C9 +AY_WRITE_TEMP = $CA +AY_WRITE_TEMP2 = $CB ASTRONAUT_X = $CC ASTRONAUT_Y = $CD @@ -232,9 +219,9 @@ BOULDER_Y = $E9 ; C1 SHOOTING_TOP = $E9 ; C1 cage DUDE_X = $E9 ; C2 jail -STATE_NO_KEYPRESS = $80 -STATE_CROUCHING = $40 -STATE_RUNNING = $20 + STATE_NO_KEYPRESS = $80 + STATE_CROUCHING = $40 + STATE_RUNNING = $20 ASTRONAUT_STATE = $EA P_STANDING = $00 @@ -298,7 +285,6 @@ ELEVATOR_OFFSET = $F9 ; C2 jail VENT_DEATH = $F9 ; C3 BG_SCROLL = $F9 ; C4 - TEMP = $FA TEMPY = $FB INL = $FC