diff --git a/ootw/Makefile b/ootw/Makefile index 064ad9ca..eb604f97 100644 --- a/ootw/Makefile +++ b/ootw/Makefile @@ -18,16 +18,16 @@ ootw.dsk: HELLO LOADER INTRO OOTW OOTW_C2 #COMPRESS-TEST #### -OOTW: ootw.o - ld65 -o OOTW ootw.o -C ../linker_scripts/apple2_1700.inc +OOTW: ootw_c1.o + ld65 -o OOTW ootw_c1.o -C ../linker_scripts/apple2_1700.inc -ootw.o: ootw.s \ +ootw_c1.o: ootw_c1.s \ gr_copy.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \ gr_putsprite.s gr_putsprite_flipped.s gr_putsprite_crop.s \ gr_make_quake.s gr_overlay.s zp.inc keyboard.s \ ootw_sluggy.s ootw_beast.s \ - ootw_rope.s earthquake.s ootw_mesa.s \ - ootw_pool.s ootw_cavern.s physicist.s random16.s \ + ootw_c1_rope.s earthquake.s ootw_c1_mesa.s \ + ootw_c1_pool.s ootw_c1_cavern.s physicist.s random16.s \ ootw_cut_slug.s ootw_cut_beast.s \ ootw_graphics/pool/ootw_pool.inc \ ootw_graphics/underwater/ootw_underwater.inc \ @@ -44,7 +44,7 @@ ootw.o: ootw.s \ ootw_graphics/end_scenes/ootw_beast_end.inc \ ootw_graphics/end_scenes/ootw_beast_intro.inc \ ootw_graphics/end_scenes/ootw_slug_end.inc - ca65 -o ootw.o ootw.s -l ootw.lst + ca65 -o ootw_c1.o ootw_c1.s -l ootw_c1.lst #### diff --git a/ootw/ootw.s b/ootw/ootw_c1.s similarity index 95% rename from ootw/ootw.s rename to ootw/ootw_c1.s index 5997a387..bf5e3313 100644 --- a/ootw/ootw.s +++ b/ootw/ootw_c1.s @@ -17,6 +17,7 @@ ootw: sta PHYSICIST_STATE sta WHICH_CAVE sta BEAST_OUT + sta ON_ELEVATOR lda #1 sta BEFORE_SWING @@ -90,10 +91,10 @@ end_message: .byte 8,10,"PRESS RETURN TO CONTINUE",0 .byte 11,20,"ACCESS CODE: IH8S",0 -.include "ootw_rope.s" -.include "ootw_pool.s" -.include "ootw_cavern.s" -.include "ootw_mesa.s" +.include "ootw_c1_rope.s" +.include "ootw_c1_pool.s" +.include "ootw_c1_cavern.s" +.include "ootw_c1_mesa.s" .include "physicist.s" .include "ootw_sluggy.s" .include "ootw_beast.s" diff --git a/ootw/ootw_cavern.s b/ootw/ootw_c1_cavern.s similarity index 100% rename from ootw/ootw_cavern.s rename to ootw/ootw_c1_cavern.s diff --git a/ootw/ootw_mesa.s b/ootw/ootw_c1_mesa.s similarity index 100% rename from ootw/ootw_mesa.s rename to ootw/ootw_c1_mesa.s diff --git a/ootw/ootw_pool.s b/ootw/ootw_c1_pool.s similarity index 100% rename from ootw/ootw_pool.s rename to ootw/ootw_c1_pool.s diff --git a/ootw/ootw_rope.s b/ootw/ootw_c1_rope.s similarity index 100% rename from ootw/ootw_rope.s rename to ootw/ootw_c1_rope.s diff --git a/ootw/ootw_c2.s b/ootw/ootw_c2.s index 70710a4b..c0319ac3 100644 --- a/ootw/ootw_c2.s +++ b/ootw/ootw_c2.s @@ -14,6 +14,7 @@ ootw_c2: lda #0 sta GAME_OVER sta PHYSICIST_STATE + sta ON_ELEVATOR lda #22 sta PHYSICIST_Y diff --git a/ootw/zp.inc b/ootw/zp.inc index a43a512a..cacac0b3 100644 --- a/ootw/zp.inc +++ b/ootw/zp.inc @@ -31,6 +31,7 @@ COLOR = $30 SEEDL = $4e SEEDH = $4f XMAX = $50 + BEAST_X = $51 BEAST_GAIT = $52 BEAST_COUNT = $53 @@ -43,20 +44,6 @@ BEAST_DIRECTION = $55 ;INVFLG = $32 -; dos33 zero page = 26-2f, 35-38, 3e 3f 40-4d -; overlap applesoft 67-6a,6f,70,af,b0,ca-cd,d8 - - -; DOS33: Confirmed kills $68 - -RWTSL = $60 -RWTSH = $61 -DOSBUFL = $62 -DOSBUFH = $63 -FILEML = $64 -FILEMH = $65 - - FRAMEL = $60 FRAMEH = $61 WAITING = $62 @@ -68,19 +55,7 @@ LETTERD = $67 LETTER = $68 BLARGH = $69 - ;FACTOR_I = $66 - ;FACTOR_F = $67 - ;DX_I = $68 - ;DX_F = $69 - ;SPACEX_I = $6A - ;SPACEX_F = $6B - ;CX_I = $6C - ;CX_F = $6D - ;DY_I = $6E - ;DY_F = $6F - - -INTRO_REPEAT = $7E +INTRO_REPEAT = $7E ; INTRO ZPOS = $78 REGISTER_DUMP = $70 @@ -143,27 +118,34 @@ CURSOR = $9D ; More zero-page addresses ; we try not to conflict with anything DOS, MONITOR or BASIC related -LEFT_LIMIT = $E0 -RIGHT_LIMIT = $E1 -WHICH_SLUG = $E2 -WHICH_CAVE = $E3 -WHICH_JAIL = $E3 -BEAST_OUT = $E4 -GAME_OVER = $E5 -EQUAKE_PROGRESS = $E6 -EARTH_OFFSET = $E7 +ON_ELEVATOR = $DF ; ALL -DNA_OUT = $E5 -DNA_PROGRESS = $E6 -DNA_COUNT = $E7 -CURSOR_COUNT = $E7 -PARTICLE_COUNT = $E7 -MESSAGE_CURRENT = $E5 -TIME_COUNT = $E6 -MESSAGE_COUNT = $E7 +LEFT_LIMIT = $E0 ; ALL +RIGHT_LIMIT = $E1 ; ALL +WHICH_SLUG = $E2 ; C1 + +WHICH_CAVE = $E3 ; C1 +WHICH_JAIL = $E3 ; C2 + +BEAST_OUT = $E4 ; C1 + +GAME_OVER = $E5 ; ALL +DNA_OUT = $E5 ; INTRO +MESSAGE_CURRENT = $E5 ; INTRO + +EQUAKE_PROGRESS = $E6 ; C1 +DNA_PROGRESS = $E6 ; INTRO +TIME_COUNT = $E6 ; INTRO + +EARTH_OFFSET = $E7 ; ALL?? +DNA_COUNT = $E7 ; INTRO +CURSOR_COUNT = $E7 ; INTRO +PARTICLE_COUNT = $E7 ; INTRO +MESSAGE_COUNT = $E7 ; INTRO + +BOULDER_X = $E8 ; C1 +BOULDER_Y = $E9 ; C1 -BOULDER_X = $E8 -BOULDER_Y = $E9 PHYSICIST_STATE = $EA P_STANDING = $00 P_WALKING = $01 @@ -176,33 +158,35 @@ PHYSICIST_STATE = $EA P_SWINGING = $08 ; no keypress -BEFORE_SWING = $EB -CUTFRAME = $EC -DISP_PAGE = $ED -DRAW_PAGE = $EE -OFFSET = $EF +BEFORE_SWING = $EB +CUTFRAME = $EC +DISP_PAGE = $ED +DRAW_PAGE = $EE +OFFSET = $EF -INTRO_LOOPL = $F0 -INTRO_LOOPH = $F1 -INTRO_LOOPER = $F7 -STATIC_LOOPER = $F8 +INTRO_LOOPL = $F0 ; INTRO +PHYSICIST_X = $F0 ; ALL + +INTRO_LOOPH = $F1 ; INTRO +PHYSICIST_Y = $F1 ; ALL -PHYSICIST_X = $F0 -PHYSICIST_Y = $F1 SPRITETEMP = $F2 XPOS = $F3 YPOS = $F4 -DIRECTION = $F5 -GAIT = $F6 -TENTACLE_X = $F7 +DIRECTION = $F5 ; ALL +GAIT = $F6 ; ALL -LEVELEND_PROGRESS = $F8 -SWING_PROGRESS = $F8 -TENTACLE_PROGRESS = $F8 -ELEVATOR_CYCLE = $F8 +INTRO_LOOPER = $F7 ; INTRO +TENTACLE_X = $F7 ; C1 -TENTACLE_GRAB = $F9 -ELEVATOR_COUNT = $F9 +LEVELEND_PROGRESS = $F8 ; C1 +SWING_PROGRESS = $F8 ; C1 +TENTACLE_PROGRESS = $F8 ; C1 +ELEVATOR_CYCLE = $F8 ; INTRO +STATIC_LOOPER = $F8 ; INTRO + +TENTACLE_GRAB = $F9 ; C1 +ELEVATOR_COUNT = $F9 ; INTRO TEMP = $FA TEMPY = $FB @@ -210,4 +194,3 @@ INL = $FC INH = $FD OUTL = $FE OUTH = $FF -