diff options
author | unknown <devnull@localhost> | 2011-03-02 20:48:31 +0000 |
---|---|---|
committer | unknown <devnull@localhost> | 2011-03-02 20:48:31 +0000 |
commit | 82db96b5d4883bfa12d6f0c8c48a08e6da3b101c (patch) | |
tree | 20c8811b356026072c0a947fb0caa13fdf326b85 | |
parent | 9bca7b2b78c191990cb15064ac9daecea95c1120 (diff) |
(Flamewing, S&K Disassembly) Use RAM constants
-rw-r--r-- | Lockon S3/Screen Events.asm | 318 | ||||
-rw-r--r-- | sonic3k.asm | 15240 | ||||
-rw-r--r-- | sonic3k.constants.asm | 47 | ||||
-rw-r--r-- | sonic3k.macros.asm | 12 |
4 files changed, 7851 insertions, 7766 deletions
diff --git a/Lockon S3/Screen Events.asm b/Lockon S3/Screen Events.asm index 7022aa590..0197be7ae 100644 --- a/Lockon S3/Screen Events.asm +++ b/Lockon S3/Screen Events.asm @@ -1,6 +1,6 @@ S3_VInt_DrawLevel:
- lea ($C00000).l,a6
- lea ($FFFFF100).w,a0
+ lea (VDP_data_port).l,a6
+ lea (Plane_buffer).w,a0
loc_239622:
move.w (a0),d0
@@ -19,7 +19,7 @@ loc_239636: andi.w #$7FFF,d1
loc_239640:
- move.w d2,4(a6)
+ move.w d2,VDP_control_port-VDP_data_port(a6)
move.w d0,d2
move.w d1,d4
bsr.s sub_23965C
@@ -53,8 +53,8 @@ loc_239670: ; ---------------------------------------------------------------------------
sub_239690:
- lea ($C00000).l,a6
- lea ($FFFFF100).w,a0
+ lea (VDP_data_port).l,a6
+ lea (Plane_buffer).w,a0
loc_23969A:
move.w (a0),d0
@@ -92,11 +92,11 @@ sub_239822: loc_239842:
andi.w #$30,d2
cmpi.w #$10,d2
- sne ($FFFFEEA4).w
+ sne (Plane_double_update_flag).w
movem.w d1/d6,-(sp)
bsr.s S3_SetUp_ColumnDraw
movem.w (sp)+,d1/d6
- tst.b ($FFFFEEA4).w
+ tst.b (Plane_double_update_flag).w
beq.w locret_23996C
addi.w #$10,d0
@@ -110,7 +110,7 @@ S3_SetUp_ColumnDraw: asr.w #4,d1
move.w d1,d4
asr.w #1,d1
- and.w ($FFFFEEAE).w,d1
+ and.w (Layout_row_index_mask).w,d1
andi.w #$F,d4
moveq #$10,d5
sub.w d4,d5
@@ -210,7 +210,7 @@ loc_23994E: andi.w #$70,d2
bne.s loc_239964
addq.w #4,d1
- and.w ($FFFFEEAE).w,d1
+ and.w (Layout_row_index_mask).w,d1
bsr.s sub_23996E
loc_239964:
@@ -245,7 +245,7 @@ sub_23996E: S3_Draw_TileRow:
move.w (a6),d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w (a5),d2
move.w d0,(a5)
move.w d2,d3
@@ -256,19 +256,19 @@ S3_Draw_TileRow: neg.w d2
move.w d3,d0
addi.w #$F0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
loc_2399B0:
andi.w #$30,d2
cmpi.w #$10,d2
- sne ($FFFFEEA4).w
+ sne (Plane_double_update_flag).w
movem.w d1/d6,-(sp)
bsr.s S3_Setup_TileRowDraw
movem.w (sp)+,d1/d6
- tst.b ($FFFFEEA4).w
+ tst.b (Plane_double_update_flag).w
beq.w locret_239AFC
addi.w #$10,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
bra.s S3_Setup_TileRowDraw
; ---------------------------------------------------------------------------
nop
@@ -379,7 +379,7 @@ locret_239AFC: S3_GetLevelAddrChunk:
move.w d0,d3
asr.w #5,d3
- and.w ($FFFFEEAE).w,d3
+ and.w (Layout_row_index_mask).w,d3
movea.w (a3,d3.w),a4
S3_GetChunk:
@@ -478,12 +478,12 @@ loc_239BD6: S3_DrawTilesVDeform:
movem.l d5/a4-a5,-(sp)
- lea ($FFFFEE80).w,a6
+ lea (Camera_X_pos_copy).w,a6
jsr sub_239DBC(pc)
- lea ($FFFFEE88).w,a5
+ lea (Camera_X_pos_rounded).w,a5
jsr sub_239822(pc)
movem.l (sp)+,d5/a4/a6
- move.w ($FFFFEE88).w,d6
+ move.w (Camera_X_pos_rounded).w,d6
bra.s loc_239D58
; ---------------------------------------------------------------------------
nop
@@ -494,7 +494,7 @@ loc_239D5A: sub.w (a4)+,d6
bcs.s loc_239D6A
move.w (a6)+,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,(a6)+
subq.w #1,d5
bra.s loc_239D5A
@@ -536,7 +536,7 @@ loc_239DAC: subq.w #1,d5
beq.s locret_239DBA
move.w (a6)+,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,(a6)+
bra.s loc_239DAC
; ---------------------------------------------------------------------------
@@ -571,11 +571,11 @@ loc_239DD0: ; ---------------------------------------------------------------------------
S3_PlainDeformation:
- lea ($FFFFE000).w,a1
- move.w ($FFFFEE80).w,d0
+ lea (H_scroll_buffer).w,a1
+ move.w (Camera_X_pos_copy).w,d0
neg.w d0
swap d0
- move.w ($FFFFEE8C).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d0
neg.w d0
moveq #$37,d1
@@ -611,9 +611,9 @@ S3_ApplyDeformation: sub_239E90:
- lea ($FFFFE000).w,a1
- move.w ($FFFFEE90).w,d0
- move.w ($FFFFEE80).w,d3
+ lea (H_scroll_buffer).w,a1
+ move.w (Camera_Y_pos_BG_copy).w,d0
+ move.w (Camera_X_pos_copy).w,d3
TwoP_ApplyDeformation: ;39E9C
move.w (a4)+,d2
@@ -817,8 +817,8 @@ loc_239FB0: ; ---------------------------------------------------------------------------
S3_Apply_FGVScroll:
lea ($FFFFEEEA).w,a1
- move.w ($FFFFEE90).w,d1
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d1
+ move.w (Camera_X_pos_copy).w,d0
move.w d0,d2
andi.w #$F,d2
beq.s loc_239FCC
@@ -865,13 +865,13 @@ locret_23A000: ; ---------------------------------------------------------------------------
S3Reset_TileOffsetPositionActual:
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
move.w d0,d1
andi.w #$FFF0,d0
- move.w d0,($FFFFEE88).w
- move.w ($FFFFEE84).w,d0
- and.w ($FFFFEEAC).w,d0
- move.w d0,($FFFFEE8A).w
+ move.w d0,(Camera_X_pos_rounded).w
+ move.w (Camera_Y_pos_copy).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
+ move.w d0,(Camera_Y_pos_rounded).w
rts
@@ -880,31 +880,31 @@ S3Reset_TileOffsetPositionActual: S3Reset_TileOffsetPositionEff:
- move.w ($FFFFEE8C).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d0
move.w d0,d1
andi.w #$FFF0,d0
move.w d0,d2
- move.w d0,($FFFFEE94).w
- move.w ($FFFFEE90).w,d0
- and.w ($FFFFEEAC).w,d0
- move.w d0,($FFFFEE96).w
+ move.w d0,(Camera_X_pos_BG_rounded).w
+ move.w (Camera_Y_pos_BG_copy).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
+ move.w d0,(Camera_Y_pos_BG_rounded).w
rts
; ---------------------------------------------------------------------------
sub_23A03C:
- move.w ($FFFFEE60).w,($FFFFEE68).w
- move.w ($FFFFEE64).w,($FFFFEE6C).w
+ move.w (Camera_X_pos_P2).w,(Camera_X_pos_P2_copy).w
+ move.w (Camera_Y_pos_P2).w,(Camera_Y_pos_P2_copy).w
rts
; ---------------------------------------------------------------------------
loc_23A04A:
- move.w ($FFFFEE6C).w,d0
+ move.w (Camera_Y_pos_P2_copy).w,d0
subi.w #$70,d0
- move.w d0,($FFFFF61E).w
+ move.w d0,(V_scroll_value_P2).w
move.w ($FFFFEE74).w,d0
subi.w #$70,d0
- move.w d0,($FFFFF620).w
+ move.w d0,(V_scroll_value_BG_P2).w
rts
; ---------------------------------------------------------------------------
@@ -936,21 +936,21 @@ loc_23A09A: ; ---------------------------------------------------------------------------
Comp_ScreenInit:
jsr sub_23A03C(pc)
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
move.w d0,($FFFFEEB4).w
move.w d0,($FFFFEEB6).w
- move.w ($FFFFEE68).w,d0
+ move.w (Camera_X_pos_P2_copy).w,d0
move.w d0,($FFFFEEB8).w
move.w d0,($FFFFEEBA).w
moveq #0,d0
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone_and_act).w,d0
lsl.w #4,d0
lea Comp_ScreenInitArray-$E0(pc),a1
adda.w d0,a1
- move.w (a1)+,($FFFFEEA8).w
- move.w (a1)+,($FFFFEEAA).w
- move.w (a1)+,($FFFFEEAC).w
- move.w (a1)+,($FFFFEEAE).w
+ move.w (a1)+,(Screen_X_wrap_value).w
+ move.w (a1)+,(Screen_Y_wrap_value).w
+ move.w (a1)+,(Camera_Y_pos_mask).w
+ move.w (a1)+,(Layout_row_index_mask).w
move.w (a1)+,($FFFFEEB0).w
move.w (a1)+,d0
move.w (a1)+,d2
@@ -962,27 +962,27 @@ Comp_ScreenInit: Comp_ScreenEvent:
jsr sub_23A03C(pc)
- move.w ($FFFFEEA8).w,d2
+ move.w (Screen_X_wrap_value).w,d2
addq.w #1,d2
move.w d2,d3
lsr.w #1,d2
lea ($FFFFEEB4).w,a1
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
jsr sub_23A080(pc)
- move.w ($FFFFEE68).w,d0
+ move.w (Camera_X_pos_P2_copy).w,d0
jmp sub_23A080(pc)
; ---------------------------------------------------------------------------
CGZ_ScreenEvent:
bsr.s Comp_ScreenEvent
- move.w ($FFFFEEAA).w,d2
+ move.w (Screen_Y_wrap_value).w,d2
addq.w #1,d2
move.w d2,d3
lsr.w #1,d2
lea ($FFFFEED2).w,a1
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
jsr sub_23A080(pc)
- move.w ($FFFFEE6C).w,d0
+ move.w (Camera_Y_pos_P2_copy).w,d0
jmp sub_23A080(pc)
; ---------------------------------------------------------------------------
@@ -1002,10 +1002,10 @@ DPZ_BackgroundInit: ; ---------------------------------------------------------------------------
CGZ_BackgroundInit:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w d0,($FFFFEED2).w
move.w d0,($FFFFEED4).w
- move.w ($FFFFEE6C).w,d0
+ move.w (Camera_Y_pos_P2_copy).w,d0
move.w d0,($FFFFEED6).w
move.w d0,($FFFFEED8).w
moveq #0,d0
@@ -1024,9 +1024,9 @@ EMZ_BackgroundInit: jsr EMZ_BackgroundEvent(pc)
TwoP_BackgroundInit:
- move.l ($FFFFF61E).w,($FFFFEE3A).w
+ move.l (V_scroll_value_P2).w,(V_scroll_value_P2_copy).w
moveq #0,d0
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone_and_act).w,d0
lsl.w #4,d0
lea Comp_ScreenInitArray-$D4(pc),a1
adda.w d0,a1
@@ -1069,18 +1069,18 @@ EMZ_BackgroundEvent: lea EMZ_DeformArray(pc),a4
loc_23A764:
- lea ($FFFFE000).w,a1
+ lea (H_scroll_buffer).w,a1
movea.l a4,a6
lea ($FFFFA800).w,a5
- move.w ($FFFFEE90).w,d0
- move.w ($FFFFEE80).w,d3
+ move.w (Camera_Y_pos_BG_copy).w,d0
+ move.w (Camera_X_pos_copy).w,d3
moveq #$6B,d1
jsr TwoP_ApplyDeformation(pc)
movea.l a6,a4
lea ($FFFFA900).w,a5
move.w ($FFFFEE74).w,d0
subq.w #4,d0
- move.w ($FFFFEE68).w,d3
+ move.w (Camera_X_pos_P2_copy).w,d3
moveq #$73,d1
jsr TwoP_ApplyDeformation(pc)
jmp loc_23A04A(pc)
@@ -1089,12 +1089,12 @@ loc_23A764: DPZ_BackgroundEvent:
jsr DPZ_Deformation(pc)
- lea ($FFFFE000).w,a1
- move.w ($FFFFEE80).w,d0
- move.w ($FFFFEE8C).w,d1
+ lea (H_scroll_buffer).w,a1
+ move.w (Camera_X_pos_copy).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d1
moveq #$1A,d2
bsr.s sub_23A7BA
- move.w ($FFFFEE68).w,d0
+ move.w (Camera_X_pos_P2_copy).w,d0
move.w ($FFFFEE70).w,d1
moveq #$1C,d2
bsr.s sub_23A7BA
@@ -1121,10 +1121,10 @@ loc_23A7C2: ; ---------------------------------------------------------------------------
ALZ_Deformation:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
bsr.s sub_23A808
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE6C).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_Y_pos_P2_copy).w,d0
bsr.s sub_23A808
move.w d0,($FFFFEE74).w
addq.w #3,($FFFFEED2).w
@@ -1214,10 +1214,10 @@ loc_23A882: BPZ_Deformation:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
bsr.s sub_23A8B6
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE6C).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_Y_pos_P2_copy).w,d0
bsr.s sub_23A8B6
move.w d0,($FFFFEE74).w
lea ($FFFFA80E).w,a1
@@ -1262,16 +1262,16 @@ loc_23A8CE: DPZ_Deformation:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
bsr.s sub_23A912
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE6C).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_Y_pos_P2_copy).w,d0
bsr.s sub_23A912
addi.w #$80,d0
move.w d0,($FFFFEE74).w
move.w ($FFFFEEB6).w,d0
bsr.s sub_23A91C
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
move.w d1,($FFFFEEE2).w
move.w ($FFFFEEBA).w,d0
bsr.s sub_23A91C
@@ -1308,7 +1308,7 @@ CGZ_Deformation: loc_23A928:
bsr.s sub_23A94C
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
move.w ($FFFFEED8).w,d0
bsr.s sub_23A94C
@@ -1365,10 +1365,10 @@ loc_23A968: EMZ_Deformation:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
bsr.s sub_23A9A8
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE6C).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_Y_pos_P2_copy).w,d0
bsr.s sub_23A9A8
move.w d0,($FFFFEE74).w
lea ($FFFFA800).w,a1
@@ -1510,10 +1510,10 @@ AIZ_TreeRevealArray: dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ; ---------------------------------------------------------------------------
AIZ1_IntroDeform:
- move.w ($FFFFEE84).w,($FFFFEE90).w
+ move.w (Camera_Y_pos_copy).w,(Camera_Y_pos_BG_copy).w
move.w ($FFFFEEB6).w,d0
bmi.s loc_23AFE2
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
loc_23AFE2:
asr.w #1,d0
@@ -1571,10 +1571,10 @@ loc_23B032: ; ---------------------------------------------------------------------------
AIZ1_Deform:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
asr.w #1,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
subi.w #$1300,d0
swap d0
clr.w d0
@@ -1640,10 +1640,10 @@ loc_23B0CA: AIZ1_ApplyDeformWater:
lea AIZ1_DeformArray(pc),a4
lea ($FFFFA808).w,a5
- move.w ($FFFFF646).w,d1
+ move.w (Water_level).w,d1
loc_23B0E0:
- sub.w ($FFFFEE84).w,d1
+ sub.w (Camera_Y_pos_copy).w,d1
cmpi.w #$E0,d1
blt.s loc_23B0EE
jmp S3_ApplyDeformation(pc)
@@ -1655,15 +1655,15 @@ loc_23B0EE: move.l a1,-(sp)
lea ($FFFFA840).w,a1
lea AIZ1_WaterFGDeformDelta(pc),a6
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
subi.w #$DE,d1
neg.w d1
- move.w ($FFFFFE04).w,d2
+ move.w (Level_frame_counter).w,d2
add.w d0,d2
add.w d0,d2
andi.w #$7E,d2
adda.w d2,a6
- move.w ($FFFFEE80).w,d6
+ move.w (Camera_X_pos_copy).w,d6
neg.w d6
jsr S3_MakeFGDeformArray(pc)
movea.l (sp)+,a1
@@ -1671,10 +1671,10 @@ loc_23B0EE: lea AIZ1_DeformArray(pc),a4
lea ($FFFFA808).w,a5
lea AIZ1_WaterBGDeformDelta(pc),a6
- move.w ($FFFFF646).w,d0
- sub.w ($FFFFEE84).w,d0
- add.w ($FFFFEE90).w,d0
- move.w ($FFFFFE04).w,d2
+ move.w (Water_level).w,d0
+ sub.w (Camera_Y_pos_copy).w,d0
+ add.w (Camera_Y_pos_BG_copy).w,d0
+ move.w (Level_frame_counter).w,d2
asr.w #1,d2
add.w d0,d2
add.w d0,d2
@@ -1696,7 +1696,7 @@ AIZ1_FireRise: loc_23B16E:
move.w d0,($FFFFEED4).w
lsl.l #4,d0
- add.l d0,($FFFFEE90).w
+ add.l d0,(Camera_Y_pos_BG_copy).w
locret_23B178:
rts
@@ -1709,13 +1709,13 @@ AIZTrans_WavyFlame: move.w ($FFFFEE8E).w,d0
andi.w #$60,d0
addi.w #$1000,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
lea ($FFFFEEEA).w,a1
lea AIZ_FlameVScroll(pc),a5
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
swap d0
- move.w ($FFFFEE90).w,d1
- move.w ($FFFFFE04).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d1
+ move.w (Level_frame_counter).w,d2
asr.w #2,d2
moveq #$13,d3
@@ -1793,16 +1793,16 @@ ALZ_AIZ2_BGDeformDelta: dc.w $FFFE, 1, 2, 2,$FFFF, 2, 2, 1 ; ---------------------------------------------------------------------------
AIZ2_Deform:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w ($FFFFEECE).w,d1
sub.w d1,d0
asr.w #1,d0
add.w d1,d0
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
cmpi.w #$10,($FFFFEEC2).w
bcs.s loc_23B648
move.w ($FFFFEEE8).w,d0
- add.w d0,($FFFFEE90).w
+ add.w d0,(Camera_Y_pos_BG_copy).w
loc_23B648:
move.w ($FFFFEEB6).w,d0
@@ -1840,15 +1840,15 @@ locret_23B67E: AIZ2_ApplyDeform:
lea ($FFFFA800).w,a1
lea AIZ2_FGDeformDelta(pc),a6
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w #$DF,d1
- move.w ($FFFFFE04).w,d2
+ move.w (Level_frame_counter).w,d2
add.w d0,d2
add.w d0,d2
moveq #$3E,d3
- move.w ($FFFFEE80).w,d6
+ move.w (Camera_X_pos_copy).w,d6
neg.w d6
- move.w ($FFFFF646).w,d4
+ move.w (Water_level).w,d4
sub.w d0,d4
bls.s loc_23B6CA ; If completely underwater, only do water deformation
cmp.w d1,d4
@@ -1858,10 +1858,10 @@ AIZ2_ApplyDeform: and.w d3,d2
adda.w d2,a6
jsr S3_MakeFGDeformArray(pc)
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
subi.w #$DE,d1
neg.w d1
- move.w ($FFFFFE04).w,d2
+ move.w (Level_frame_counter).w,d2
add.w d0,d2
add.w d0,d2
@@ -1873,20 +1873,20 @@ loc_23B6D0: and.w d3,d2
adda.w d2,a6
jsr S3_MakeFGDeformArray(pc)
- lea ($FFFFE000).w,a1
+ lea (H_scroll_buffer).w,a1
lea ($FFFFA800).w,a2
lea AIZ2_BGDeformArray(pc),a4
lea ($FFFFA9C0).w,a5
lea ALZ_AIZ2_BGDeformDelta(pc),a6
- move.w ($FFFFEE90).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d0
move.w #$DF,d1
- move.w ($FFFFFE04).w,d2
+ move.w (Level_frame_counter).w,d2
asr.w #1,d2
add.w d0,d2
add.w d0,d2
moveq #$3E,d3
- move.w ($FFFFF646).w,d4
- sub.w ($FFFFEE84).w,d4
+ move.w (Water_level).w,d4
+ sub.w (Camera_Y_pos_copy).w,d4
bls.s loc_23B73E ; Same as above, if completely underwater only apply water deformation
cmp.w d1,d4
bhi.s loc_23B744 ; Same as above, if no water is showing, only do above-ground deformation
@@ -1897,12 +1897,12 @@ loc_23B6D0: jsr S3_ApplyFGAndBGDeformation(pc)
lea AIZ2_BGDeformArray(pc),a4
lea ($FFFFA9C0).w,a5
- move.w ($FFFFF646).w,d0
- sub.w ($FFFFEE84).w,d0
- add.w ($FFFFEE90).w,d0
+ move.w (Water_level).w,d0
+ sub.w (Camera_Y_pos_copy).w,d0
+ add.w (Camera_Y_pos_BG_copy).w,d0
subi.w #$DE,d1
neg.w d1
- move.w ($FFFFFE04).w,d2
+ move.w (Level_frame_counter).w,d2
asr.w #1,d2
add.w d0,d2
add.w d0,d2
@@ -1917,7 +1917,7 @@ loc_23B744: jsr S3_ApplyFGAndBGDeformation(pc)
tst.w ($FFFFEED6).w
beq.s locret_23B772
- lea ($FFFFE000).w,a1 ; This is for what I assume to be the flying battleship sequence.
+ lea (H_scroll_buffer).w,a1 ; This is for what I assume to be the flying battleship sequence.
move.w ($FFFFEE98).w,d0 ; Nullifies the top 8 tiles worth of FG waviness for this effect
neg.w d0 ; And replaces it with position data from the second BG camera.
moveq #$F,d1
@@ -2138,8 +2138,8 @@ HCZ2_BGDeformIndex: dc.b 3, $A dc.b $FF, 0
; ---------------------------------------------------------------------------
MGZ1_Deform:
- move.w ($FFFFEECE).w,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w ($FFFFEECE).w,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #2,d0
@@ -2267,13 +2267,13 @@ loc_23D1F4: move.w #$3580,d2
loc_23D1FC:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
sub.w d1,d0
add.w ($FFFFEED4).w,d0
- move.w d0,($FFFFEE90).w ; Effective BG Y is offset, but otherwise matched in ratio during the special BG events
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w ; Effective BG Y is offset, but otherwise matched in ratio during the special BG events
+ move.w (Camera_X_pos_copy).w,d0
sub.w d2,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
move.w d0,($FFFFA804).w
move.w d0,($FFFFA836).w
bra.s loc_23D24C
@@ -2283,7 +2283,7 @@ loc_23D21E: moveq #0,d1
loc_23D220:
- move.w ($FFFFEE84).w,d0 ; Get BG Y camera
+ move.w (Camera_Y_pos_copy).w,d0 ; Get BG Y camera
move.w ($FFFFEECE).w,d2 ; Get screen shake offset
sub.w d2,d0
sub.w d1,d0 ; Subtract from that and the special offset for MGZ2 events
@@ -2295,13 +2295,13 @@ loc_23D220: add.l d1,d0
swap d0
add.w d2,d0
- move.w d0,($FFFFEE90).w ; Effective BG Y is normal 3/16ths normal BG Y during normal play
- clr.w ($FFFFEE8C).w
+ move.w d0,(Camera_Y_pos_BG_copy).w ; Effective BG Y is normal 3/16ths normal BG Y during normal play
+ clr.w (Camera_X_pos_BG_copy).w
clr.w ($FFFFA804).w
clr.w ($FFFFA836).w
loc_23D24C:
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
cmpi.w #8,($FFFFEEC0).w
bne.s loc_23D25C
move.w ($FFFFEEDE).w,d0 ; If playing on the boss, use the special camera scrolling set by MGZ2's screen event
@@ -2364,7 +2364,7 @@ MGZ2_BGDeformOffset: dc.w $FFFB,$FFF8, 9, $A, 2,$FFF4, 3, $10 dc.w $10, 8, 0,$FFF8, $10, 8, 0
; ---------------------------------------------------------------------------
ICZ1_SetIntroPal:
- tst.b ($FFFFF600).w
+ tst.b (Game_mode).w
bmi.s loc_23DE92
lea ($FFFFFC62).w,a1
bsr.s sub_23DE96
@@ -2389,7 +2389,7 @@ sub_23DE96: rts
; ---------------------------------------------------------------------------
ICZ1_SetIndoorPal:
- tst.b ($FFFFF600).w
+ tst.b (Game_mode).w
bmi.s loc_23DED2
lea ($FFFFFC62).w,a1
bsr.s sub_23DED6
@@ -2416,9 +2416,9 @@ ICZ1_IntroBGDeformArray: dc.w $44, $C, $B, $D, $18, $50, 2, dc.w 8, $10, $18, $20, $28,$7FFF
; ---------------------------------------------------------------------------
ICZ2_OutDeform:
- clr.w ($FFFFEE90).w ; Effective Y is always 0
- move.w ($FFFFEE80).w,d0
- move.w ($FFFFFE04).w,d1
+ clr.w (Camera_Y_pos_BG_copy).w ; Effective Y is always 0
+ move.w (Camera_X_pos_copy).w,d0
+ move.w (Level_frame_counter).w,d1
asr.w #1,d1
add.w d1,d0
swap d0
@@ -2437,7 +2437,7 @@ loc_23E0E8: sub.l d1,d0
dbf d2,loc_23E0E8
lea ($FFFFA800).w,a1
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #1,d0
@@ -2453,7 +2453,7 @@ loc_23E0E8: add.l d1,d0
swap d0
move.w d0,(a1)+
- move.w ($FFFFFE04).w,d1
+ move.w (Level_frame_counter).w,d1
lsr.w #2,d1
andi.w #$3E,d1
lea ALZ_AIZ2_BGDeformDelta(pc),a5
@@ -2473,13 +2473,13 @@ loc_23E12E: ICZ2_InDeform:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
subi.w #$700,d0
asr.w #2,d0
addi.w #$118,d0
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
lea ($FFFFA800).w,a1
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #1,d0
@@ -2506,7 +2506,7 @@ ICZ2_InDeform: swap d0
sub.l d1,d0
swap d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
move.w d0,8(a1)
swap d0
sub.l d1,d0
@@ -2520,7 +2520,7 @@ ICZ2_InDeform: ICZ2_SetOutdoorsPal:
- tst.b ($FFFFF600).w
+ tst.b (Game_mode).w
bmi.s loc_23E1B6
lea ($FFFFFC62).w,a1
bsr.s sub_23E1BA
@@ -2547,7 +2547,7 @@ sub_23E1BA: ICZ2_SetIndoorsPal:
- tst.b ($FFFFF600).w
+ tst.b (Game_mode).w
bmi.s loc_23E1E6
lea ($FFFFFC62).w,a1
bsr.s sub_23E1EA
@@ -2575,7 +2575,7 @@ sub_23E1EA: ICZ2_SetICZ1Pal:
- tst.b ($FFFFF600).w
+ tst.b (Game_mode).w
bmi.s loc_23E21A
lea ($FFFFFC62).w,a1
bsr.s sub_23E21E
@@ -2758,13 +2758,13 @@ LBZ1_CollapseScrollSpeed: dc.w $1EE, $1F2, $C7, $1B3, $1B7, $198, $E, $1 LBZ1_Deform:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w ($FFFFEECE).w,d1
sub.w d1,d0
asr.w #4,d0
add.w d1,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #4,d0
@@ -2774,7 +2774,7 @@ LBZ1_Deform: move.w d0,($FFFFEEE2).w
swap d0
swap d1
- move.w d1,($FFFFEE8C).w
+ move.w d1,(Camera_X_pos_BG_copy).w
move.w d1,($FFFFA800).w
move.w d1,($FFFFA808).w
swap d1
@@ -2792,7 +2792,7 @@ loc_23E79A: dbf d2,loc_23E79A
moveq #$A,d0
add.w d0,($FFFFEEE2).w
- add.w d0,($FFFFEE8C).w
+ add.w d0,(Camera_X_pos_BG_copy).w
add.w d0,($FFFFA800).w
add.w d0,($FFFFA808).w
lea ($FFFFA80A).w,a1
@@ -2818,10 +2818,10 @@ LBZ2_BGUWDeformRange: dc.w 7 ; ---------------------------------------------------------------------------
Gumball_ScreenInit:
- move.w #$3FF,($FFFFEEAA).w
- move.w #$3F0,($FFFFEEAC).w
- move.w #$1C,($FFFFEEAE).w
- move.w #4,($FFFFEEA6).w
+ move.w #$3FF,(Screen_Y_wrap_value).w
+ move.w #$3F0,(Camera_Y_pos_mask).w
+ move.w #$1C,(Layout_row_index_mask).w
+ move.w #4,(Special_V_int_routine).w
move.w #$C0,d0
move.w d0,d1
jsr Gumball_VScroll(pc)
@@ -2829,11 +2829,11 @@ Gumball_ScreenInit: move.w d2,($FFFFA802).w
move.w d2,($FFFFA80A).w
move.w ($FFFFA80E).w,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFA806).w
lea Gumball_VScrollArray(pc),a4
lea ($FFFFA800).w,a5
- move.w ($FFFFEE88).w,d0
+ move.w (Camera_X_pos_rounded).w,d0
jmp S3_RefreshPlaneDirectVScroll(pc)
; ---------------------------------------------------------------------------
@@ -2849,7 +2849,7 @@ Gumball_ScreenEvent: Gumball_SetUpVScroll:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
movea.w ($FFFFFAA4).w,a5
move.w $14(a5),d1
subi.w #$C8,d1
@@ -2897,10 +2897,10 @@ Gumball_BackgroundEvent: Gumball_Deform:
- move.w #$FFE0,($FFFFEE8C).w
- move.w ($FFFFEE84).w,d0
+ move.w #$FFE0,(Camera_X_pos_BG_copy).w
+ move.w (Camera_Y_pos_copy).w,d0
asr.w #1,d0
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
asr.w #1,d0
move.w d0,($FFFFEEE2).w
rts
diff --git a/sonic3k.asm b/sonic3k.asm index c4f5c63e4..6c1442125 100644 --- a/sonic3k.asm +++ b/sonic3k.asm @@ -19,6 +19,7 @@ ; ---------------------------------------------------------------------------
cpu 68000
include "sonic3k.macrosetup.asm" ; include a few basic macros
+ include "sonic3k.constants.asm" ; include a few basic macros
include "sonic3k.macros.asm" ; include some simplifying macros and functions
; ---------------------------------------------------------------------------
; Assembly options:
@@ -39,21 +40,21 @@ StartOfROM: endif
Vectors: dc.l Vectors, EntryPoint, ErrorTrap, ErrorTrap ; 0
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 4
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 8
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 12
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 16
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 20
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 24
- dc.l $FFFFFFF6, ErrorTrap, $FFFFFFF0, ErrorTrap ; 28
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 32
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 36
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 40
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 44
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 48
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 52
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 56
- dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 60
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 4
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 8
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 12
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 16
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 20
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 24
+ dc.l H_int_jump, ErrorTrap, V_int_jump, ErrorTrap ; 28
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 32
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 36
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 40
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 44
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 48
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 52
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 56
+ dc.l ErrorTrap, ErrorTrap, ErrorTrap, ErrorTrap ; 60
Header: dc.b "SEGA GENESIS "
Copyright: dc.b "(C)SEGA 1994.JUN"
Domestic_Name: dc.b "SONIC & KNUCKLES "
@@ -84,19 +85,19 @@ ErrorTrap: nop
EntryPoint:
- lea ($FFFFFE00).w,sp
- tst.l ($A10008).l
+ lea (System_stack).w,sp
+ tst.l (HW_Port_1_Control-1).l
bne.s +
- tst.w ($A1000C).l
+ tst.w (HW_Expansion_Control-1).l
+
bne.s Init_SkipPowerOn ; in case of a soft reset
lea InitArray(pc),a5
movem.w (a5)+,d5-d7
movem.l (a5)+,a0-a4
- move.b $A10001-$A11100(a1),d0
+ move.b HW_Version-Z80_bus_request(a1),d0
andi.b #$F,d0
beq.s SkipSecurity
- move.l #'SEGA',$A14000-$A11100(a1)
+ move.l #'SEGA',Security_addr-Z80_bus_request(a1)
SkipSecurity:
move.w (a4),d0
@@ -146,7 +147,7 @@ Init_ClearVSRAM: moveq #3,d5
Init_InputPSG:
- move.b (a5)+,$C00011-$C00000(a3)
+ move.b (a5)+,PSG_input-VDP_data_port(a3)
dbf d5,Init_InputPSG
move.w d0,(a2)
movem.l (a6),d0-a6
@@ -158,11 +159,11 @@ Init_SkipPowerOn: InitArray: dc.w $8000 ; d5 - VDP command template
dc.w bytesToLcnt($10000) ; d6
dc.w $0100 ; d7 - VDP command increment
- dc.l $A00000 ; a0
- dc.l $A11100 ; a1
- dc.l $A11200 ; a2
- dc.l $C00000 ; a3
- dc.l $C00004 ; a4
+ dc.l Z80_RAM ; a0
+ dc.l Z80_bus_request ; a1
+ dc.l Z80_reset ; a2
+ dc.l VDP_data_port ; a3
+ dc.l VDP_control_port ; a4
dc.b 4 ; Command $8004 - HInt off, Enable HV counter read
dc.b $14 ; Command $8114 - Display off, VInt off, DMA on, PAL off
dc.b $30 ; Command $8230 - Scroll A Address $C000
@@ -204,13 +205,13 @@ InitArray: dc.w $8000 ; d5 - VDP command template ; ---------------------------------------------------------------------------
Test_LockOn:
- tst.w ($C00004).l
- move.w #$4EF9,($FFFFFFF0).w ; machine code for jmp
- move.l #VInt,($FFFFFFF2).w
- move.w #$4EF9,($FFFFFFF6).w
- move.l #HInt,($FFFFFFF8).w
+ tst.w (VDP_control_port).l
+ move.w #$4EF9,(V_int_jump).w ; machine code for jmp
+ move.l #VInt,(V_int_addr).w
+ move.w #$4EF9,(H_int_jump).w
+ move.l #HInt,(H_int_addr).w
-- move.w ($C00004).l,d1
+- move.w (VDP_control_port).l,d1
btst #1,d1
bne.s - ; wait till a DMA is completed
lea ($FF0000).l,a6
@@ -224,7 +225,7 @@ Test_LockOn: moveq #0,d1
bra.w SonicAndKnucklesStartup
else
- move.b #0,($A130F1).l ; disable SRAM access
+ move.b #0,(SRAM_access_flag).l ; disable SRAM access
lea (SegaHeadersText).l,a1
moveq #1,d4 ; test for both MEGA DRIVE and GENESIS
@@ -276,7 +277,7 @@ $$matchingChar: S2orS3LockedOn:
tst.w d1
beq.w SonicAndKnucklesStartup
- move.b #1,($A130F1).l
+ move.b #1,(SRAM_access_flag).l
jmp ($300000).l ; May be changed at a later date to become compatible with S2K disassembly
; ---------------------------------------------------------------------------
LockonSerialsText:
@@ -292,12 +293,12 @@ SegaHeadersText: BlueSpheresStartup:
bsr.s Test_Checksum
- move.b d4,($FFFFFF9F).w
+ move.b d4,(Blue_spheres_header_flag).w
bsr.w Init_VDP
bsr.w SndDrvInit
bsr.w Init_Controllers
move.b #0,($FFFFFFA1).w
- move.b #$2C,($FFFFF600).w
+ move.b #$2C,(Game_mode).w
bra.w GameLoop
endif
@@ -311,9 +312,9 @@ BlueSpheresStartup: Test_Checksum:
- btst #6,($A1000D).l
+ btst #6,(HW_Expansion_Control).l
beq.s +
- cmpi.l #'SM&K',($FFFFFFFC).w
+ cmpi.l #'SM&K',(Checksum_string).w
beq.w Test_Checksum_Done
+
movea.l #ErrorTrap,a6
@@ -326,16 +327,16 @@ Test_Checksum: cmp.w (Checksum).w,d7
nop
nop
- lea ($FFFFFE00).w,a6
+ lea (System_stack).w,a6
moveq #0,d7
move.w #bytesToLcnt($1F0),d6
- move.l d7,(a6)+
dbf d6,- ; clear RAM from $FFFE00 to $FFFFEF
- move.b ($A10001).l,d6
+ move.b (HW_Version).l,d6
andi.b #$C0,d6
- move.b d6,($FFFFFFD8).w
- move.l #'SM&K',($FFFFFFFC).w
+ move.b d6,(Graphics_flags).w
+ move.l #'SM&K',(Checksum_string).w
Test_Checksum_Done:
rts
@@ -345,16 +346,16 @@ Test_Checksum_Done: SonicAndKnucklesStartup:
bsr.s Test_Checksum
- move.w d1,($FFFFFFAE).w
+ move.w d1,(SK_alone_flag).w
bsr.w DetectPAL
bsr.w Init_VDP
bsr.w SndDrvInit
bsr.w Init_Controllers
jsr (SRAM_Load).l
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
GameLoop:
- move.b ($FFFFF600).w,d0
+ move.b (Game_mode).w,d0
andi.w #$7C,d0
movea.l GameModes(pc,d0.w),a0
jsr (a0)
@@ -384,7 +385,7 @@ GameModes: dc.l Sega_Screen ; 0 ; ---------------------------------------------------------------------------
JumpToSegaScreen:
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
@@ -396,18 +397,18 @@ JumpToSegaScreen: move.l (sp)+,d1
ChecksumError2_Loop:
- move.l #vdpComm($0000,CRAM,WRITE),($C00004).l
- move.w d7,($C00000).l
+ move.l #vdpComm($0000,CRAM,WRITE),(VDP_control_port).l
+ move.w d7,(VDP_data_port).l
addq.w #1,d7
bra.s ChecksumError2_Loop
; ---------------------------------------------------------------------------
; unused/dead code
; ChecksumError:
- move.l #vdpComm($0000,CRAM,WRITE),($C00004).l
+ move.l #vdpComm($0000,CRAM,WRITE),(VDP_control_port).l
moveq #$3F,d7
-- move.w #$E,($C00000).l
+- move.w #$E,(VDP_data_port).l
dbf d7,- ; fill entire CRAM with red
ChecksumError_Loop:
@@ -417,7 +418,7 @@ ChecksumError_Loop: DetectPAL:
- lea ($C00004).l,a5
+ lea (VDP_control_port).l,a5
move.w #$8174,(a5) ; VDP Command $8174 - Display on, VInt on, DMA on, PAL off
moveq #0,d0
@@ -436,7 +437,7 @@ $$waitForNextVBlank: move.w (a5),d1
andi.w #8,d1
beq.s $$waitForNextVBlank
- move.w d0,($FFFFFFD6).w ; Count cycles between VBlanks (likely to detect PAL systems and/or for other timing mechanisms
+ move.w d0,(V_blank_cycles).w ; Count cycles between VBlanks (likely to detect PAL systems and/or for other timing mechanisms
rts
; End of function DetectPAL
@@ -447,30 +448,30 @@ $$waitForNextVBlank: VInt:
nop
movem.l d0-a6,-(sp)
- tst.b ($FFFFF62A).w
+ tst.b (V_int_routine).w
beq.w VInt_0_Main
-- move.w ($C00004).l,d0
+- move.w (VDP_control_port).l,d0
andi.w #8,d0
beq.s - ; wait until vertical blanking is taking place
- move.l #vdpComm($0000,VSRAM,WRITE),($C00004).l
- move.l ($FFFFF616).w,($C00000).l
- btst #6,($FFFFFFD8).w
+ move.l #vdpComm($0000,VSRAM,WRITE),(VDP_control_port).l
+ move.l (V_scroll_value).w,(VDP_data_port).l
+ btst #6,(Graphics_flags).w
beq.s + ; branch if it's not a PAL system
move.w #$700,d0
- dbf d0,- ; otherwise, waste a bit of time here
+
- move.b ($FFFFF62A).w,d0
- move.b #0,($FFFFF62A).w
- move.w #1,($FFFFF644).w ; Allow H Interrupt code to run
+ move.b (V_int_routine).w,d0
+ move.b #0,(V_int_routine).w
+ move.w #1,(H_int_flag).w ; Allow H Interrupt code to run
andi.w #$3E,d0
move.w VInt_Table(pc,d0.w),d0
jsr VInt_Table(pc,d0.w)
VInt_Done:
- addq.l #1,($FFFFFE0C).w
+ addq.l #1,(V_int_run_count).w
movem.l (sp)+,d0-a6
rte
; ---------------------------------------------------------------------------
@@ -496,34 +497,34 @@ VInt_0: addq.w #4,sp
VInt_0_Main:
- addq.w #1,($FFFFF628).w
+ addq.w #1,(Lag_frame_count).w
; branch if a level or demo is running
- cmpi.b #$88,($FFFFF600).w
+ cmpi.b #$88,(Game_mode).w
beq.s VInt_0_Level
- cmpi.b #$8C,($FFFFF600).w
+ cmpi.b #$8C,(Game_mode).w
beq.s VInt_0_Level
- cmpi.b #8,($FFFFF600).w
+ cmpi.b #8,(Game_mode).w
beq.s VInt_0_Level
- cmpi.b #$C,($FFFFF600).w
+ cmpi.b #$C,(Game_mode).w
beq.s VInt_0_Level
bra.s VInt_Done ; otherwise, return from V-int
; ---------------------------------------------------------------------------
VInt_0_Level:
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.w VInt_0_NoWater
- move.w ($C00004).l,d0
- btst #6,($FFFFFFD8).w
+ move.w (VDP_control_port).l,d0
+ btst #6,(Graphics_flags).w
beq.s + ; branch if it isn't a PAL system
move.w #$700,d0
- dbf d0,- ; otherwise waste a bit of time here
+
- move.w #1,($FFFFF644).w
+ move.w #1,(H_int_flag).w
stopZ80
- tst.b ($FFFFF64E).w
+ tst.b (Water_full_screen_flag).w
bne.s VInt_0_FullyUnderwater
dma68kToVDP $FFFFFC00,$0000,$80,CRAM
bra.s VInt_0_Water_Cont
@@ -533,28 +534,28 @@ VInt_0_FullyUnderwater: dma68kToVDP $FFFFF080,$0000,$80,CRAM
VInt_0_Water_Cont:
- move.w ($FFFFF624).w,(a5)
+ move.w (H_int_counter_command).w,(a5)
startZ80
bra.w VInt_Done
; ---------------------------------------------------------------------------
VInt_0_NoWater:
- move.w ($C00004).l,d0
- btst #6,($FFFFFFD8).w
+ move.w (VDP_control_port).l,d0
+ btst #6,(Graphics_flags).w
beq.s + ; branch if it isn't a PAL system
move.w #$700,d0
- dbf d0,- ; otherwise, waste a bit of time here
+
- move.w #1,($FFFFF644).w
- move.w ($FFFFF624).w,($C00004).l
+ move.w #1,(H_int_flag).w
+ move.w (H_int_counter_command).w,(VDP_control_port).l
stopZ80
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s VInt_0_Done
- move.l #vdpComm($0000,VSRAM,WRITE),($C00004).l
- move.l ($FFFFF616).w,($C00000).l
- tst.w ($FFFFEF3C).w
+ move.l #vdpComm($0000,VSRAM,WRITE),(VDP_control_port).l
+ move.l (V_scroll_value).w,(VDP_data_port).l
+ tst.w (Use_normal_sprite_table).w
beq.s +
dma68kToVDP $FFFFF800,$F800,$280,VRAM
bra.s VInt_0_Done
@@ -568,9 +569,9 @@ VInt_0_Done: VInt_2:
bsr.w Do_ControllerPal
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
beq.w +
- subq.w #1,($FFFFF614).w
+ subq.w #1,(Demo_timer).w
+
rts
; ---------------------------------------------------------------------------
@@ -584,9 +585,9 @@ VInt_14: bsr.w Poll_Controllers
startZ80
+
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
beq.w +
- subq.w #1,($FFFFF614).w
+ subq.w #1,(Demo_timer).w
+
jmp (Set_Kos_Bookmark).l
; ---------------------------------------------------------------------------
@@ -594,11 +595,11 @@ VInt_14: VInt_4:
bsr.w TitleAnim_FlipBuffer
bsr.w Do_ControllerPal
- move.w ($FFFFF604).w,($FFFFF748).w
+ move.w (Ctrl_1).w,(Ctrl_1_title).w
bsr.w Process_Nem_Queue
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
beq.w +
- subq.w #1,($FFFFF614).w
+ subq.w #1,(Demo_timer).w
+
rts
; ---------------------------------------------------------------------------
@@ -609,19 +610,19 @@ VInt_6: ; ---------------------------------------------------------------------------
VInt_10:
- cmpi.b #$34,($FFFFF600).w
+ cmpi.b #$34,(Game_mode).w
beq.w VInt_1C ; If in a special stage, branch
VInt_8:
stopZ80
bsr.w Poll_Controllers
- tst.b ($FFFFF666).w
+ tst.b (Hyper_Sonic_flash_timer).w
beq.s VInt_8_NoFlash
; flash screen white when Hyper Sonic's double jump move is used
- subq.b #1,($FFFFF666).w
- lea ($C00000).l,a6
- move.l #vdpComm($0000,CRAM,WRITE),($C00004).l
+ subq.b #1,(Hyper_Sonic_flash_timer).w
+ lea (VDP_data_port).l,a6
+ move.l #vdpComm($0000,CRAM,WRITE),(VDP_control_port).l
move.w #$EEE,d0
move.w #$1F,d1
@@ -636,25 +637,25 @@ VInt_8: ; ---------------------------------------------------------------------------
VInt_8_NoFlash:
- tst.b ($FFFFF64E).w
+ tst.b (Water_full_screen_flag).w
bne.s +
dma68kToVDP $FFFFFC00,$0000,$80,CRAM
bra.s ++
+
dma68kToVDP $FFFFF080,$0000,$80,CRAM
+
- move.w ($FFFFF624).w,(a5)
+ move.w (H_int_counter_command).w,(a5)
VInt_8_Cont:
dma68kToVDP $FFFFE000,$F000,$380,VRAM
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s ++
tst.w ($FFFFEF3E).w
beq.s +
clr.w ($FFFFEF3E).w
- eori.w #$FFFF,($FFFFEF3C).w ; a not.w would've accomplished the same thing ...
+ eori.w #$FFFF,(Use_normal_sprite_table).w ; a not.w would've accomplished the same thing ...
+
- tst.w ($FFFFEF3C).w
+ tst.w (Use_normal_sprite_table).w
bne.s +
dma68kToVDP $FF7880,$F800,$280,VRAM
bra.s ++
@@ -662,16 +663,16 @@ VInt_8_Cont: dma68kToVDP $FFFFF800,$F800,$280,VRAM
+
bsr.w Process_DMA_Queue
- move.l ($FFFFF61E).w,($FFFFEE3A).w
+ move.l (V_scroll_value_P2).w,(V_scroll_value_P2_copy).w
jsr (SpecialVInt_Function).l
jsr (VInt_DrawLevel).l
startZ80
move #$2300,sr
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.s +
- cmpi.b #92,($FFFFF625).w ; is H-int occuring on or below line 92?
+ cmpi.b #92,(H_int_counter).w ; is H-int occuring on or below line 92?
bcc.s + ; if it is, branch
- move.b #1,($FFFFF64F).w
+ move.b #1,(Do_Updates_in_H_int).w
jmp (Set_Kos_Bookmark).l
+
bsr.s Do_Updates
@@ -682,11 +683,11 @@ VInt_8_Cont: Do_Updates:
jsr (UpdateHUD).l
- move.w #0,($FFFFF628).w
+ move.w #0,(Lag_frame_count).w
bsr.w Process_Nem_Queue_2
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
beq.w +
- subq.w #1,($FFFFF614).w
+ subq.w #1,(Demo_timer).w
+
rts
; End of function Do_Updates
@@ -696,23 +697,23 @@ Do_Updates: VInt_A_C:
stopZ80
bsr.w Poll_Controllers
- tst.b ($FFFFF64E).w
+ tst.b (Water_full_screen_flag).w
bne.s +
dma68kToVDP $FFFFFC00,$0000,$80,CRAM
bra.s ++
+
dma68kToVDP $FFFFF080,$0000,$80,CRAM
+
- move.w ($FFFFF624).w,(a5)
+ move.w (H_int_counter_command).w,(a5)
dma68kToVDP $FFFFE000,$F000,$380,VRAM
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s ++
tst.w ($FFFFEF3E).w
beq.s +
clr.w ($FFFFEF3E).w
- eori.w #$FFFF,($FFFFEF3C).w
+ eori.w #$FFFF,(Use_normal_sprite_table).w
+
- tst.w ($FFFFEF3C).w
+ tst.w (Use_normal_sprite_table).w
bne.s +
dma68kToVDP $FF7880,$F800,$280,VRAM
bra.s ++
@@ -720,7 +721,7 @@ VInt_A_C: dma68kToVDP $FFFFF800,$F800,$280,VRAM
+
bsr.w Process_DMA_Queue
- move.l ($FFFFF61E).w,($FFFFEE3A).w
+ move.l (V_scroll_value_P2).w,(V_scroll_value_P2_copy).w
startZ80
bsr.w Process_Nem_Queue
jmp (Set_Kos_Bookmark).l
@@ -728,13 +729,13 @@ VInt_A_C: VInt_E:
bsr.w Do_ControllerPal
- move.b #$E,($FFFFF62A).w
+ move.b #$E,(V_int_routine).w
rts
; ---------------------------------------------------------------------------
VInt_12:
bsr.w Do_ControllerPal
- move.w ($FFFFF624).w,(a5)
+ move.w (H_int_counter_command).w,(a5)
bra.w Process_Nem_Queue
; ---------------------------------------------------------------------------
@@ -766,20 +767,20 @@ VInt_16: bsr.w Process_DMA_Queue
startZ80
bsr.w Process_Nem_Queue
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
beq.w +
- subq.w #1,($FFFFF614).w
+ subq.w #1,(Demo_timer).w
+
jmp (Set_Kos_Bookmark).l
; ---------------------------------------------------------------------------
VInt_1A:
bsr.w Do_ControllerPal
- move.w ($FFFFF604).w,($FFFFF748).w
+ move.w (Ctrl_1).w,(Ctrl_1_title).w
bsr.w Process_Nem_Queue
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
beq.w +
- subq.w #1,($FFFFF614).w
+ subq.w #1,(Demo_timer).w
+
jmp (Set_Kos_Bookmark).l
; ---------------------------------------------------------------------------
@@ -788,9 +789,9 @@ VInt_1C: bsr.w Rotate_SSPal
bsr.w Do_ControllerPal
bsr.w Update_SSMap
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
beq.w +
- subq.w #1,($FFFFF614).w
+ subq.w #1,(Demo_timer).w
+
jmp (Set_Kos_Bookmark).l
; ---------------------------------------------------------------------------
@@ -808,7 +809,7 @@ VInt_1E: Do_ControllerPal:
stopZ80
bsr.w Poll_Controllers
- tst.b ($FFFFF64E).w
+ tst.b (Water_full_screen_flag).w
bne.s +
dma68kToVDP $FFFFFC00,$0000,$80,CRAM
bra.s ++
@@ -823,30 +824,30 @@ Do_ControllerPal: ; End of function Do_ControllerPal
; ---------------------------------------------------------------------------
- jmp ($FFFFFFF6).w
+ jmp (H_int_jump).w
; ---------------------------------------------------------------------------
; Horizontal interrupt handler for Competition Mode
; ---------------------------------------------------------------------------
HInt:
- tst.w ($FFFFF644).w
+ tst.w (H_int_flag).w
beq.w HInt_Done
- move.w #0,($FFFFF644).w
+ move.w #0,(H_int_flag).w
move.l a5,-(sp)
move.l d0,-(sp)
-- move.w ($C00004).l,d0
+- move.w (VDP_control_port).l,d0
andi.w #4,d0 ; is horizontal blanking occuring?
beq.s - ; if not, wait until it is
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
andi.b #$BF,d0
- move.w d0,($C00004).l ; blank the display
- move.l #vdpComm($0000,VSRAM,WRITE),($C00004).l
- move.l ($FFFFEE3A).w,($C00000).l
+ move.w d0,(VDP_control_port).l ; blank the display
+ move.l #vdpComm($0000,VSRAM,WRITE),(VDP_control_port).l
+ move.l (V_scroll_value_P2_copy).w,(VDP_data_port).l
stopZ80
- tst.w ($FFFFEF3C).w
+ tst.w (Use_normal_sprite_table).w
beq.s +
dma68kToVDP $FF7B00,$F800,$280,VRAM
bra.s ++
@@ -855,12 +856,12 @@ HInt: +
startZ80
-- move.w ($C00004).l,d0
+- move.w (VDP_control_port).l,d0
andi.w #4,d0 ; is a horizontal blank occuring?
beq.s - ; if not, wait
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l ; enable display
+ move.w d0,(VDP_control_port).l ; enable display
move.l (sp)+,d0
movea.l (sp)+,a5
@@ -872,20 +873,20 @@ HInt_Done: ; ---------------------------------------------------------------------------
HInt3:
- tst.w ($FFFFF644).w
+ tst.w (H_int_flag).w
beq.s HInt3_Done
- move.w #0,($FFFFF644).w
+ move.w #0,(H_int_flag).w
movem.l d0-d1/a0-a2,-(sp)
- lea ($C00000).l,a1
- move.w #$8AFF,4(a1) ; Reset HInt timing
+ lea (VDP_data_port).l,a1
+ move.w #$8AFF,VDP_control_port-VDP_data_port(a1) ; Reset HInt timing
stopZ80
- movea.l ($FFFFF62E).w,a2
+ movea.l (Water_palette_data_addr).w,a2
moveq #$C,d0
- dbf d0,- ; waste a few cycles here
move.w (a2)+,d1
- move.b ($FFFFF625).w,d0
+ move.b (H_int_counter).w,d0
subi.b #200,d0 ; is H-int occuring below line 200?
bcs.s $$transferColors ; if it is, branch
sub.b d0,d1
@@ -893,7 +894,7 @@ HInt3: $$transferColors:
move.w (a2)+,d0
- lea ($FFFFF080).w,a0
+ lea (Water_palette).w,a0
adda.w d0,a0
addi.w #$C000,d0
swap d0
@@ -911,7 +912,7 @@ $$wasteSomeCycles: $$skipTransfer:
startZ80
movem.l (sp)+,d0-d1/a0-a2
- tst.b ($FFFFF64F).w
+ tst.b (Do_Updates_in_H_int).w
bne.s HInt3_Do_Updates
HInt3_Done:
@@ -919,7 +920,7 @@ HInt3_Done: ; ---------------------------------------------------------------------------
HInt3_Do_Updates:
- clr.b ($FFFFF64F).w
+ clr.b (Do_Updates_in_H_int).w
movem.l d0-a6,-(sp)
jsr (Do_Updates).l
movem.l (sp)+,d0-a6
@@ -931,20 +932,20 @@ HInt3_Do_Updates: ; ---------------------------------------------------------------------------
HInt5:
- tst.w ($FFFFF644).w ; Seems to be a compliment to HInt 3, but doesn't seem to be usedj
+ tst.w (H_int_flag).w ; Seems to be a compliment to HInt 3, but doesn't seem to be usedj
beq.s HInt5_Done
- move.w #0,($FFFFF644).w
+ move.w #0,(H_int_flag).w
movem.l d0-d1/a0-a2,-(sp)
- lea ($C00000).l,a1
- move.w #$8AFF,4(a1)
+ lea (VDP_data_port).l,a1
+ move.w #$8AFF,VDP_control_port-VDP_data_port(a1)
stopZ80
- movea.l ($FFFFF62E).w,a2
+ movea.l (Water_palette_data_addr).w,a2
moveq #$C,d0
- dbf d0,-
move.w (a2)+,d1
- move.b ($FFFFF625).w,d0
+ move.b (H_int_counter).w,d0
subi.b #200,d0
bcs.s $$transferColors
sub.b d0,d1
@@ -952,7 +953,7 @@ HInt5: $$transferColors:
move.w (a2)+,d0
- lea ($FFFFFC00).w,a0
+ lea (Normal_palette).w,a0
adda.w d0,a0
addi.w #$C000,d0
swap d0
@@ -970,7 +971,7 @@ $$wasteSomeCycles: $$skipTransfer:
startZ80
movem.l (sp)+,d0-d1/a0-a2
- tst.b ($FFFFF64F).w
+ tst.b (Do_Updates_in_H_int).w
bne.s HInt5_Do_Updates
HInt5_Done:
@@ -978,7 +979,7 @@ HInt5_Done: ; ---------------------------------------------------------------------------
HInt5_Do_Updates:
- clr.b ($FFFFF64F).w
+ clr.b (Do_Updates_in_H_int).w
movem.l d0-a6,-(sp)
jsr (Do_Updates).l
movem.l (sp)+,d0-a6
@@ -989,20 +990,20 @@ HInt5_Do_Updates: ; ---------------------------------------------------------------------------
HInt4:
- tst.w ($FFFFF644).w
+ tst.w (H_int_flag).w
beq.s Hint4_Done
- move.w #0,($FFFFF644).w
+ move.w #0,(H_int_flag).w
movem.l d0-d1/a0-a2,-(sp)
- lea ($C00000).l,a1
- move.w #$8AFF,4(a1)
+ lea (VDP_data_port).l,a1
+ move.w #$8AFF,VDP_control_port-VDP_data_port(a1)
stopZ80
- movea.l ($FFFFF62E).w,a2
+ movea.l (Water_palette_data_addr).w,a2
moveq #$1B,d0
- dbf d0,-
move.w (a2)+,d1
- move.b ($FFFFF625).w,d0
+ move.b (H_int_counter).w,d0
subi.b #200,d0
bcs.s $$transferColors
sub.b d0,d1
@@ -1010,7 +1011,7 @@ HInt4: $$transferColors:
move.w (a2)+,d0
- lea ($FFFFF080).w,a0
+ lea (Water_palette).w,a0
adda.w d0,a0
addi.w #$C000,d0
swap d0
@@ -1027,7 +1028,7 @@ $$wasteSomeCycles: $$skipTransfer:
startZ80
movem.l (sp)+,d0-d1/a0-a2
- tst.b ($FFFFF64F).w
+ tst.b (Do_Updates_in_H_int).w
bne.s HInt4_Do_Updates
Hint4_Done:
@@ -1035,7 +1036,7 @@ Hint4_Done: ; ---------------------------------------------------------------------------
HInt4_Do_Updates:
- clr.b ($FFFFF64F).w
+ clr.b (Do_Updates_in_H_int).w
movem.l d0-a6,-(sp)
jsr (Do_Updates).l
movem.l (sp)+,d0-a6
@@ -1046,20 +1047,20 @@ HInt4_Do_Updates: ; ---------------------------------------------------------------------------
HInt_6:
- tst.w ($FFFFF644).w
+ tst.w (H_int_flag).w
beq.s HInt6_Done
- move.w #0,($FFFFF644).w
+ move.w #0,(H_int_flag).w
movem.l d0-d1/a0-a2,-(sp)
- lea ($C00000).l,a1
- move.w #$8AFF,4(a1)
+ lea (VDP_data_port).l,a1
+ move.w #$8AFF,VDP_control_port-VDP_data_port(a1)
stopZ80
- movea.l ($FFFFF62E).w,a2
+ movea.l (Water_palette_data_addr).w,a2
moveq #$1B,d0
- dbf d0,-
move.w (a2)+,d1
- move.b ($FFFFF625).w,d0
+ move.b (H_int_counter).w,d0
subi.b #200,d0
bcs.s $$transferColors
sub.b d0,d1
@@ -1067,7 +1068,7 @@ HInt_6: $$transferColors:
move.w (a2)+,d0
- lea ($FFFFFC00).w,a0
+ lea (Normal_palette).w,a0
adda.w d0,a0
addi.w #$C000,d0
swap d0
@@ -1084,7 +1085,7 @@ $$wasteSomeCycles: $$skipTransfer:
startZ80
movem.l (sp)+,d0-d1/a0-a2
- tst.b ($FFFFF64F).w
+ tst.b (Do_Updates_in_H_int).w
bne.s HInt6_Do_Updates
HInt6_Done:
@@ -1092,7 +1093,7 @@ HInt6_Done: ; ---------------------------------------------------------------------------
HInt6_Do_Updates:
- clr.b ($FFFFF64F).w
+ clr.b (Do_Updates_in_H_int).w
movem.l d0-a6,-(sp)
jsr (Do_Updates).l
movem.l (sp)+,d0-a6
@@ -1104,20 +1105,20 @@ HInt6_Do_Updates: HInt2:
move #$2700,sr
- tst.w ($FFFFF644).w
+ tst.w (H_int_flag).w
beq.s HInt2_Done
- move.w #0,($FFFFF644).w
+ move.w #0,(H_int_flag).w
movem.l a0-a1,-(sp)
- lea ($C00000).l,a1
- move.w #$8ADF,4(a1)
- lea ($FFFFF080).w,a0
+ lea (VDP_data_port).l,a1
+ move.w #$8ADF,VDP_control_port-VDP_data_port(a1)
+ lea (Water_palette).w,a0
move.l #vdpComm($0000,CRAM,WRITE),4(a1)
rept 32
move.l (a0)+,(a1)
endm
movem.l (sp)+,a0-a1
- tst.b ($FFFFF64F).w
+ tst.b (Do_Updates_in_H_int).w
bne.s HInt2_Do_Updates
HInt2_Done:
@@ -1125,7 +1126,7 @@ HInt2_Done: ; ---------------------------------------------------------------------------
HInt2_Do_Updates:
- clr.b ($FFFFF64F).w
+ clr.b (Do_Updates_in_H_int).w
movem.l d0-a6,-(sp)
bsr.w Do_Updates
movem.l (sp)+,d0-a6
@@ -1137,9 +1138,9 @@ HInt2_Do_Updates: Init_Controllers:
stopZ80
moveq #$40,d0
- move.b d0,($A10009).l
- move.b d0,($A1000B).l
- move.b d0,($A1000D).l
+ move.b d0,(HW_Port_1_Control).l
+ move.b d0,(HW_Port_2_Control).l
+ move.b d0,(HW_Expansion_Control).l
startZ80
rts
; End of function Init_Controllers
@@ -1149,8 +1150,8 @@ Init_Controllers: Poll_Controllers:
- lea ($FFFFF604).w,a0
- lea ($A10003).l,a1
+ lea (Ctrl_1).w,a0
+ lea (HW_Port_1_Data).l,a1
bsr.s Poll_Controller ; poll first controller
addq.w #2,a1 ; poll second controller
; End of function Poll_Controllers
@@ -1186,8 +1187,8 @@ Poll_Controller: Init_VDP:
- lea ($C00004).l,a0
- lea ($C00000).l,a1
+ lea (VDP_control_port).l,a0
+ lea (VDP_data_port).l,a1
lea (VDP_register_values).l,a2
moveq #18,d7
@@ -1195,19 +1196,19 @@ $$setRegisters: move.w (a2)+,(a0)
dbf d7,$$setRegisters
move.w (VDP_register_values+2).l,d0 ; get command for register #1
- move.w d0,($FFFFF60E).w ; and store it in RAM (for easy display blanking/enabling)
- move.w #$8ADF,($FFFFF624).w
+ move.w d0,(VDP_reg_1_command).w ; and store it in RAM (for easy display blanking/enabling)
+ move.w #$8ADF,(H_int_counter_command).w
moveq #0,d0
- move.l #vdpComm($0000,VSRAM,WRITE),($C00004).l
+ move.l #vdpComm($0000,VSRAM,WRITE),(VDP_control_port).l
move.w d0,(a1)
move.w d0,(a1)
- move.l #vdpComm($0000,CRAM,WRITE),($C00004).l
+ move.l #vdpComm($0000,CRAM,WRITE),(VDP_control_port).l
move.w #$3F,d7
$$clearCRAM:
move.w d0,(a1)
dbf d7,$$clearCRAM
- clr.l ($FFFFF616).w
+ clr.l (V_scroll_value).w
clr.l ($FFFFF61A).w
move.l d1,-(sp)
dmaFillVRAM 0,$0000,$10000 ; clear entire VRAM
@@ -1244,7 +1245,7 @@ Clear_DisplayData: stopZ80
dmaFillVRAM 0,$0000,$40
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s Clear_DisplayData_No2P
dmaFillVRAM 0,$8000,$4000
bra.s Clear_DisplayData_Cont
@@ -1255,7 +1256,7 @@ Clear_DisplayData_No2P: dmaFillVRAM 0,$E000,$1000 ; clear plane B PNT
Clear_DisplayData_Cont:
- clr.l ($FFFFF616).w
+ clr.l (V_scroll_value).w
clr.l ($FFFFF61A).w
clearRAM $FFFFF800,$284
clearRAM $FFFFE000,$404
@@ -1265,15 +1266,16 @@ Clear_DisplayData_Cont: ; End of function Clear_DisplayData
+
; =============== S U B R O U T I N E =======================================
SndDrvInit:
nop
- move.w #$100,($A11100).l
- move.w #$100,($A11200).l ; release Z80 reset
+ move.w #$100,(Z80_bus_request).l
+ move.w #$100,(Z80_reset).l ; release Z80 reset
lea (Z80_Snd_Driver).l,a0
- lea ($A00000).l,a1
+ lea (Z80_RAM).l,a1
bsr.w Kos_Decomp
if Sonic3_Complete=0
lea (Z80_Snd_Driver2).l,a0
@@ -1287,16 +1289,16 @@ SndDrvInit: - move.b (a0)+,(a1)+
dbf d0,-
- btst #6,($FFFFFFD8).w
+ btst #6,(Graphics_flags).w
beq.s +
move.b #1,($A01C02).l ; set PAL mode flag
+
- move.w #0,($A11200).l ; reset Z80
+ move.w #0,(Z80_reset).l ; reset Z80
nop
nop
nop
nop
- move.w #$100,($A11200).l ; release reset
+ move.w #$100,(Z80_reset).l ; release reset
startZ80
rts
; End of function SndDrvInit
@@ -1367,58 +1369,58 @@ Change_Music_Tempo: Pause_Game:
nop
- tst.w ($FFFFEF72).w
+ tst.w (Ending_running_flag).w
beq.s Pause_Main
rts
; ---------------------------------------------------------------------------
Pause_Main:
- tst.b ($FFFFFE12).w
+ tst.b (Life_count).w
beq.w Pause_Unpause
- tst.w ($FFFFF63A).w
+ tst.w (Game_paused).w
bne.s +
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.b #$80,d0 ; is Start pressed?
beq.w Pause_NoPause ; if not, branch
+
- move.w #1,($FFFFF63A).w
+ move.w #1,(Game_paused).w
stopZ80
move.b #1,($A01C10).l ; Pause the music
startZ80
Pause_Loop:
- move.b #$10,($FFFFF62A).w
+ move.b #$10,(V_int_routine).w
bsr.w Wait_VSync
- tst.b ($FFFFFFE1).w
+ tst.b (Slow_motion_flag).w
beq.s Pause_NoSlowMo
- btst #6,($FFFFF605).w
+ btst #6,(Ctrl_1_pressed).w
beq.s Pause_ChkFrameAdvance ; branch if A isn't pressed
- move.b #4,($FFFFF600).w
+ move.b #4,(Game_mode).w
nop
bra.s Pause_ResumeMusic
; ---------------------------------------------------------------------------
Pause_ChkFrameAdvance:
- btst #4,($FFFFF604).w
+ btst #4,(Ctrl_1).w
bne.s Pause_FrameAdvance ; branch if B is held
- btst #5,($FFFFF605).w
+ btst #5,(Ctrl_1_pressed).w
bne.s Pause_FrameAdvance ; branch if C is pressed
Pause_NoSlowMo:
- cmpi.b #$E,($FFFFFE10).w
+ cmpi.b #$E,(Current_zone).w
bcs.s Pause_ChkStart ; if the zone is below ALZ
- cmpi.b #$12,($FFFFFE10).w
+ cmpi.b #$12,(Current_zone).w
bhi.s Pause_ChkStart ; if the zone is above EMZ
- tst.b ($FFFFFF8B).w
+ tst.b (Competition_mode_type).w
bpl.s Pause_ChkStart
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s Pause_ChkStart
- move.b #$C0,($FFFFF600).w ; If in time attack mode, go back to 2P menu if B is pressed
+ move.b #$C0,(Game_mode).w ; If in time attack mode, go back to 2P menu if B is pressed
bra.s Pause_ResumeMusic
; ---------------------------------------------------------------------------
Pause_ChkStart:
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.b #$80,d0
beq.s Pause_Loop
@@ -1428,14 +1430,14 @@ Pause_ResumeMusic: startZ80
Pause_Unpause:
- move.w #0,($FFFFF63A).w
+ move.w #0,(Game_paused).w
Pause_NoPause:
rts
; ---------------------------------------------------------------------------
Pause_FrameAdvance:
- move.w #1,($FFFFF63A).w
+ move.w #1,(Game_paused).w
stopZ80
move.b #$80,($A01C10).l ; Unpause music
startZ80
@@ -1455,10 +1457,10 @@ Pause_FrameAdvance: Plane_Map_To_VRAM:
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
move.l #$800000,d4 ; row increment value
-- move.l d0,4(a6)
+- move.l d0,VDP_control_port-VDP_data_port(a6)
move.w d1,d3
- move.w (a1)+,(a6)
@@ -1481,10 +1483,10 @@ Plane_Map_To_VRAM: Plane_Map_To_VRAM_2:
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
move.l #$1000000,d4 ; row increment value
-- move.l d0,4(a6)
+- move.l d0,VDP_control_port-VDP_data_port(a6)
move.w d1,d3
- move.w (a1)+,(a6)
@@ -1542,7 +1544,7 @@ Add_To_DMA_Queue2: Add_To_DMA_Queue_Do:
endif
- movea.l ($FFFFFBFC).w,a1
+ movea.l (DMA_queue_slot).w,a1
cmpa.w #$FBFC,a1 ; is the queue full?
beq.s Add_To_DMA_Queue_Done ; if it is, return
@@ -1575,7 +1577,7 @@ Add_To_DMA_Queue_Do: ori.l #vdpComm($0000,VRAM,DMA),d2
move.l d2,(a1)+ ; command to specify transfer destination and begin DMA
- move.l a1,($FFFFFBFC).w ; set new free slot address
+ move.l a1,(DMA_queue_slot).w ; set new free slot address
cmpa.w #$FBFC,a1 ; has the end of the queue been reached?
beq.s Add_To_DMA_Queue_Done ; if it has, branch
move.w #0,(a1) ; place stop token at the end of the queue
@@ -1589,8 +1591,8 @@ Add_To_DMA_Queue_Done: Process_DMA_Queue:
- lea ($C00004).l,a5
- lea ($FFFFFB00).w,a1
+ lea (VDP_control_port).l,a5
+ lea (DMA_queue).w,a1
$$loop:
move.w (a1)+,d0 ; has a stop token been encountered?
@@ -1606,8 +1608,8 @@ $$loop: bne.s $$loop ; if not, loop
$$stop:
- move.w #0,($FFFFFB00).w
- move.l #$FFFFFB00,($FFFFFBFC).w
+ move.w #0,(DMA_queue).w
+ move.l #$FFFFFB00,(DMA_queue_slot).w
rts
; End of function Process_DMA_Queue
@@ -1626,7 +1628,7 @@ $$stop: Nem_Decomp:
movem.l d0-a1/a3-a5,-(sp)
lea (Nem_PCD_WriteRowToVDP).l,a3
- lea ($C00000).l,a4 ; write all rows to the VDP data port
+ lea (VDP_data_port).l,a4 ; write all rows to the VDP data port
bra.s Nem_Decomp_Main
; End of function Nem_Decomp
@@ -1653,7 +1655,7 @@ Nem_Decomp_To_RAM: Nem_Decomp_Main:
- lea ($FFFFAA00).w,a1
+ lea (Nem_code_table).w,a1
move.w (a0)+,d2 ; get number of patterns
lsl.w #1,d2
bcc.s + ; branch if the sign bit isn't set
@@ -1855,7 +1857,7 @@ Load_PLC: add.w d0,d0
move.w (a1,d0.w),d0
lea (a1,d0.w),a1
- lea ($FFFFF680).w,a2
+ lea (Nem_decomp_queue).w,a2
$$findFreeSlot:
tst.l (a2) ; is the current slot in the queue free?
@@ -1887,7 +1889,7 @@ $$done: Load_PLC_Raw:
- lea ($FFFFF680).w,a2
+ lea (Nem_decomp_queue).w,a2
$$findFreeSlot:
tst.l (a2)
@@ -1925,7 +1927,7 @@ Load_PLC_2: move.w (a1,d0.w),d0
lea (a1,d0.w),a1
bsr.s Clear_Nem_Queue
- lea ($FFFFF680).w,a2
+ lea (Nem_decomp_queue).w,a2
move.w (a1)+,d0
bmi.s $$done
@@ -1947,7 +1949,7 @@ $$done: Clear_Nem_Queue:
- lea ($FFFFF680).w,a2
+ lea (Nem_decomp_queue).w,a2
moveq #bytesToLcnt($80),d0 ; clear till the end of Nem_decomp_vars
- clr.l (a2)+
@@ -1963,14 +1965,14 @@ Clear_Nem_Queue: Process_Nem_Queue_Init:
- tst.l ($FFFFF680).w
+ tst.l (Nem_decomp_queue).w
beq.s ++ ; return if the queue is empty
- tst.w ($FFFFF6F8).w
+ tst.w (Nem_patterns_left).w
bne.s ++ ; return if processing of a previous piece is still going on
- movea.l ($FFFFF680).w,a0
+ movea.l (Nem_decomp_queue).w,a0
lea (Nem_PCD_WriteRowToVDP).l,a3
nop
- lea ($FFFFAA00).w,a1
+ lea (Nem_code_table).w,a1
move.w (a0)+,d2
bpl.s +
adda.w #Nem_PCD_WriteRowToVDP_XOR-Nem_PCD_WriteRowToVDP,a3
@@ -1982,14 +1984,14 @@ Process_Nem_Queue_Init: move.b (a0)+,d5
moveq #$10,d6
moveq #0,d0
- move.l a0,($FFFFF680).w
- move.l a3,($FFFFF6E0).w
- move.l d0,($FFFFF6E4).w
- move.l d0,($FFFFF6E8).w
- move.l d0,($FFFFF6EC).w
- move.l d5,($FFFFF6F0).w
- move.l d6,($FFFFF6F4).w
- move.w d2,($FFFFF6F8).w
+ move.l a0,(Nem_decomp_queue).w
+ move.l a3,(Nem_decomp_vars).w
+ move.l d0,(Nem_repeat_count).w
+ move.l d0,(Nem_palette_index).w
+ move.l d0,(Nem_previous_row).w
+ move.l d5,(Nem_data_word).w
+ move.l d6,(Nem_shift_value).w
+ move.w d2,(Nem_patterns_left).w
+
rts
; End of function Process_Nem_Queue_Init
@@ -2003,12 +2005,12 @@ Process_Nem_Queue_Init: Process_Nem_Queue:
- tst.w ($FFFFF6F8).w
+ tst.w (Nem_patterns_left).w
beq.w Process_Nem_Queue_Done
- move.w #6,($FFFFF6FA).w ; decompress 6 patterns per frame
+ move.w #6,(Nem_frame_patterns_left).w ; decompress 6 patterns per frame
moveq #0,d0
- move.w ($FFFFF684).w,d0
- addi.w #6*$20,($FFFFF684).w ; increment by 6 patterns' worth of data
+ move.w (Nem_decomp_destination).w,d0
+ addi.w #6*$20,(Nem_decomp_destination).w ; increment by 6 patterns' worth of data
bra.s Process_Nem_Queue_Main
; End of function Process_Nem_Queue
@@ -2021,12 +2023,12 @@ Process_Nem_Queue: Process_Nem_Queue_2:
- tst.w ($FFFFF6F8).w
+ tst.w (Nem_patterns_left).w
beq.s Process_Nem_Queue_Done
- move.w #3,($FFFFF6FA).w ; decompress 3 patterns per frame
+ move.w #3,(Nem_frame_patterns_left).w ; decompress 3 patterns per frame
moveq #0,d0
- move.w ($FFFFF684).w,d0
- addi.w #3*$20,($FFFFF684).w ; increment by 3 patterns' worth of data
+ move.w (Nem_decomp_destination).w,d0
+ addi.w #3*$20,(Nem_decomp_destination).w ; increment by 3 patterns' worth of data
; End of function Process_Nem_Queue_2
; ---------------------------------------------------------------------------
@@ -2037,36 +2039,36 @@ Process_Nem_Queue_2: Process_Nem_Queue_Main:
- lea ($C00004).l,a4
+ lea (VDP_control_port).l,a4
lsl.l #2,d0
lsr.w #2,d0
ori.w #$4000,d0
swap d0 ; d0 = VDP command word to write to VRAM destination
move.l d0,(a4)
- subq.w #4,a4 ; a4 = $C00000
- movea.l ($FFFFF680).w,a0
- movea.l ($FFFFF6E0).w,a3
- move.l ($FFFFF6E4).w,d0
- move.l ($FFFFF6E8).w,d1
- move.l ($FFFFF6EC).w,d2
- move.l ($FFFFF6F0).w,d5
- move.l ($FFFFF6F4).w,d6
- lea ($FFFFAA00).w,a1
+ subq.w #VDP_control_port-VDP_data_port,a4 ; a4 = VDP_data_port
+ movea.l (Nem_decomp_queue).w,a0
+ movea.l (Nem_decomp_vars).w,a3
+ move.l (Nem_repeat_count).w,d0
+ move.l (Nem_palette_index).w,d1
+ move.l (Nem_previous_row).w,d2
+ move.l (Nem_data_word).w,d5
+ move.l (Nem_shift_value).w,d6
+ lea (Nem_code_table).w,a1
Process_Nem_Queue_Loop:
movea.w #8,a5 ; decompress all 8 rows in a pattern
bsr.w Nem_PCD_NewRow
- subq.w #1,($FFFFF6F8).w ; have all the patterns been decompressed?
+ subq.w #1,(Nem_patterns_left).w ; have all the patterns been decompressed?
beq.s Process_Nem_Queue_ShiftUp ; if yes, shift all other queue entries up
- subq.w #1,($FFFFF6FA).w ; has the current frame's worth of patterns been decompressed?
+ subq.w #1,(Nem_frame_patterns_left).w ; has the current frame's worth of patterns been decompressed?
bne.s Process_Nem_Queue_Loop ; if not, loop
- move.l a0,($FFFFF680).w
- move.l a3,($FFFFF6E0).w
- move.l d0,($FFFFF6E4).w
- move.l d1,($FFFFF6E8).w
- move.l d2,($FFFFF6EC).w
- move.l d5,($FFFFF6F0).w
- move.l d6,($FFFFF6F4).w
+ move.l a0,(Nem_decomp_queue).w
+ move.l a3,(Nem_decomp_vars).w
+ move.l d0,(Nem_repeat_count).w
+ move.l d1,(Nem_palette_index).w
+ move.l d2,(Nem_previous_row).w
+ move.l d5,(Nem_data_word).w
+ move.l d6,(Nem_shift_value).w
Process_Nem_Queue_Done:
rts
@@ -2077,7 +2079,7 @@ Process_Nem_Queue_Done: ; b) it doesn't actually mark the last slot in the queue as clear
; so basically don't store an entry in the last slot unless you want the game to screw up to high heaven
Process_Nem_Queue_ShiftUp:
- lea ($FFFFF680).w,a0
+ lea (Nem_decomp_queue).w,a0
moveq #$15,d0
- move.l 6(a0),(a0)+
@@ -2110,7 +2112,7 @@ $$decompPieces: lsr.w #2,d0
ori.w #$4000,d0
swap d0 ; d0 = VDP command to write to destination
- move.l d0,($C00004).l
+ move.l d0,(VDP_control_port).l
bsr.w Nem_Decomp
dbf d1,$$decompPieces
rts
@@ -2484,7 +2486,7 @@ Kos_Decomp_Done: Queue_Kos_Module:
- lea ($FFFFFF64).w,a2
+ lea (Kos_module_queue).w,a2
tst.l (a2) ; is the first slot free?
beq.s Process_Kos_Module_Queue_Init ; if it is, branch
addq.w #6,a2 ; otherwise, check next slot
@@ -2519,16 +2521,16 @@ Process_Kos_Module_Queue_Init: move.w d3,d0
rol.w #5,d0
andi.w #$1F,d0 ; get number of complete modules
- move.b d0,($FFFFFF60).w
+ move.b d0,(Kos_modules_left).w
andi.l #$7FF,d3 ; get size of last module in words
bne.s + ; branch if it's non-zero
- subq.b #1,($FFFFFF60).w ; otherwise decrement the number of modules
+ subq.b #1,(Kos_modules_left).w ; otherwise decrement the number of modules
move.l #$800,d3 ; and take the size of the last module to be $800 words
+
- move.w d3,($FFFFFF62).w
- move.w d2,($FFFFFF68).w
- move.l a1,($FFFFFF64).w
- addq.b #1,($FFFFFF60).w ; store total number of modules
+ move.w d3,(Kos_last_module_size).w
+ move.w d2,(Kos_module_destination).w
+ move.l a1,(Kos_module_queue).w
+ addq.b #1,(Kos_modules_left).w ; store total number of modules
rts
; End of function Process_Kos_Module_Queue_Init
@@ -2540,7 +2542,7 @@ Process_Kos_Module_Queue_Init: Process_Kos_Module_Queue:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.s $$modulesLeft
$$done:
@@ -2549,43 +2551,43 @@ $$done: $$modulesLeft:
bmi.s $$decompressionStarted
- cmpi.w #4,($FFFFFF0E).w
+ cmpi.w #4,(Kos_decomp_queue_count).w
bcc.s $$done ; branch if the Kosinski decompression queue is full
- movea.l ($FFFFFF64).w,a1
- lea ($FFFFD000).w,a2
+ movea.l (Kos_module_queue).w,a1
+ lea (Kos_decomp_buffer).w,a2
bsr.w Queue_Kos ; add current module to decompression queue
- ori.b #$80,($FFFFFF60).w ; and set bit to signify decompression in progress
+ ori.b #$80,(Kos_modules_left).w ; and set bit to signify decompression in progress
rts
; ---------------------------------------------------------------------------
$$decompressionStarted:
- tst.w ($FFFFFF0E).w
+ tst.w (Kos_decomp_queue_count).w
bne.s $$done ; branch if the decompression isn't complete
; otherwise, DMA the decompressed data to VRAM
- andi.b #$7F,($FFFFFF60).w
+ andi.b #$7F,(Kos_modules_left).w
move.l #$800,d3
- subq.b #1,($FFFFFF60).w
+ subq.b #1,(Kos_modules_left).w
bne.s + ; branch if it isn't the last module
- move.w ($FFFFFF62).w,d3
+ move.w (Kos_last_module_size).w,d3
+
- move.w ($FFFFFF68).w,d2
+ move.w (Kos_module_destination).w,d2
move.w d2,d0
add.w d3,d0
add.w d3,d0
- move.w d0,($FFFFFF68).w ; set new destination
- move.l ($FFFFFF64).w,d0
- move.l ($FFFFFF40).w,d1
+ move.w d0,(Kos_module_destination).w ; set new destination
+ move.l (Kos_module_queue).w,d0
+ move.l (Kos_decomp_queue).w,d1
sub.l d1,d0
andi.l #$F,d0
add.l d0,d1 ; round to the nearest $10 boundary
- move.l d1,($FFFFFF64).w ; and set new source
+ move.l d1,(Kos_module_queue).w ; and set new source
move.l #$FFFFD000,d1
andi.l #$FFFFFF,d1
jsr (Add_To_DMA_Queue).l
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.s + ; return if this wasn't the last module
- lea ($FFFFFF64).w,a0
+ lea (Kos_module_queue).w,a0
lea ($FFFFFF6A).w,a1
move.l (a1)+,(a0)+ ; otherwise, shift all entries up
move.w (a1)+,(a0)+
@@ -2595,10 +2597,10 @@ $$decompressionStarted: move.w (a1)+,(a0)+
move.l #0,(a0)+ ; and mark the last slot as free
move.w #0,(a0)+
- move.l ($FFFFFF64).w,d0
+ move.l (Kos_module_queue).w,d0
beq.s + ; return if the queue is now empty
movea.l d0,a1
- move.w ($FFFFFF68).w,d2
+ move.w (Kos_module_destination).w,d2
jmp (Process_Kos_Module_Queue_Init).l
+
rts
@@ -2615,12 +2617,12 @@ $$decompressionStarted: Queue_Kos:
- move.w ($FFFFFF0E).w,d0
+ move.w (Kos_decomp_queue_count).w,d0
lsl.w #3,d0
- lea ($FFFFFF40).w,a3
+ lea (Kos_decomp_queue).w,a3
move.l a1,(a3,d0.w) ; store source
move.l a2,4(a3,d0.w) ; store destination
- addq.w #1,($FFFFFF0E).w
+ addq.w #1,(Kos_decomp_queue_count).w
rts
; End of function Queue_Kos
@@ -2633,14 +2635,14 @@ Queue_Kos: Set_Kos_Bookmark:
- tst.w ($FFFFFF0E).w
+ tst.w (Kos_decomp_queue_count).w
bpl.s + ; branch if a decompression wasn't in progress
move.l $42(sp),d0 ; check address V-int is supposed to rte to
cmpi.l #Process_Kos_Queue_Main,d0
bcs.s +
cmpi.l #Process_Kos_Queue_Done,d0
bcc.s +
- move.l $42(sp),($FFFFFF3A).w
+ move.l $42(sp),(Kos_decomp_bookmark).w
move.l #Backup_Kos_Registers,$42(sp) ; force V-int to rte here instead if needed
+
rts
@@ -2654,17 +2656,17 @@ Set_Kos_Bookmark: Process_Kos_Queue:
- tst.w ($FFFFFF0E).w
+ tst.w (Kos_decomp_queue_count).w
beq.w Process_Kos_Queue_Done
bmi.w Restore_Kos_Bookmark ; branch if a decompression was interrupted by V-int
Process_Kos_Queue_Main:
- ori.w #$8000,($FFFFFF0E).w ; set sign bit to signify decompression in progress
- movea.l ($FFFFFF40).w,a0
- movea.l ($FFFFFF44).w,a1
+ ori.w #$8000,(Kos_decomp_queue_count).w ; set sign bit to signify decompression in progress
+ movea.l (Kos_decomp_queue).w,a0
+ movea.l (Kos_decomp_destination).w,a1
; what follows is identical to the normal Kosinski decompressor except for using Kos_description_field instead of the stack
- lea ($FFFFFF3E).w,a2
+ lea (Kos_description_field).w,a2
move.b (a0)+,1(a2)
move.b (a0)+,(a2)
move.w (a2),d5
@@ -2750,12 +2752,12 @@ Process_Kos_Queue_SeparateRLE2: ; ---------------------------------------------------------------------------
Process_Kos_Queue_EndReached:
- move.l a0,($FFFFFF40).w
- move.l a1,($FFFFFF44).w
- andi.w #$7FFF,($FFFFFF0E).w ; clear decompression in progress bit
- subq.w #1,($FFFFFF0E).w
+ move.l a0,(Kos_decomp_queue).w
+ move.l a1,(Kos_decomp_destination).w
+ andi.w #$7FFF,(Kos_decomp_queue_count).w ; clear decompression in progress bit
+ subq.w #1,(Kos_decomp_queue_count).w
beq.s Process_Kos_Queue_Done ; branch if there aren't any entries remaining in the queue
- lea ($FFFFFF40).w,a0
+ lea (Kos_decomp_queue).w,a0
lea ($FFFFFF48).w,a1 ; otherwise, shift all entries up
move.l (a1)+,(a0)+
move.l (a1)+,(a0)+
@@ -2769,15 +2771,15 @@ Process_Kos_Queue_Done: ; ---------------------------------------------------------------------------
Restore_Kos_Bookmark:
- movem.l ($FFFFFF10).w,d0-d6/a0-a2
- move.l ($FFFFFF3A).w,-(sp)
- move.w ($FFFFFF38).w,-(sp)
+ movem.l (Kos_decomp_stored_registers).w,d0-d6/a0-a2
+ move.l (Kos_decomp_bookmark).w,-(sp)
+ move.w (Kos_decomp_stored_SR).w,-(sp)
rte
; ---------------------------------------------------------------------------
Backup_Kos_Registers:
- move sr,($FFFFFF38).w
- movem.l d0-d6/a0-a2,($FFFFFF10).w
+ move sr,(Kos_decomp_stored_SR).w
+ movem.l d0-d6/a0-a2,(Kos_decomp_stored_registers).w
rts
; End of function Process_Kos_Queue
@@ -2791,7 +2793,7 @@ Backup_Kos_Registers: Wait_VSync:
move #$2300,sr
-- tst.b ($FFFFF62A).w
+- tst.b (V_int_routine).w
bne.s - ; wait until V-int's run
rts
; End of function Wait_VSync
@@ -2804,7 +2806,7 @@ Wait_VSync: Random_Number:
- move.l ($FFFFF636).w,d1
+ move.l (RNG_seed).w,d1
tst.w d1
bne.s +
move.l #$2A6D365B,d1 ; reset seed if needed
@@ -2819,7 +2821,7 @@ Random_Number: add.w d1,d0
move.w d0,d1
swap d1
- move.l d1,($FFFFF636).w
+ move.l d1,(RNG_seed).w
rts
; End of function Random_Number
@@ -2910,7 +2912,7 @@ AnPal_Load: bsr.w SuperSonic_PalFlash
moveq #0,d2
moveq #0,d0
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #6,d0
move.w OffsAnPal(pc,d0.w),d0
@@ -3054,7 +3056,7 @@ AnPal_AIZ2: loc_22BC:
lea (AnPal_PalAIZ2_2).l,a0
- cmpi.w #$3800,($FFFFEE78).w
+ cmpi.w #$3800,(Camera_X_pos).w
bcs.s loc_22D0
lea (AnPal_PalAIZ2_3).l,a0
@@ -3063,7 +3065,7 @@ loc_22D0: move.w 2(a0,d0.w),($FFFFFC50).w
move.w 4(a0,d0.w),($FFFFFC76).w
move.w #$A0E,($FFFFFC5C).w
- cmpi.w #$1C0,($FFFFEE78).w
+ cmpi.w #$1C0,(Camera_X_pos).w
bcc.s loc_22F6
move.w 4(a0,d0.w),($FFFFFC5C).w
@@ -3079,7 +3081,7 @@ loc_22F6: loc_2318:
lea (AnPal_PalAIZ2_4).l,a0
- cmpi.w #$3800,($FFFFEE78).w
+ cmpi.w #$3800,(Camera_X_pos).w
bcs.s loc_232C
lea (AnPal_PalAIZ2_5).l,a0
@@ -3923,7 +3925,7 @@ SuperSonic_PalFlash: subq.b #1,($FFFFF65E).w
bpl.w locret_37EC
move.b #1,($FFFFF65E).w
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcs.s loc_3792
move.b #-1,($FFFFF65F).w
move.w #0,($FFFFF65C).w
@@ -3945,12 +3947,12 @@ loc_37B4: lea ($FFFFFC04).w,a1
move.l (a0,d0.w),(a1)+
move.w 4(a0,d0.w),(a1)
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.s locret_37EC
lea (AnPal_SuperSonic_2).l,a0
- tst.b ($FFFFFE10).w
+ tst.b (Current_zone).w
beq.s loc_37E0
- cmpi.b #5,($FFFFFE10).w
+ cmpi.b #5,(Current_zone).w
beq.s loc_37E0
lea (AnPal_SuperSonic_3).l,a0
@@ -3964,7 +3966,7 @@ locret_37EC: ; ---------------------------------------------------------------------------
loc_37EE:
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcc.s loc_3820
subq.b #1,($FFFFF65E).w
bpl.s locret_37EC
@@ -3985,7 +3987,7 @@ loc_3820: move.w d0,($FFFFF65C).w
move.b d0,($FFFFF65F).w
move.b d0,($FFFFF668).w
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bcc.s loc_384A
lea (AnPal_SuperSonic_5).l,a0
bsr.w sub_3914
@@ -3999,11 +4001,11 @@ loc_384A: ; ---------------------------------------------------------------------------
loc_3854:
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
beq.w loc_38E8
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.w loc_393C
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bmi.s loc_389C
loc_386E:
@@ -4037,7 +4039,7 @@ loc_38C6: lea ($FFFFFC04).w,a1
move.l (a0,d0.w),(a1)+
move.w 4(a0,d0.w),(a1)
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.w locret_37EC
lea ($FFFFF084).w,a1
move.l (a0,d0.w),(a1)+
@@ -4066,7 +4068,7 @@ sub_3914: lea ($FFFFFC10).w,a1
move.l (a0,d0.w),(a1)+
move.w 4(a0,d0.w),2(a1)
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.w loc_386E
lea ($FFFFF090).w,a1
move.l (a0,d0.w),(a1)+
@@ -4092,7 +4094,7 @@ loc_396C: lea ($FFFFFC04).w,a1
move.l (a0,d0.w),(a1)+
move.w 4(a0,d0.w),(a1)
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.w locret_37EC
lea ($FFFFF084).w,a1
move.l (a0,d0.w),(a1)+
@@ -4124,12 +4126,12 @@ AnPal_SuperSonic_7: dc.w $64E,$20C,$206 Pal_FadeFromBlack:
- move.w #$3F,($FFFFF626).w
+ move.w #$3F,(Palette_fade_info).w
jsr Pal_FillBlack(pc)
move.w #$15,d4
loc_3AFE:
- move.b #$12,($FFFFF62A).w
+ move.b #$12,(V_int_routine).w
bsr.w Wait_VSync
bsr.s Pal_FromBlack
bsr.w Process_Nem_Queue_Init
@@ -4143,25 +4145,25 @@ loc_3AFE: Pal_FromBlack:
moveq #0,d0
- lea ($FFFFFC00).w,a0
- lea ($FFFFFC80).w,a1
- move.b ($FFFFF626).w,d0
+ lea (Normal_palette).w,a0
+ lea (Target_palette).w,a1
+ move.b (Palette_fade_info).w,d0
adda.w d0,a0
adda.w d0,a1
- move.b ($FFFFF627).w,d0
+ move.b (Palette_fade_count).w,d0
loc_3B2A:
bsr.s Pal_AddColor
dbf d0,loc_3B2A
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.s locret_3B52
moveq #0,d0
- lea ($FFFFF080).w,a0
- lea ($FFFFF000).w,a1
- move.b ($FFFFF626).w,d0
+ lea (Water_palette).w,a0
+ lea (Target_water_palette).w,a1
+ move.b (Palette_fade_info).w,d0
adda.w d0,a0
adda.w d0,a1
- move.b ($FFFFF627).w,d0
+ move.b (Palette_fade_count).w,d0
loc_3B4C:
bsr.s Pal_AddColor
@@ -4212,20 +4214,20 @@ loc_3B7C: Pal_FillBlack:
- cmpi.w #$D01,($FFFFFE10).w
+ cmpi.w #$D01,(Current_zone_and_act).w
beq.w Pal_FillWhite
- cmpi.w #$1701,($FFFFFE10).w
+ cmpi.w #$1701,(Current_zone_and_act).w
beq.w Pal_FillWhite ; If one of either Sky Sanctuary Knuckles level or the hyper emerald special stage arena, branch
moveq #0,d0
- lea ($FFFFFC00).w,a0
- move.b ($FFFFF626).w,d0
+ lea (Normal_palette).w,a0
+ move.b (Palette_fade_info).w,d0
adda.w d0,a0
moveq #0,d1
- move.b ($FFFFF627).w,d0
+ move.b (Palette_fade_count).w,d0
loc_3BA6:
move.w d1,(a0)+
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.s loc_3BB2
move.w d1,-$B82(a0)
@@ -4239,13 +4241,13 @@ loc_3BB2: Animate_Palette:
- tst.w ($FFFFEE50).w
+ tst.w (Palette_fade_timer).w
bmi.s locret_3BE2
beq.s loc_3BDC
- subq.w #1,($FFFFEE50).w
- cmpi.w #$D01,($FFFFFE10).w
+ subq.w #1,(Palette_fade_timer).w
+ cmpi.w #$D01,(Current_zone_and_act).w
beq.w Pal_FromWhite
- cmpi.w #$1701,($FFFFFE10).w
+ cmpi.w #$1701,(Current_zone_and_act).w
beq.w Pal_FromWhite
bra.w Pal_FromBlack
; ---------------------------------------------------------------------------
@@ -4264,11 +4266,11 @@ locret_3BE2: Pal_FadeToBlack:
- move.w #$3F,($FFFFF626).w
+ move.w #$3F,(Palette_fade_info).w
move.w #$15,d4
loc_3BEE:
- move.b #$12,($FFFFF62A).w
+ move.b #$12,(V_int_routine).w
bsr.w Wait_VSync
bsr.s Pal_ToBlack
bsr.w Process_Nem_Queue_Init
@@ -4283,19 +4285,19 @@ loc_3BEE: Pal_ToBlack:
moveq #0,d0
- lea ($FFFFFC00).w,a0
- move.b ($FFFFF626).w,d0
+ lea (Normal_palette).w,a0
+ move.b (Palette_fade_info).w,d0
adda.w d0,a0
- move.b ($FFFFF627).w,d0
+ move.b (Palette_fade_count).w,d0
loc_3C14:
bsr.s Pal_DecColor
dbf d0,loc_3C14
moveq #0,d0
- lea ($FFFFF080).w,a0
- move.b ($FFFFF626).w,d0
+ lea (Water_palette).w,a0
+ move.b (Palette_fade_info).w,d0
adda.w d0,a0
- move.b ($FFFFF627).w,d0
+ move.b (Palette_fade_count).w,d0
loc_3C2A:
bsr.s Pal_DecColor
@@ -4344,11 +4346,11 @@ loc_3C5E: Pal_FillWhite:
moveq #0,d0
- lea ($FFFFFC00).w,a0
- move.b ($FFFFF626).w,d0
+ lea (Normal_palette).w,a0
+ move.b (Palette_fade_info).w,d0
adda.w d0,a0
move.w #$EEE,d1
- move.b ($FFFFF627).w,d0
+ move.b (Palette_fade_count).w,d0
loc_3C76:
move.w d1,(a0)+
@@ -4363,12 +4365,12 @@ loc_3C76: Pal_FromBlackWhite:
- move.w #$3F,($FFFFF626).w
+ move.w #$3F,(Palette_fade_info).w
bsr.s Pal_FillWhite
move.w #$15,d4
loc_3C8E:
- move.b #$12,($FFFFF62A).w
+ move.b #$12,(V_int_routine).w
bsr.w Wait_VSync
bsr.s Pal_FromWhite
bsr.w Process_Nem_Queue_Init
@@ -4385,25 +4387,26 @@ Pal_FromWhite: bpl.s locret_3CEE
move.w #2,($FFFFFACE).w
moveq #0,d0
- lea ($FFFFFC00).w,a0
- lea ($FFFFFC80).w,a1
- move.b ($FFFFF626).w,d0
+
+ lea (Normal_palette).w,a0
+ lea (Target_palette).w,a1
+ move.b (Palette_fade_info).w,d0
adda.w d0,a0
adda.w d0,a1
- move.b ($FFFFF627).w,d0
+ move.b (Palette_fade_count).w,d0
loc_3CC6:
bsr.s Pal_DecColor2
dbf d0,loc_3CC6
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.s locret_3CEE
moveq #0,d0
- lea ($FFFFF080).w,a0
- lea ($FFFFF000).w,a1
- move.b ($FFFFF626).w,d0
+ lea (Water_palette).w,a0
+ lea (Target_water_palette).w,a1
+ move.b (Palette_fade_info).w,d0
adda.w d0,a0
adda.w d0,a1
- move.b ($FFFFF627).w,d0
+ move.b (Palette_fade_count).w,d0
loc_3CE8:
bsr.s Pal_DecColor2
@@ -4457,11 +4460,11 @@ loc_3D2A: Pal_FadeToWhite:
- move.w #$3F,($FFFFF626).w
+ move.w #$3F,(Palette_fade_info).w
move.w #$15,d4
loc_3D3A:
- move.b #$12,($FFFFF62A).w
+ move.b #$12,(V_int_routine).w
bsr.w Wait_VSync
bsr.s Pal_ToWhite
bsr.w Process_Nem_Queue_Init
@@ -4476,19 +4479,19 @@ loc_3D3A: Pal_ToWhite:
moveq #0,d0
- lea ($FFFFFC00).w,a0
- move.b ($FFFFF626).w,d0
+ lea (Normal_palette).w,a0
+ move.b (Palette_fade_info).w,d0
adda.w d0,a0
- move.b ($FFFFF627).w,d0
+ move.b (Palette_fade_count).w,d0
loc_3D60:
bsr.s Pal_AddColor2
dbf d0,loc_3D60
moveq #0,d0
- lea ($FFFFF080).w,a0
- move.b ($FFFFF626).w,d0
+ lea (Water_palette).w,a0
+ move.b (Palette_fade_info).w,d0
adda.w d0,a0
- move.b ($FFFFF627).w,d0
+ move.b (Palette_fade_count).w,d0
loc_3D76:
bsr.s Pal_AddColor2
@@ -4615,15 +4618,15 @@ loc_3E22: ; ---------------------------------------------------------------------------
Sega_Screen:
- move.b #4,($FFFFF600).w
+ move.b #4,(Game_mode).w
rts
; ---------------------------------------------------------------------------
Title_Screen:
moveq #-$1F,d0
bsr.w Play_Sound ; Fade music if any is playing
- clr.w ($FFFFFF0E).w
- lea ($FFFFFF10).w,a1
+ clr.w (Kos_decomp_queue_count).w
+ lea (Kos_decomp_stored_registers).w,a1
moveq #0,d0
move.w #$1A,d1
@@ -4631,10 +4634,10 @@ loc_3E46: move.l d0,(a1)+ ; Clear FFFF10-FFFF7B
dbf d1,loc_3E46
bsr.w Clear_Nem_Queue
- clr.w ($FFFFFE10).w ; Clear zone/act index
+ clr.w (Current_zone_and_act).w ; Clear zone/act index
bsr.w Pal_FadeToBlack ; Fade out
move #$2700,sr
- lea ($C00004).l,a6
+ lea (VDP_control_port).l,a6
move.w #$8004,(a6) ; Command $8004 - Disable HInt, HV Counter
move.w #$8230,(a6) ; Command $8230 - Nametable A at $C000
move.w #$8407,(a6) ; Command $8407 - Nametable B at $E000
@@ -4642,18 +4645,18 @@ loc_3E46: move.w #$9200,(a6) ; Command $9200 - Window V position at default
move.w #$8B03,(a6) ; Command $8B03 - Vscroll full, HScroll line-based
move.w #$8700,(a6) ; Command $8700 - BG color is Pal 0 Color 0
- clr.b ($FFFFF64E).w
- clr.b ($FFFFF730).w ; Both water flags cleared
+ clr.b (Water_full_screen_flag).w
+ clr.b (Water_flag).w ; Both water flags cleared
move.w #$8C81,(a6) ; Command $8C81 - 40cell screen size, no interlacing, no s/h
bsr.w Clear_DisplayData
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_3E98:
move.l d0,(a1)+ ; Clear object display array
dbf d1,loc_3E98
- lea ($FFFFB000).w,a1
+ lea (Object_RAM).w,a1
moveq #0,d0
move.w #$7FF,d1
@@ -4667,7 +4670,7 @@ loc_3EA8: loc_3EB8:
move.l d0,(a1)+ ; Clear active play variables
dbf d1,loc_3EB8
- lea ($FFFFEE00).w,a1
+ lea (Camera_RAM).w,a1
moveq #0,d0
move.w #$3F,d1
@@ -4675,7 +4678,7 @@ loc_3EC8: move.l d0,(a1)+ ; Clear play positional values
dbf d1,loc_3EC8
jsr (Init_SpriteTable).l ; Initialize the sprite table
- lea ($FFFFFC00).w,a1
+ lea (Normal_palette).w,a1
moveq #0,d0
move.w #$3F,d1
@@ -4683,75 +4686,75 @@ loc_3EDE: move.l d0,(a1)+ ; Clear main palette
dbf d1,loc_3EDE
moveq #0,d0
- move.b d0,($FFFFFE2A).w
- move.b d0,($FFFFFE48).w
- move.w d0,($FFFFFE08).w
- move.w d0,($FFFFFFD0).w
+ move.b d0,(Last_star_post_hit).w
+ move.b d0,(Special_bonus_entry_flag).w
+ move.w d0,(Debug_placement_mode).w
+ move.w d0,(Demo_mode_flag).w
move.w d0,($FFFFF634).w
- move.w d0,($FFFFFFE8).w
- move.b d0,($FFFFF711).w
- move.b d0,($FFFFFFDA).w
- move.w d0,($FFFFFFE8).w
+ move.w d0,(Competition_mode).w
+ move.b d0,(Level_started_flag).w
+ move.b d0,(Debug_mode_flag).w
+ move.w d0,(Competition_mode).w
move.w d0,($FFFFFFE4).w
move.w d0,($FFFFFFE6).w
move.b d0,($FFFFFFD4).w
- move.w #$167,($FFFFF614).w ; Wait on title screen for six seconds
- clr.w ($FFFFFB00).w
- move.l #$FFFFFB00,($FFFFFBFC).w ; Clear DMA queue
+ move.w #$167,(Demo_timer).w ; Wait on title screen for six seconds
+ clr.w (DMA_queue).w
+ move.l #$FFFFFB00,(DMA_queue_slot).w ; Clear DMA queue
nop
nop
nop
nop
nop
nop
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.w SK_Alone_Title_Screen
lea (ArtKos_S3TitleSonic1).l,a0 ;S3DATA
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
bsr.w Kos_Decomp
move.w a1,d3
lsr.w #1,d3
move.l #$FF0000,d1
move.w #0,d2
jsr (Add_To_DMA_Queue).l ; DMA Sega logo+Sonic art data 1 to $0 in VRAM
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
lea (MapEni_S3TitleSonic1).l,a0 ;S3DATA
move.w #0,d0
bsr.w Eni_Decomp ; Decompress Enigma mappings
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bmi.s loc_3F7E
moveq #0,d0
move.l d0,($FFFF83AC).w ; Do something to the mappings if an overseas model. Not sure what
loc_3F7E:
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.l #$40000003,d0
moveq #$27,d1
moveq #$1B,d2
jsr (Plane_Map_To_VRAM).l ; Copy screen mappings to VRAM
lea (Pal_TitleSonic1).l,a0
- lea ($FFFFFC80).w,a1
+ lea (Target_palette).w,a1
moveq #7,d0
loc_3F9E:
move.l (a0)+,(a1)+ ; Fill 2 palette lines with title screen data
dbf d0,loc_3F9E
- move.w #$F0,($FFFFF614).w
- move.w ($FFFFF60E).w,d0
+ move.w #$F0,(Demo_timer).w
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l ; Turn the display on
+ move.w d0,(VDP_control_port).l ; Turn the display on
bsr.w Pal_FadeFromBlack ; Fade in to logo
moveq #-1,d0
bsr.w Play_Sound
- move.w #$B4,($FFFFF614).w ; Set to wait for 3 seconds
+ move.w #$B4,(Demo_timer).w ; Set to wait for 3 seconds
Wait_SegaS3K:
- move.b #$14,($FFFFF62A).w
+ move.b #$14,(V_int_routine).w
bsr.w Wait_VSync ; Wait for SEGA sound
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.b #$80,d0
bne.w loc_3FE4 ; If start was pressed, skip ahead
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
bne.s Wait_SegaS3K
loc_3FE4:
@@ -4760,9 +4763,9 @@ loc_3FE4: lea (Pal_Title).l,a1
loc_3FF0:
- move.b #2,($FFFFF62A).w
+ move.b #2,(V_int_routine).w
bsr.w Wait_VSync
- lea ($FFFFFC00).w,a2
+ lea (Normal_palette).w,a2
move.l (a1)+,(a2)+
loc_4000:
@@ -4778,27 +4781,27 @@ loc_4000: move.w #1,($FFFFFFBE).w ; Set initial variables for Sonic animation page flipping
moveq #1,d0
bsr.w TitleSonic_LoadFrame
- move.w #$384,($FFFFF614).w ; Set to wait 15 seconds (900 frames in NTSC)
- btst #6,($FFFFFFD8).w
+ move.w #$384,(Demo_timer).w ; Set to wait 15 seconds (900 frames in NTSC)
+ btst #6,(Graphics_flags).w
beq.s loc_4040
- move.w #$2EE,($FFFFF614).w ; Set to wait 15 seconds (750 frames in PAL)
+ move.w #$2EE,(Demo_timer).w ; Set to wait 15 seconds (750 frames in PAL)
loc_4040:
lea (ArtKos_S3TitleSonic8).l,a1
- lea ($FFFF0000).l,a2
+ lea (RAM_start).l,a2
jsr (Queue_Kos).l ; Queue frame 8 of data into a2 since frame 1 is already in VRAM
moveq #$25,d0
bsr.w Play_Sound ; Start playing the title screen music
Wait_TitleS3K:
- move.b #4,($FFFFF62A).w
+ move.b #4,(V_int_routine).w
jsr (Process_Kos_Queue).l
bsr.w Wait_VSync
bsr.w Iterate_TitleSonicFrame
jsr (Process_Sprites).l
jsr (Render_Sprites).l
bsr.w Process_Nem_Queue_Init
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.b #$80,d0
bne.w loc_4090 ; If start was pressed, skip straight to title
cmpi.w #$C,($FFFFFFBE).w
@@ -4806,17 +4809,17 @@ Wait_TitleS3K: loc_4090:
move.w #$C,($FFFFFFBE).w
- lea ($FFFFFC00).w,a1
+ lea (Normal_palette).w,a1
moveq #$3F,d1
loc_409C:
move.w #$EEE,(a1)+
dbf d1,loc_409C ; Flash palette white
move.b #3,($FFFFFFBD).w
- move.b #4,($FFFFF62A).w
+ move.b #4,(V_int_routine).w
bsr.w Wait_VSync
lea (ArtKos_S3TitleSonicD).l,a0 ;S3DATA
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
bsr.w Kos_Decomp
move.w a1,d3
lsr.w #1,d3
@@ -4824,48 +4827,48 @@ loc_409C: move.w #0,d2
andi.l #$FFFFFF,d1
jsr (Add_To_DMA_Queue).l ; Load Sonic art frame 14
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
lea (MapEni_S3TitleSonicD).l,a0
move.w #$8000,d0
bsr.w Eni_Decomp
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.l #$40000003,d0
moveq #$27,d1
moveq #$1B,d2
jsr (Plane_Map_To_VRAM).l ; Load Sonic mapping frame 14 to $C000 VRAM
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
lea (MapEni_S3TitleBg).l,a0
move.w #$4000,d0
bsr.w Eni_Decomp
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.l #$60000003,d0
moveq #$27,d1
moveq #$1B,d2
jsr (Plane_Map_To_VRAM).l ; Load S3K Title BG to $E000 VRAM
- move.b #4,($FFFFF62A).w
+ move.b #4,(V_int_routine).w
bsr.w Wait_VSync
lea (Pal_TitleSonicD).l,a0 ; Title palette
- lea ($FFFFFC80).w,a1
+ lea (Target_palette).w,a1
moveq #$1F,d0
loc_4140:
move.l (a0)+,(a1)+
dbf d0,loc_4140
- move.l #$60000002,($C00004).l ; to VRAM $A000
+ move.l #$60000002,(VDP_control_port).l ; to VRAM $A000
lea (ArtNem_Title_S3Banner).l,a0
bsr.w Nem_Decomp
- move.l #$50000003,($C00004).l ; to VRAM $D000
+ move.l #$50000003,(VDP_control_port).l ; to VRAM $D000
lea (ArtNem_TitleScreenText).l,a0
bsr.w Nem_Decomp
- move.l #$40000002,($C00004).l ; to VRAM $8000
+ move.l #$40000002,(VDP_control_port).l ; to VRAM $8000
lea (ArtNem_Title_SonicSprites).l,a0
bsr.w Nem_Decomp
- move.l #$58000002,($C00004).l ; to VRAM $9800
+ move.l #$58000002,(VDP_control_port).l ; to VRAM $9800
lea (ArtNem_Title_ANDKnuckles).l,a0
bsr.w Nem_Decomp
- move.l #Obj_TitleBanner,($FFFFB000).w
- move.l #Obj_TitleSelection,($FFFFB04A).w
- move.l #Obj_TitleCopyright,($FFFFB0DE).w
+ move.l #Obj_TitleBanner,(Player_1).w
+ move.l #Obj_TitleSelection,(Player_2).w
+ move.l #Obj_TitleCopyright,(Dynamic_object_RAM).w
move.l #Obj_TitleSonicFinger,($FFFFB128).w
move.l #Obj_TitleSonicWink,($FFFFB172).w
move.l #Obj_TitleTailsPlane,($FFFFB1BC).w
@@ -4874,68 +4877,68 @@ loc_4140: loc_41D4:
- move.b #4,($FFFFF62A).w
+ move.b #4,(V_int_routine).w
bsr.w Wait_VSync
jsr (Process_Sprites).l
jsr (Render_Sprites).l
bsr.w Process_Nem_Queue_Init
- tst.l ($FFFFB094).w
+ tst.l (Reserved_object_3).w
beq.s loc_41D4 ; Don't do anything at all until banner has finished moving
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
beq.w loc_4278 ; If the timer has run out, go do the level demos
- move.b ($FFFFF605).w,d0
- or.b ($FFFFF607).w,d0
+ move.b (Ctrl_1_pressed).w,d0
+ or.b (Ctrl_2_pressed).w,d0
andi.b #$80,d0
beq.w loc_41D4 ; Repeat until start has been pressed on either controller
- move.b #$C,($FFFFF600).w
- move.b #3,($FFFFFE12).w
- move.b #3,($FFFFFEC6).w ;CHECKLATER
- moveq #0,d0
- move.w d0,($FFFFFE20).w
- move.l d0,($FFFFFE22).w
- move.l d0,($FFFFFE26).w
- move.w d0,($FFFFFED0).w
- move.l d0,($FFFFFED2).w
- move.l d0,($FFFFFED6).w
- move.b d0,($FFFFFE18).w
- move.l #$1388,($FFFFFFC0).w
- move.l #$1388,($FFFFFFC4).w ;CHECKLATER
+ move.b #$C,(Game_mode).w
+ move.b #3,(Life_count).w
+ move.b #3,(Life_count_P2).w ;CHECKLATER
+ moveq #0,d0
+ move.w d0,(Ring_count).w
+ move.l d0,(Timer).w
+ move.l d0,(Score).w
+ move.w d0,(Ring_count_P2).w
+ move.l d0,(Timer_P2).w
+ move.l d0,(Score_P2).w
+ move.b d0,(Continue_count).w
+ move.l #$1388,(Next_extra_life_score).w
+ move.l #$1388,(Next_extra_life_score_P2).w ;CHECKLATER
moveq #-$1F,d0
bsr.w Play_Sound_2 ; Fade out the title screen music
moveq #0,d0
- move.b ($FFFFFF86).w,d0 ; Selection is stored here.
+ move.b (Title_screen_option).w,d0 ; Selection is stored here.
bne.w loc_4264
- move.b #$4C,($FFFFF600).w ; Game Mode 4C is the save select
+ move.b #$4C,(Game_mode).w ; Game Mode 4C is the save select
rts
; ---------------------------------------------------------------------------
loc_4264:
subq.b #1,d0
bne.s loc_4270
- move.b #$38,($FFFFF600).w ; Game Mode 38 is Competition mode
+ move.b #$38,(Game_mode).w ; Game Mode 38 is Competition mode
rts
; ---------------------------------------------------------------------------
loc_4270:
- move.b #$28,($FFFFF600).w ; Game Mode 28 is the level select
+ move.b #$28,(Game_mode).w ; Game Mode 28 is the level select
rts
; ---------------------------------------------------------------------------
loc_4278:
moveq #-$1F,d0
bsr.w Play_Sound_2 ; Fade out music
- move.w ($FFFFFFD2).w,d0 ; Get index of current demo to run
- move.w d0,($FFFFEF7A).w
+ move.w (Next_demo_number).w,d0 ; Get index of current demo to run
+ move.w d0,(Demo_number).w
andi.w #7,d0
add.w d0,d0
lea DemoLevels(pc),a0
move.w (a0,d0.w),d0
- move.w d0,($FFFFFE10).w ; Load level index to the appropriate variables
- move.w d0,($FFFFEE4E).w
- move.w d0,($FFFFFE2C).w
- move.w ($FFFFFFD2).w,d1
+ move.w d0,(Current_zone_and_act).w ; Load level index to the appropriate variables
+ move.w d0,(Apparent_zone_and_act).w
+ move.w d0,(Saved_zone_and_act).w
+ move.w (Next_demo_number).w,d1
addq.w #1,d1
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_42C0 ; If playing only Sonic and Knuckles, branch
cmpi.w #3,d1
bne.s loc_42B6
@@ -4957,15 +4960,15 @@ loc_42C0: loc_42C8:
- move.w d1,($FFFFFFD2).w
+ move.w d1,(Next_demo_number).w
tst.w d0
bpl.s loc_4300 ; Branch if we are indeed playing a level
- move.b #$34,($FFFFF600).w ; Do the special stage demo
- move.b #1,($FFFFFE16).w
- move.b #1,($FFFFFFBB).w
- move.b #7,($FFFFFE10).w
- clr.w ($FFFFFFB0).w
- clr.l ($FFFFFFB2).w
+ move.b #$34,(Game_mode).w ; Do the special stage demo
+ move.b #1,(Current_special_stage).w
+ move.b #1,(SK_special_stage_flag).w
+ move.b #7,(Current_zone).w
+ clr.w (Emerald_count).w
+ clr.l (Collected_emeralds_array).w
clr.w ($FFFFFFB6).w
clr.b ($FFFFFFB8).w
move.b #2,($FFFFFFB3).w
@@ -4973,21 +4976,21 @@ loc_42C8: ; ---------------------------------------------------------------------------
loc_4300:
- move.b #8,($FFFFF600).w ; We're about to perform a level demo
+ move.b #8,(Game_mode).w ; We're about to perform a level demo
loc_4306:
- move.w #1,($FFFFFFD0).w
- move.b #3,($FFFFFE12).w
- move.b #3,($FFFFFEC6).w
+ move.w #1,(Demo_mode_flag).w
+ move.b #3,(Life_count).w
+ move.b #3,(Life_count_P2).w
moveq #0,d0
- move.w d0,($FFFFFE20).w
- move.l d0,($FFFFFE22).w
- move.l d0,($FFFFFE26).w
- move.w d0,($FFFFFED0).w
- move.l d0,($FFFFFED2).w
- move.l d0,($FFFFFED6).w
- move.l #$1388,($FFFFFFC0).w
- move.l #$1388,($FFFFFFC4).w
+ move.w d0,(Ring_count).w
+ move.l d0,(Timer).w
+ move.l d0,(Score).w
+ move.w d0,(Ring_count_P2).w
+ move.l d0,(Timer_P2).w
+ move.l d0,(Score_P2).w
+ move.l #$1388,(Next_extra_life_score).w
+ move.l #$1388,(Next_extra_life_score_P2).w
rts
; ---------------------------------------------------------------------------
DemoLevels: dc.w 0 ; Angel Island
@@ -5008,8 +5011,8 @@ TitleAnim_FlipBuffer: cmpi.w #$C,($FFFFFFBE).w
bcc.s loc_43B2
move.b #3,($FFFFFFBD).w
- lea ($FFFFFC80).w,a0
- lea ($FFFFFC00).w,a1
+ lea (Target_palette).w,a0
+ lea (Normal_palette).w,a1
moveq #$F,d0
loc_4376:
@@ -5018,14 +5021,14 @@ loc_4376: eori.b #-1,($FFFFFFBC).w
tst.b ($FFFFFFBC).w
beq.s loc_439A
- move.w #$8406,($C00004).l ; Nametable B Address $C000
- move.w #$8230,($C00004).l ; Nametable A Address $C000
+ move.w #$8406,(VDP_control_port).l ; Nametable B Address $C000
+ move.w #$8230,(VDP_control_port).l ; Nametable A Address $C000
rts
; ---------------------------------------------------------------------------
loc_439A:
- move.w #$8407,($C00004).l ; Nametable B Address $E000
- move.w #$8238,($C00004).l ; Nametable A Address $E000
+ move.w #$8407,(VDP_control_port).l ; Nametable B Address $E000
+ move.w #$8238,(VDP_control_port).l ; Nametable A Address $E000
rts
; ---------------------------------------------------------------------------
@@ -5035,15 +5038,15 @@ loc_43AC: ; ---------------------------------------------------------------------------
loc_43B2:
- lea ($FFFFFC80).w,a0
- lea ($FFFFFC00).w,a1
+ lea (Target_palette).w,a0
+ lea (Normal_palette).w,a1
moveq #$1F,d0
loc_43BC:
move.l (a0)+,(a1)+
dbf d0,loc_43BC
- move.w #$8407,($C00004).l ; Nametable B Address $E000
- move.w #$8230,($C00004).l ; Nametable B Address $C000
+ move.w #$8407,(VDP_control_port).l ; Nametable B Address $E000
+ move.w #$8230,(VDP_control_port).l ; Nametable B Address $C000
rts
; End of function sub_4352
@@ -5093,7 +5096,7 @@ TitleSonic_LoadFrame: bcs.s loc_4466
andi.l #$FFFFFF,d0
movea.l d0,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
bsr.w Kos_Decomp
move.w a1,d3
lsr.w #1,d3
@@ -5111,7 +5114,7 @@ loc_445A: loc_4466:
movea.l (a2)+,a0 ; Palette data address
- lea ($FFFFFC80).w,a1
+ lea (Target_palette).w,a1
moveq #$F,d0
loc_446E:
@@ -5119,20 +5122,20 @@ loc_446E: dbf d0,loc_446E
tst.b ($FFFFFFBC).w
bne.s loc_44B8
- lea ($FFFF8000).w,a1 ; Buffer 1
+ lea (Level_layout_header).w,a1 ; Buffer 1
movea.l (a2)+,a0 ; Enigma Mappings
move.w #0,d0
bsr.w Eni_Decomp
cmpi.w #7,d7
bcc.s loc_449A
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bmi.s loc_449A
moveq #0,d0
move.l d0,($FFFF83AC).w
loc_449A:
move #$2700,sr
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.l #$40000003,d0 ; to $C000 in VRAM, Nametable A
moveq #$27,d1
moveq #$1B,d2
@@ -5142,7 +5145,7 @@ loc_449A: ; ---------------------------------------------------------------------------
loc_44B8:
- lea ($FFFF8000).w,a1 ; Buffer 2
+ lea (Level_layout_header).w,a1 ; Buffer 2
movea.l (a2)+,a0 ; Enigma Mappings
move.w #$300,d0
cmpi.w #7,d7
@@ -5153,14 +5156,14 @@ loc_44CC: bsr.w Eni_Decomp
cmpi.w #7,d7
bcc.s loc_44E2
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bmi.s loc_44E2
moveq #0,d0
move.l d0,($FFFF83AC).w
loc_44E2:
move #$2700,sr
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.l #$60000003,d0 ; to $E000 in VRAM Nametable B
moveq #$27,d1
moveq #$1B,d2
@@ -5268,7 +5271,7 @@ Obj_TitleBanner_Main: cmpi.w #$FFA5,$1A(a0)
bne.s loc_48AA
move.l #Obj_TitleBanner_Display,(a0)
- move.l #Obj_TitleTM,($FFFFB094).w
+ move.l #Obj_TitleTM,(Reserved_object_3).w
bra.s loc_48C2
; ---------------------------------------------------------------------------
@@ -5289,9 +5292,9 @@ loc_48C2: neg.w d0
addi.w #$D4,d0
move.w d0,$14(a0)
- cmpi.w #$10,($FFFFF616).w ; Raise title screen Y position to make room for the &KNUCKLES
+ cmpi.w #$10,(V_scroll_value).w ; Raise title screen Y position to make room for the &KNUCKLES
beq.s Obj_TitleBanner_Display
- addq.w #1,($FFFFF616).w
+ addq.w #1,(V_scroll_value).w
Obj_TitleBanner_Display:
@@ -5322,7 +5325,7 @@ Obj_TitleTM: move.l #Obj_TitleTM_Display,(a0)
Obj_TitleTM_Display:
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bpl.s locret_4968
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -5355,16 +5358,16 @@ OldDebugCode: lea (OldDebugCodeDat).l,a1
move.w ($FFFFFFE6).w,d0
adda.w d0,a1
- move.b ($FFFFF749).w,d0
+ move.b (Ctrl_1_pressed_title).w,d0
andi.b #$7F,d0
beq.s locret_4A10
- move.b ($FFFFF748).w,d0
+ move.b (Ctrl_1_title).w,d0
cmp.b (a1),d0
bne.s loc_4A0A
addq.w #1,($FFFFFFE6).w
tst.b 1(a1)
bne.s locret_4A10
- move.w #$101,($FFFFFFE2).w
+ move.w #$101,(Debug_cheat_flag).w
moveq #-$47,d0
bsr.w Play_Sound_2
@@ -5409,21 +5412,21 @@ Obj_TitleSelection: move.w #$140,$14(a0)
move.l #Map_TitleScreenText,$C(a0)
move.w #$C680,$A(a0) ; Start at $D000 VRAM
- andi.b #1,($FFFFFF86).w
- move.b ($FFFFFF86).w,$22(a0)
+ andi.b #1,(Title_screen_option).w
+ move.b (Title_screen_option).w,$22(a0)
move.l #Obj_TitleSelection_Main,(a0)
Obj_TitleSelection_Main:
moveq #0,d2
- move.b ($FFFFFF86).w,d2
- move.b ($FFFFF605).w,d0
- or.b ($FFFFF607).w,d0
+ move.b (Title_screen_option).w,d2
+ move.b (Ctrl_1_pressed).w,d0
+ or.b (Ctrl_2_pressed).w,d0
btst #0,d0
beq.s loc_4AAE
subq.b #1,d2
bcc.s loc_4AAE
move.b #2,d2
- tst.b ($FFFFFFE0).w ; If level select is on, maximum choices are 3
+ tst.b (Level_select_flag).w ; If level select is on, maximum choices are 3
bne.s loc_4AAE
move.b #1,d2
@@ -5432,7 +5435,7 @@ loc_4AAE: btst #1,d0
beq.s loc_4AC8
addq.b #1,d2
- tst.b ($FFFFFFE0).w ; See above
+ tst.b (Level_select_flag).w ; See above
bne.s loc_4AC0
andi.b #1,d2
@@ -5444,7 +5447,7 @@ loc_4AC0: loc_4AC8:
move.b d2,$22(a0)
- move.b d2,($FFFFFF86).w
+ move.b d2,(Title_screen_option).w
andi.b #3,d0
beq.s loc_4ADE
moveq #$5B,d0
@@ -5466,7 +5469,7 @@ Obj_TitleSonicFinger: Obj_TitleSonicFinger_Display:
move.w #$DC,d0
- sub.w ($FFFFF616).w,d0
+ sub.w (V_scroll_value).w,d0
move.w d0,$14(a0)
lea (Ani_TitleSonicFinger).l,a1
jsr (Animate_Sprite).l
@@ -5488,7 +5491,7 @@ Obj_TitleSonicWink: Obj_TitleSonicWink_Display:
move.w #$C8,d0
- sub.w ($FFFFF616).w,d0
+ sub.w (V_scroll_value).w,d0
move.w d0,$14(a0)
lea (Ani_TitleSonicWink).l,a1
jsr (Animate_SpriteIrregularDelay).l
@@ -5556,17 +5559,17 @@ S3_Level_Select_Code: lea (LSelect3CodeDat).l,a1
move.w ($FFFFFFE4).w,d0
adda.w d0,a1
- move.b ($FFFFF749).w,d0
+ move.b (Ctrl_1_pressed_title).w,d0
andi.b #$7F,d0
beq.s locret_4C90
- move.b ($FFFFF748).w,d0
+ move.b (Ctrl_1_title).w,d0
cmp.b (a1),d0
bne.s loc_4C8A
addq.w #1,($FFFFFFE4).w
tst.b 1(a1)
bne.s locret_4C90
- move.w #$101,($FFFFFFE0).w
- move.w #$101,($FFFFFFE2).w
+ move.w #$101,(Level_select_flag).w
+ move.w #$101,(Debug_cheat_flag).w
moveq #$33,d0
bsr.w Play_Sound_2
@@ -5599,7 +5602,7 @@ Map_TitleTailsPlane: include "General\Title\Map - S3 Tails Plane.asm" SK_Alone_Title_Screen:
lea (ArtKos_SKTitleScreenBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
bsr.w Kos_Decomp
lea (ArtKos_BigSEGA).l,a0
bsr.w Kos_Decomp
@@ -5633,7 +5636,7 @@ SK_Alone_Title_Screen: lea (MapEni_SKTitle_Sega).l,a0 ; Get the SEGA logo mappings
move.w #$849C,d0
bsr.w Eni_Decomp
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bmi.s loc_5122
move.w #$A49C,d0
move.w d0,($FFFF775C).l
@@ -5675,7 +5678,7 @@ loc_5122: lea (ArtKos_SKTitle_SonKnuxHand).l,a1
lea ($FFFF4800).l,a2
jsr (Queue_Kos).l ; Queue the Sonic/Knuckles hand animation art
- lea ($FFFFFC80).w,a1
+ lea (Target_palette).w,a1
moveq #3,d1
loc_51BC:
@@ -5687,44 +5690,44 @@ loc_51C2: dbf d0,loc_51C2
dbf d1,loc_51BC
lea (Pal_SKTitle_SegaBG).l,a0
- lea ($FFFFFCA0).w,a1
+ lea (Target_palette_line_2).w,a1
moveq #7,d0
loc_51DA:
move.l (a0)+,(a1)+ ; Load Sega palette into the first F colors of pal line 1
dbf d0,loc_51DA
- move.w #$B4,($FFFFF614).w ; Set vsync timer to 3 seconds (180 frames NTSC)
- btst #6,($FFFFFFD8).w
+ move.w #$B4,(Demo_timer).w ; Set vsync timer to 3 seconds (180 frames NTSC)
+ btst #6,(Graphics_flags).w
beq.s loc_51F4
- move.w #$96,($FFFFF614).w ; Set vsync timer to 3 seconds (150 frames PAL)
+ move.w #$96,(Demo_timer).w ; Set vsync timer to 3 seconds (150 frames PAL)
loc_51F4:
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l ; Turn the display on
+ move.w d0,(VDP_control_port).l ; Turn the display on
bsr.w Pal_FadeFromBlack ; Fade to Sega screen
moveq #-1,d0 ; SEGA sound
bsr.w Play_Sound
loc_520C:
- move.b #$14,($FFFFF62A).w
+ move.b #$14,(V_int_routine).w
jsr (Process_Kos_Queue).l
bsr.w Wait_VSync
jsr (Process_Kos_Module_Queue).l
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.s loc_520C ; Don't allow the game to continue until the Knuckles art has been decompressed
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.b #$80,d0
bne.w loc_523A ; If start is pressed afterwards, skip to next part of title
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
bne.s loc_520C ; Otherwise, wait for vsync timer to run out
loc_523A:
moveq #-2,d0
bsr.w Play_Sound ; Stop the SEGA sound if necessary
lea (Pal_SKTitle_Sonic).l,a0
- lea ($FFFFFC80).w,a1
+ lea (Target_palette).w,a1
moveq #$1F,d0
loc_524C:
@@ -5733,27 +5736,27 @@ loc_524C: lea (ArtKosM_SonicKnuxStand).l,a1
move.w #$1C40,d2
jsr (Queue_Kos_Module).l ; Cue the art Sonic and Knuckles standing
- move.w #$3F,($FFFFF626).w
- move.w #$16,($FFFFEE50).w ; Number of frames to fade from white
- move.l #Obj_SKTitle_SonicFall,($FFFFB000).w
- move.l #Obj_SKTitle_DeathEgg,($FFFFB04A).w
- move.l #Obj_SKTitle_Mountain,($FFFFB094).w
+ move.w #$3F,(Palette_fade_info).w
+ move.w #$16,(Palette_fade_timer).w ; Number of frames to fade from white
+ move.l #Obj_SKTitle_SonicFall,(Player_1).w
+ move.l #Obj_SKTitle_DeathEgg,(Player_2).w
+ move.l #Obj_SKTitle_Mountain,(Reserved_object_3).w
moveq #$25,d0
bsr.w Play_Sound ; Play the title screen music
- move.b #3,($FFFFFE12).w
- move.w #$438,($FFFFF614).w ; 18 second delay (1080 frames NTSC)
- btst #6,($FFFFFFD8).w
+ move.b #3,(Life_count).w
+ move.w #$438,(Demo_timer).w ; 18 second delay (1080 frames NTSC)
+ btst #6,(Graphics_flags).w
beq.s loc_52A6
- move.w #$384,($FFFFF614).w ; 18 second delay (900 frames PAL)
+ move.w #$384,(Demo_timer).w ; 18 second delay (900 frames PAL)
loc_52A6:
- move.b #$1A,($FFFFF62A).w
+ move.b #$1A,(V_int_routine).w
jsr (Process_Kos_Queue).l
bsr.w Wait_VSync
- tst.w ($FFFFEE50).w
+ tst.w (Palette_fade_timer).w
beq.s loc_52C4
- subq.w #1,($FFFFEE50).w
+ subq.w #1,(Palette_fade_timer).w
bsr.w Pal_FromWhite ; Fade from white for set number of frames
loc_52C4:
@@ -5761,32 +5764,32 @@ loc_52C4: jsr (Render_Sprites).l
bsr.w SKTitle_DeformBG
jsr (Process_Kos_Module_Queue).l
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.b #$80,d0
bne.w loc_52F0 ; If start is pressed, branch
- tst.l ($FFFFB0DE).w ; test if banner object has been created
+ tst.l (Dynamic_object_RAM).w ; test if banner object has been created
beq.s loc_52A6 ; If not, continue with the above
bra.w loc_537C
; ---------------------------------------------------------------------------
loc_52F0:
- tst.w ($FFFFEE50).w
+ tst.w (Palette_fade_timer).w
bne.s loc_52A6 ; If palette fade hasn't completed, go back
lea ($FFFFB128).w,a0
bsr.w Obj_SKTitle_HandAnim ; Initialize Hand animation object
- move.l #Obj_SKTitle_DeathEggShake,($FFFFB04A).w ; Change Death Egg object to second phase
+ move.l #Obj_SKTitle_DeathEggShake,(Player_2).w ; Change Death Egg object to second phase
move.w #$140,($FFFFB078).l
move.w #$70,($FFFFB07C).l ; Set its proper position
move.w #3,($FFFFEEC0).w ; Put title routine counter to max
moveq #0,d0
move.w d0,($FFFFEECC).w ; Turn off shaking
move.w #$100,d0
- move.w d0,($FFFFF618).w
- move.w d0,($FFFFF618).w
- move.w d0,($FFFFEE7C).w
- move.w d0,($FFFFEE64).w ; Set all Y scrolls to $100
+ move.w d0,(V_scroll_value_BG).w
+ move.w d0,(V_scroll_value_BG).w
+ move.w d0,(Camera_Y_pos).w
+ move.w d0,(Camera_Y_pos_P2).w ; Set all Y scrolls to $100
lea (Pal_SKTitle_Knux).l,a0
- lea ($FFFFFC20).w,a2
+ lea (Normal_palette_line_2).w,a2
moveq #7,d0
loc_5342:
@@ -5794,7 +5797,7 @@ loc_5342: move.l (a0)+,(a2)+ ; Change to Knuckles palette
dbf d0,loc_5342
bsr.w SKTitle_DeformBG ; Deform the BG to apply the changes
- move.b #$1A,($FFFFF62A).w
+ move.b #$1A,(V_int_routine).w
bsr.w Wait_VSync ; Refresh the screen
move #$2700,sr
lea ($FFFF7CC0).l,a1
@@ -5802,16 +5805,16 @@ loc_5342: moveq #$27,d1
moveq #$1B,d2
jsr (Plane_Map_To_VRAM).l ; Load the background
- lea ($FFFFB000).w,a0
+ lea (Player_1).w,a0
bsr.w Obj_SKTitle_SonicFallFinish ; Finish the sonic fall object
loc_537C:
- move.b #$1A,($FFFFF62A).w
+ move.b #$1A,(V_int_routine).w
jsr (Process_Kos_Queue).l
bsr.w Wait_VSync
- tst.w ($FFFFEE50).w
+ tst.w (Palette_fade_timer).w
beq.s loc_539A
- subq.w #1,($FFFFEE50).w
+ subq.w #1,(Palette_fade_timer).w
bsr.w Pal_FromWhite
loc_539A:
@@ -5822,51 +5825,51 @@ loc_539A: bsr.w S3_Level_Select_Code ; This routine is dummied out
tst.l ($FFFFB172).w
beq.s loc_537C ; If menu object isn't loaded, branch
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
beq.w loc_546C ; If timer has run out, branch forward
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.b #$80,d0
beq.w loc_537C ; If start is not pressed, branch back
- move.b #$C,($FFFFF600).w ; Play a level
- move.b #3,($FFFFFE12).w
- move.b #3,($FFFFFEC6).w
- moveq #0,d0
- move.w d0,($FFFFFE20).w
- move.l d0,($FFFFFE22).w
- move.l d0,($FFFFFE26).w
- move.w d0,($FFFFFED0).w
- move.l d0,($FFFFFED2).w
- move.l d0,($FFFFFED6).w
- move.b d0,($FFFFFE18).w
- move.l #$1388,($FFFFFFC0).w
- move.l #$1388,($FFFFFFC4).w
+ move.b #$C,(Game_mode).w ; Play a level
+ move.b #3,(Life_count).w
+ move.b #3,(Life_count_P2).w
+ moveq #0,d0
+ move.w d0,(Ring_count).w
+ move.l d0,(Timer).w
+ move.l d0,(Score).w
+ move.w d0,(Ring_count_P2).w
+ move.l d0,(Timer_P2).w
+ move.l d0,(Score_P2).w
+ move.b d0,(Continue_count).w
+ move.l #$1388,(Next_extra_life_score).w
+ move.l #$1388,(Next_extra_life_score_P2).w
moveq #-$1F,d0
bsr.w Play_Sound_2
moveq #0,d0
- move.b ($FFFFFF86).w,d0
+ move.b (Title_screen_option).w,d0
cmpi.b #2,d0
bcc.w loc_5464
add.w d0,d0
addq.w #1,d0
- move.w d0,($FFFFFF0A).w
+ move.w d0,(Player_option).w
move.w #$700,d0
- move.w d0,($FFFFFE10).w
- move.w d0,($FFFFEE4E).w
- move.w d0,($FFFFFE2C).w
- clr.w ($FFFFFE16).w
- clr.w ($FFFFFFB0).w
- clr.l ($FFFFFFB2).w
+ move.w d0,(Current_zone_and_act).w
+ move.w d0,(Apparent_zone_and_act).w
+ move.w d0,(Saved_zone_and_act).w
+ clr.w (Current_special_stage).w
+ clr.w (Emerald_count).w
+ clr.l (Collected_emeralds_array).w
clr.w ($FFFFFFB6).w
clr.b ($FFFFFFB8).w
clr.l ($FFFFFF92).w
clr.l ($FFFFE660).w
- tst.b ($FFFFFFE0).w
+ tst.b (Level_select_flag).w
beq.s locret_546A
- btst #6,($FFFFF604).w
+ btst #6,(Ctrl_1).w
beq.s locret_546A
loc_5464:
- move.b #$28,($FFFFF600).w
+ move.b #$28,(Game_mode).w
locret_546A:
@@ -5876,37 +5879,37 @@ locret_546A: loc_546C:
moveq #-$1F,d0 ; Start demo by fading out music
bsr.w Play_Sound_2
- move.w ($FFFFFFD2).w,d0 ; Get demo number
+ move.w (Next_demo_number).w,d0 ; Get demo number
cmpi.w #3,d0
bcc.s loc_547E
moveq #3,d0
loc_547E:
- move.w d0,($FFFFFFD2).w
- move.w d0,($FFFFEF7A).w
+ move.w d0,(Next_demo_number).w
+ move.w d0,(Demo_number).w
andi.w #7,d0
add.w d0,d0
lea DemoLevels(pc),a0
move.w (a0,d0.w),d0 ; Get the right demo level
- move.w d0,($FFFFFE10).w
- move.w d0,($FFFFEE4E).w
- move.w d0,($FFFFFE2C).w ; Move it to various level ID locations
- move.w ($FFFFFFD2).w,d1
+ move.w d0,(Current_zone_and_act).w
+ move.w d0,(Apparent_zone_and_act).w
+ move.w d0,(Saved_zone_and_act).w ; Move it to various level ID locations
+ move.w (Next_demo_number).w,d1
addq.w #1,d1
cmpi.w #7,d1
bcs.s loc_54AE
moveq #3,d1
loc_54AE:
- move.w d1,($FFFFFFD2).w
+ move.w d1,(Next_demo_number).w
tst.w d0
bpl.s loc_54E0
- move.b #$34,($FFFFF600).w ; Special stage
- move.b #1,($FFFFFE16).w
- move.b #1,($FFFFFFBB).w
- move.b #7,($FFFFFE10).w
- clr.w ($FFFFFFB0).w
- clr.l ($FFFFFFB2).w
+ move.b #$34,(Game_mode).w ; Special stage
+ move.b #1,(Current_special_stage).w
+ move.b #1,(SK_special_stage_flag).w
+ move.b #7,(Current_zone).w
+ clr.w (Emerald_count).w
+ clr.l (Collected_emeralds_array).w
clr.w ($FFFFFFB6).w
clr.b ($FFFFFFB8).w
bra.s loc_54F0
@@ -5918,44 +5921,44 @@ loc_54E0: jsr Prep_MHZDemo(pc) ; If doing Mushroom Hill demo, do this routine
loc_54EA:
- move.b #8,($FFFFF600).w
+ move.b #8,(Game_mode).w
loc_54F0:
- move.w #1,($FFFFFFD0).w
- move.b #3,($FFFFFE12).w
- move.b #3,($FFFFFEC6).w
+ move.w #1,(Demo_mode_flag).w
+ move.b #3,(Life_count).w
+ move.b #3,(Life_count_P2).w
moveq #0,d0
- move.w d0,($FFFFFE20).w
- move.l d0,($FFFFFE22).w
- move.l d0,($FFFFFE26).w
- move.w d0,($FFFFFED0).w
- move.l d0,($FFFFFED2).w
- move.l d0,($FFFFFED6).w
- move.l #$1388,($FFFFFFC0).w
- move.l #$1388,($FFFFFFC4).w
+ move.w d0,(Ring_count).w
+ move.l d0,(Timer).w
+ move.l d0,(Score).w
+ move.w d0,(Ring_count_P2).w
+ move.l d0,(Timer_P2).w
+ move.l d0,(Score_P2).w
+ move.l #$1388,(Next_extra_life_score).w
+ move.l #$1388,(Next_extra_life_score_P2).w
rts
; =============== S U B R O U T I N E =======================================
Prep_MHZDemo:
- move.w #$6F4,($FFFFFE2E).w
- move.w #$9EC,($FFFFFE30).w
- move.b #1,($FFFFFE2A).w
- move.b #1,($FFFFFE2B).w
- move.w d0,($FFFFFE2C).w
- move.w d0,($FFFFFF9A).w
- move.w #$680,($FFFFFE38).w
- move.w #$C0D,($FFFFFE3A).w
- clr.w ($FFFFFE32).w
- clr.b ($FFFFFE43).w
- clr.l ($FFFFFE34).w
- clr.b ($FFFFFE46).w
- move.w #$AA0,($FFFFFE44).w
- move.w #$680,($FFFFFE3C).w
- move.w #$98C,($FFFFFE3E).w
- move.w #$1000,($FFFFFE40).w
- clr.b ($FFFFFE42).w
+ move.w #$6F4,(Saved_X_pos).w
+ move.w #$9EC,(Saved_Y_pos).w
+ move.b #1,(Last_star_post_hit).w
+ move.b #1,(Saved_last_star_post_hit).w
+ move.w d0,(Saved_zone_and_act).w
+ move.w d0,(Saved_apparent_zone_and_act).w
+ move.w #$680,(Saved_art_tile).w
+ move.w #$C0D,(Saved_solid_bits).w
+ clr.w (Saved_ring_count).w
+ clr.b (Saved_extra_life_flags).w
+ clr.l (Saved_timer).w
+ clr.b (Saved_dynamic_resize_routine).w
+ move.w #$AA0,(Saved_camera_max_Y_pos).w
+ move.w #$680,(Saved_camera_X_pos).w
+ move.w #$98C,(Saved_camera_Y_pos).w
+ move.w #$1000,(Saved_mean_water_level).w
+ clr.b (Saved_water_full_screen_flag).w
rts
; End of function Prep_MHZDemo
@@ -5988,10 +5991,10 @@ loc_5666: cmpi.w #3,($FFFFEEC0).w
bne.s loc_56AA ; Wait until the proper phase of the title sequence
ori.w #$8000,$A(a0) ; Modify the priority of the sprite
- cmpi.w #$E0,($FFFFEE7C).w
+ cmpi.w #$E0,(Camera_Y_pos).w
bcc.s loc_56B0 ; If the foreground Y is past $E0, branch
- addq.w #8,($FFFFEE7C).w ; Otherwise scroll foreground by 8 pixels
- cmpi.w #$C8,($FFFFEE7C).w
+ addq.w #8,(Camera_Y_pos).w ; Otherwise scroll foreground by 8 pixels
+ cmpi.w #$C8,(Camera_Y_pos).w
bne.s loc_5698
lea (ArtKosM_SonicLand).l,a1 ; Once foreground has hit C8 Y
move.w #$8C40,d2
@@ -6000,7 +6003,7 @@ loc_5666: loc_5698:
lea ($FFFF8580).w,a1 ; First frame data (Knuckles only)
move.l #$40000003,d0
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
bsr.w Copy_Map_Line_To_VRAM ; Since the nametable is only 32 tiles high, we can't copy the first foreground mapping frame for Sonic and Knuckles wholesale.
; We set up each line of mappings data every time the screen scrolls down further
@@ -6020,9 +6023,9 @@ loc_56B0: move.b #6,$24(a0) ; Set up an internal timer
loc_56D4:
- cmpi.w #$100,($FFFFEE7C).w
+ cmpi.w #$100,(Camera_Y_pos).w
beq.s loc_56E2 ; When screen has hit $100 Y, branch
- addq.w #8,($FFFFEE7C).w
+ addq.w #8,(Camera_Y_pos).w
rts
; ---------------------------------------------------------------------------
@@ -6067,7 +6070,7 @@ Obj_SKTitle_SonicFallFinish: lea (ArtKosM_SKTitle_Menu).l,a1
move.w #$8C40,d2
jsr (Queue_Kos_Module).l ; Set up the banner and menu graphics to replace the landing graphics
- move.l #Obj_SKTitle_Banner,($FFFFB0DE).w
+ move.l #Obj_SKTitle_Banner,(Dynamic_object_RAM).w
move.b #$1E,($FFFFB102).w ; $24 of object set to $1E
move.l #Obj_SKTitle_SonicFallEnd,(a0) ; Disable object
@@ -6092,12 +6095,12 @@ Obj_SKTitle_DeathEggMain: cmpi.w #$F0,$14(a0)
beq.s loc_57D8 ; If death egg has reached volcano, branch
addi.l #$8000,$14(a0) ; Move death egg sprite downward
- cmpi.w #$100,($FFFFEE64).w
+ cmpi.w #$100,(Camera_Y_pos_P2).w
beq.s loc_57D2
- addq.w #1,($FFFFEE64).w ; Scroll screen downwards
+ addq.w #1,(Camera_Y_pos_P2).w ; Scroll screen downwards
lea ($FFFF7CC0).l,a1
move.l #$60000003,d0
- move.w ($FFFFEE64).w,d1
+ move.w (Camera_Y_pos_P2).w,d1
bsr.w Copy_Map_Line_To_VRAM ; Update second nametable with background mappings as the screen scrolls down
loc_57D2:
@@ -6116,13 +6119,13 @@ loc_57D8: Obj_SKTitle_DeathEggShake:
bsr.w SKTitle_ScreenShake
- cmpi.w #$100,($FFFFEE64).w
+ cmpi.w #$100,(Camera_Y_pos_P2).w
beq.s loc_5832
subi.l #$8000,$32(a0) ; Move Death Egg backwards to keep up with scroll
- addi.l #$8000,($FFFFEE64).w
+ addi.l #$8000,(Camera_Y_pos_P2).w
lea ($FFFF7CC0).l,a1
move.l #$60000003,d0
- move.w ($FFFFEE64).w,d1
+ move.w (Camera_Y_pos_P2).w,d1
bsr.w Copy_Map_Line_To_VRAM ; Continue drawing mapping lines
loc_5832:
@@ -6130,8 +6133,8 @@ loc_5832: move.w $32(a0),d1
tst.w ($FFFFEECC).w
beq.s loc_5848
- sub.w ($FFFFEE68).w,d0
- sub.w ($FFFFEE6C).w,d1 ; Shake Death Egg along with screen
+ sub.w (Camera_X_pos_P2_copy).w,d0
+ sub.w (Camera_Y_pos_P2_copy).w,d1 ; Shake Death Egg along with screen
loc_5848:
move.w d0,$10(a0)
@@ -6150,12 +6153,12 @@ Obj_SKTitle_Mountain: Obj_SKTitle_MountainMain:
move.w #$140,d0
move.w #$1A8,d1
- sub.w ($FFFFEE60).w,d0
- sub.w ($FFFFEE64).w,d1
+ sub.w (Camera_X_pos_P2).w,d0
+ sub.w (Camera_Y_pos_P2).w,d1
tst.w ($FFFFEECC).w
beq.s loc_589A
- sub.w ($FFFFEE68).w,d0
- sub.w ($FFFFEE6C).w,d1
+ sub.w (Camera_X_pos_P2_copy).w,d0
+ sub.w (Camera_Y_pos_P2_copy).w,d1
loc_589A:
move.w d0,$10(a0)
@@ -6359,8 +6362,8 @@ Obj_SKTitle_Icon: move.w $10(a0),(a2)+
move.w $14(a0),(a2)+ ; First sprite is the sonic/knuckles icon
move.w #0,(a2)+
- andi.b #1,($FFFFFF86).w
- move.b ($FFFFFF86).w,d0
+ andi.b #1,(Title_screen_option).w
+ move.b (Title_screen_option).w,d0
ror.b #1,d0
move.b d0,$26(a0)
move.b #8,$27(a0)
@@ -6368,11 +6371,11 @@ Obj_SKTitle_Icon: Obj_SKTitle_IconDisplay:
moveq #0,d2
- move.b ($FFFFFF86).w,d2 ; Get current selection
+ move.b (Title_screen_option).w,d2 ; Get current selection
move.b $26(a0),d0
andi.b #$7F,d0
bne.s loc_5B9E ; If selection is currently, being rotated, branch
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
btst #0,d0
beq.s loc_5B6E
subq.b #8,$26(a0) ; if down was pressed, rotate backwards
@@ -6395,7 +6398,7 @@ loc_5B6E: loc_5B8C:
- move.b d2,($FFFFFF86).w ; Move selection
+ move.b d2,(Title_screen_option).w ; Move selection
andi.b #3,d0
beq.s loc_5B9E
moveq #$5B,d0
@@ -6451,14 +6454,14 @@ Obj_SKTitle_Icon2: move.w #$14C,$14(a0)
move.l #Map_SKTitle_Icon,$C(a0)
move.w #$8462,$A(a0)
- move.b ($FFFFFF86).w,d0
+ move.b (Title_screen_option).w,d0
move.b d0,$20(a0)
move.b d0,$21(a0)
move.b #1,$23(a0)
move.l #Obj_SKTitle_Icon2Display,(a0)
Obj_SKTitle_Icon2Display:
- move.b ($FFFFFF86).w,$20(a0)
+ move.b (Title_screen_option).w,$20(a0)
lea (Ani_SKTitle_Icon).l,a1
jsr (Animate_Sprite).l
jmp (Draw_Sprite).l
@@ -6478,7 +6481,7 @@ Obj_SKTitle_TM: move.l #Obj_SKTitle_TMDisplay,(a0)
Obj_SKTitle_TMDisplay:
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bpl.s locret_5CAE
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -6522,7 +6525,7 @@ Copy_Map_Line_To_VRAM: add.w d2,d0
swap d0
moveq #$27,d3
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
move #$2700,sr
bsr.s sub_5D42
move #$2300,sr
@@ -6536,7 +6539,7 @@ locret_5D22: RAM_Map_Data_To_VDP:
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
moveq #$27,d1
moveq #$1F,d2
@@ -6555,7 +6558,7 @@ loc_5D2E: sub_5D42:
- move.l d0,4(a6)
+ move.l d0,VDP_control_port-VDP_data_port(a6)
loc_5D46:
move.w (a1)+,(a6)
@@ -6568,8 +6571,8 @@ loc_5D46: ClearVRAMArea:
- lea ($C00000).l,a6
- move.l d0,4(a6)
+ lea (VDP_data_port).l,a6
+ move.l d0,VDP_control_port-VDP_data_port(a6)
moveq #0,d0
loc_5D5A:
@@ -6596,9 +6599,9 @@ loc_5D72: lea (a1,d0.w),a1
moveq #0,d0
move.b (a1)+,d0
- move.w d0,($FFFFEE6C).w
+ move.w d0,(Camera_Y_pos_P2_copy).w
move.b (a1)+,d0
- move.w d0,($FFFFEE68).w
+ move.w d0,(Camera_X_pos_P2_copy).w
locret_5D92:
rts
@@ -6610,28 +6613,28 @@ locret_5D92: SKTitle_DeformBG:
- move.w ($FFFFEE7C).w,($FFFFF616).w
- move.w ($FFFFEE64).w,($FFFFF618).w ; Move BG position values to their proper spots
+ move.w (Camera_Y_pos).w,(V_scroll_value).w
+ move.w (Camera_Y_pos_P2).w,(V_scroll_value_BG).w ; Move BG position values to their proper spots
moveq #0,d2
tst.w ($FFFFEECC).w
beq.s loc_5DB8
- move.w ($FFFFEE6C).w,d0
- add.w d0,($FFFFF616).w
- add.w d0,($FFFFF618).w ; Shake the screen by the proper offsets if screen shaking is on
- move.w ($FFFFEE68).w,d2 ; Move shake X amount to d2
+ move.w (Camera_Y_pos_P2_copy).w,d0
+ add.w d0,(V_scroll_value).w
+ add.w d0,(V_scroll_value_BG).w ; Shake the screen by the proper offsets if screen shaking is on
+ move.w (Camera_X_pos_P2_copy).w,d2 ; Move shake X amount to d2
loc_5DB8:
- lea ($FFFFE000).w,a1
+ lea (H_scroll_buffer).w,a1
move.w ($FFFFEEC0).w,d0
bne.s loc_5DE0
loc_5DC2:
move.w #$DF,d1 ; If routine counter is zero
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
add.w d2,d0
neg.w d0
swap d0
- move.w ($FFFFEE60).w,d0
+ move.w (Camera_X_pos_P2).w,d0
add.w d2,d0
neg.w d0
@@ -6644,7 +6647,7 @@ loc_5DD8: loc_5DE0:
subq.w #1,d0
bne.s loc_5E0E
- add.w ($FFFFEE60).w,d2 ; If routine counter is 1
+ add.w (Camera_X_pos_P2).w,d2 ; If routine counter is 1
neg.w d2
move.w #$6F,d3
@@ -6674,7 +6677,7 @@ loc_5E0E: bsr.w ClearVRAMArea ; Clear the Sega logo mappings from foreground
move #$2300,sr
lea (Pal_SKTitle_Knux).l,a0
- lea ($FFFFFC20).w,a2
+ lea (Normal_palette_line_2).w,a2
moveq #7,d0
loc_5E3E:
@@ -6686,7 +6689,7 @@ loc_5E3E: ; ---------------------------------------------------------------------------
loc_5E52:
- move.w ($FFFFEE60).w,d2
+ move.w (Camera_X_pos_P2).w,d2
neg.w d2
move.w #$6F,d3
@@ -6739,16 +6742,16 @@ LevelMusic_Playlist:binclude "Sound\Music\Music playlist.bin" Level:
- bset #7,($FFFFF600).w ; Set bit 7 of F600 is indicate that we're loading the level
- tst.w ($FFFFFFD0).w
+ bset #7,(Game_mode).w ; Set bit 7 of F600 is indicate that we're loading the level
+ tst.w (Demo_mode_flag).w
bmi.s loc_5FC4
moveq #-$1F,d0 ; If a demo
bsr.w Play_Sound_2
loc_5FC4:
- clr.w ($FFFFEF72).w
- clr.w ($FFFFFF0E).w
- lea ($FFFFFF10).w,a1
+ clr.w (Ending_running_flag).w
+ clr.w (Kos_decomp_queue_count).w
+ lea (Kos_decomp_stored_registers).w,a1
moveq #0,d0
move.w #$1A,d1
@@ -6756,11 +6759,11 @@ loc_5FD6: move.l d0,(a1)+ ; Clear the KosM bytes
dbf d1,loc_5FD6
bsr.w Clear_Nem_Queue ; Clear PLCs
- cmpi.w #$D01,($FFFFFE10).w
+ cmpi.w #$D01,(Current_zone_and_act).w
beq.s loc_5FFC
tst.b ($FFFFFF97).w
beq.s loc_5FF6
- cmpi.w #$1701,($FFFFFE10).w
+ cmpi.w #$1701,(Current_zone_and_act).w
beq.s loc_5FFC
loc_5FF6:
@@ -6773,33 +6776,33 @@ loc_5FFC: bsr.w Pal_FadeToWhite ; If level being loaded is the special stage arena or an ending
loc_6000:
- tst.w ($FFFFFFD0).w
+ tst.w (Demo_mode_flag).w
bmi.w loc_60DE ; Skip ahead if FFFFD0 is negative (?)
move #$2700,sr
bsr.w Clear_DisplayData ; Clear the screen
move #$2300,sr
moveq #0,d0
- move.w d0,($FFFFFE04).w
- tst.b ($FFFFFE2A).w
+ move.w d0,(Level_frame_counter).w
+ tst.b (Last_star_post_hit).w
beq.s loc_6040 ; If no lampost was set, branch
- tst.b ($FFFFFE48).w
+ tst.b (Special_bonus_entry_flag).w
bne.s loc_6034 ; Otherwise, ensure that the proper level ID is set to account for levels that use multiple ones in an act
- move.w ($FFFFFE2C).w,($FFFFFE10).w
- move.w ($FFFFFF9A).w,($FFFFEE4E).w
+ move.w (Saved_zone_and_act).w,(Current_zone_and_act).w
+ move.w (Saved_apparent_zone_and_act).w,(Apparent_zone_and_act).w
bra.s loc_6040
; ---------------------------------------------------------------------------
loc_6034:
- move.w ($FFFFFE4A).w,($FFFFFE10).w
- move.w ($FFFFFF9C).w,($FFFFEE4E).w
+ move.w (Saved2_zone_and_act).w,(Current_zone_and_act).w
+ move.w (Saved2_apparent_zone_and_act).w,(Apparent_zone_and_act).w
loc_6040:
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
bne.s loc_6058
- cmpi.w #2,($FFFFFF08).w ; If level is Angel Island 1
+ cmpi.w #2,(Player_mode).w ; If level is Angel Island 1
bcc.s loc_6054
- tst.b ($FFFFFE2A).w ; If character is Sonic
+ tst.b (Last_star_post_hit).w ; If character is Sonic
beq.s loc_6058 ; And no lamppost is set
loc_6054:
@@ -6807,9 +6810,9 @@ loc_6054: loc_6058:
- cmpi.w #$401,($FFFFFE10).w
+ cmpi.w #$401,(Current_zone_and_act).w
bne.s loc_6068
- cmpi.b #6,($FFFFFE2A).w
+ cmpi.b #6,(Last_star_post_hit).w
beq.s loc_6088 ; If level is Flying Battery 2 and lamppost is 6 or above (presumably the one before the boss) don't bother loading level PLCs
loc_6068:
@@ -6828,11 +6831,11 @@ loc_6068: loc_6088:
bsr.w LevelLoad_ActiveCharacter
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.w loc_60B4
- cmpi.w #0,($FFFFFE10).w
+ cmpi.w #0,(Current_zone_and_act).w
bne.s loc_60B4
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcc.s loc_60B4
moveq #1,d0 ; If in AIZ intro
jsr (Load_PLC_2).l
@@ -6844,16 +6847,16 @@ loc_6088: loc_60B4:
moveq #6,d0
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_60DA
moveq #5,d0
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_60DA
moveq #1,d0
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_60DA
moveq #7,d0
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bmi.s loc_60DA
moveq #$52,d0
@@ -6863,21 +6866,22 @@ loc_60DA: loc_60DE:
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
+
move.w #$FF,d1
loc_60E8:
move.l d0,(a1)+
dbf d1,loc_60E8
- lea ($FFFFB000).w,a1
+ lea (Object_RAM).w,a1
moveq #0,d0
move.w #$7FF,d1
loc_60F8:
move.l d0,(a1)+
dbf d1,loc_60F8
- lea ($FFFFF628).w,a1
+ lea (Lag_frame_count).w,a1
moveq #0,d0
move.w #$15,d1
@@ -6906,7 +6910,7 @@ loc_6138: move.l d0,(a1)+
dbf d1,loc_6138
jsr (Init_SpriteTable).l
- lea ($C00004).l,a6
+ lea (VDP_control_port).l,a6
move.w #$8B03,(a6)
move.w #$8230,(a6)
move.w #$8407,(a6)
@@ -6916,106 +6920,106 @@ loc_6138: move.w #$9200,(a6)
move.w #$8720,(a6)
move.w #$8C81,(a6)
- tst.b ($FFFFFFE2).w
+ tst.b (Debug_cheat_flag).w
beq.s loc_6182
- btst #6,($FFFFF604).w
+ btst #6,(Ctrl_1).w
beq.s loc_6182
- move.b #1,($FFFFFFDA).w
+ move.b #1,(Debug_mode_flag).w
loc_6182:
- move.w #$8AFF,($FFFFF624).w
- tst.w ($FFFFFFE8).w
+ move.w #$8AFF,(H_int_counter_command).w
+ tst.w (Competition_mode).w
beq.s loc_61BE
- move.w #$4EF9,($FFFFFFF6).w
- move.l #HInt,($FFFFFFF8).w
+ move.w #$4EF9,(H_int_jump).w
+ move.l #HInt,(H_int_addr).w
move.w #$8014,(a6)
move.w #$8220,(a6)
move.w #$8405,(a6)
- move.w #$8A6B,($FFFFF624).w
+ move.w #$8A6B,(H_int_counter_command).w
move.w #$9003,(a6)
- cmpi.b #$F,($FFFFFE10).w
+ cmpi.b #$F,(Current_zone).w
bne.s loc_61BE
move.w #$9011,(a6)
loc_61BE:
- move.w ($FFFFF624).w,(a6)
- clr.w ($FFFFFB00).w
- move.l #$FFFFFB00,($FFFFFBFC).w
+ move.w (H_int_counter_command).w,(a6)
+ clr.w (DMA_queue).w
+ move.l #$FFFFFB00,(DMA_queue_slot).w
moveq #3,d0
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_61DA
moveq #5,d0
loc_61DA:
bsr.w LoadPalette_Immediate
bsr.w CheckLevelForWater
- lea ($FFFFF0A0).w,a1
+ lea (Water_palette_line_2).w,a1
moveq #0,d0
move.w #$17,d1
loc_61EC:
move.l d0,(a1)+
dbf d1,loc_61EC
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.s loc_61FC
move.w #$8014,(a6)
loc_61FC:
- tst.w ($FFFFFFD0).w
+ tst.w (Demo_mode_flag).w
bmi.w loc_6310
moveq #0,d0
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #7,d0
lea (LevelMusic_Playlist).l,a1
move.b (a1,d0.w),d0
- cmpi.w #1,($FFFFFE10).w
+ cmpi.w #1,(Current_zone_and_act).w
bne.s loc_622A
- cmpi.b #3,($FFFFFE2A).w
+ cmpi.b #3,(Last_star_post_hit).w
bne.s loc_622A
moveq #1,d0
loc_622A:
- cmpi.w #$700,($FFFFFE10).w
+ cmpi.w #$700,(Current_zone_and_act).w
bne.s loc_6248
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_6248
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
beq.s loc_6248
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.s loc_6248
moveq #$1F,d0
loc_6248:
- move.w d0,($FFFFFF90).w
+ move.w d0,(Level_music).w
bsr.w Play_Sound
- tst.w ($FFFFFE10).w
+ tst.w (Current_zone_and_act).w
bne.s loc_6268
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcc.s loc_62B6
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
beq.w loc_62FE
bra.s loc_62B6
; ---------------------------------------------------------------------------
loc_6268:
- cmpi.w #$700,($FFFFFE10).w
+ cmpi.w #$700,(Current_zone_and_act).w
bne.s loc_62B6
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_62B6
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
beq.s loc_62B6
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.s loc_62B6
move #$2700,sr
- move.l #$70000002,($C00004).l
+ move.l #$70000002,(VDP_control_port).l
lea (ArtNem_Squirrel).l,a0
jsr (Nem_Decomp).l
- move.l #$72400002,($C00004).l
+ move.l #$72400002,(VDP_control_port).l
lea (ArtNem_Chicken).l,a0
jsr (Nem_Decomp).l
bra.s loc_62FE
@@ -7023,15 +7027,15 @@ loc_6268: loc_62B6:
- cmpi.w #$1701,($FFFFFE10).w
+ cmpi.w #$1701,(Current_zone_and_act).w
beq.s loc_62FE
- tst.b ($FFFFEE5E).w
+ tst.b (Act_3_flag).w
bne.s loc_62FE
move.l #Obj_TitleCard,($FFFFB250).w
loc_62CC:
- move.b #$C,($FFFFF62A).w
+ move.b #$C,(V_int_routine).w
jsr (Process_Kos_Queue).l
bsr.w Wait_VSync
jsr (Process_Sprites).l
@@ -7040,12 +7044,12 @@ loc_62CC: jsr (Process_Kos_Module_Queue).l
tst.w ($FFFFB298).w
bne.s loc_62CC
- tst.l ($FFFFF680).w
+ tst.l (Nem_decomp_queue).w
bne.s loc_62CC
loc_62FE:
- clr.b ($FFFFEE5E).w
+ clr.b (Act_3_flag).w
move #$2700,sr
jsr (sub_DE9C).l
move #$2300,sr
@@ -7063,19 +7067,19 @@ loc_6310: jsr (Animate_Init).l
bsr.w LoadSolids
bsr.w Handle_Onscreen_Water_Height
- move.w ($FFFFF606).w,($FFFFFF7C).w
- move.w #0,($FFFFF602).w
- move.w #0,($FFFFF66A).w
- move.w #0,($FFFFF604).w
- move.w #0,($FFFFF606).w
- move.b #1,($FFFFF7CA).w
- move.b #1,($FFFFF7CB).w
- move.b #0,($FFFFF711).w
- tst.b ($FFFFF730).w
+ move.w (Ctrl_2).w,($FFFFFF7C).w
+ move.w #0,(Ctrl_1_logical).w
+ move.w #0,(Ctrl_2_logical).w
+ move.w #0,(Ctrl_1).w
+ move.w #0,(Ctrl_2).w
+ move.b #1,(Ctrl_1_locked).w
+ move.b #1,(Ctrl_2_locked).w
+ move.b #0,(Level_started_flag).w
+ tst.b (Water_flag).w
beq.s loc_63A4
- cmpi.b #1,($FFFFFE10).w
+ cmpi.b #1,(Current_zone).w
beq.s loc_638E
- cmpi.b #1,($FFFFFE10).w
+ cmpi.b #1,(Current_zone).w
bne.s loc_63A4
loc_638E:
@@ -7085,33 +7089,33 @@ loc_638E: loc_63A4:
- cmpi.b #7,($FFFFFE10).w
+ cmpi.b #7,(Current_zone).w
bne.s loc_63B4
move.l #Obj_MHZ_Pollen_Spawner,($FFFFB128).w
loc_63B4:
moveq #0,d0
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.s loc_6404
- move.w d0,($FFFFFE20).w
- move.l d0,($FFFFFE22).w
- move.b d0,($FFFFFE1B).w
- move.w d0,($FFFFFED0).w
- move.l d0,($FFFFFED2).w
- move.b d0,($FFFFFE47).w
- cmpi.w #$1600,($FFFFFE10).w
+ move.w d0,(Ring_count).w
+ move.l d0,(Timer).w
+ move.b d0,(Extra_life_flags).w
+ move.w d0,(Ring_count_P2).w
+ move.l d0,(Timer_P2).w
+ move.b d0,(Saved_status_secondary).w
+ cmpi.w #$1600,(Current_zone_and_act).w
beq.s loc_6400
- cmpi.w #$1700,($FFFFFE10).w
+ cmpi.w #$1700,(Current_zone_and_act).w
beq.s loc_6400
- cmpi.w #$1701,($FFFFFE10).w
+ cmpi.w #$1701,(Current_zone_and_act).w
beq.s loc_6404
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
bcc.s loc_63FC
- cmpi.b #$13,($FFFFFE10).w
+ cmpi.b #$13,(Current_zone).w
bcc.s loc_6404
loc_63FC:
- move.b d0,($FFFFFF96).w
+ move.b d0,(Saved2_status_secondary).w
loc_6400:
@@ -7119,31 +7123,31 @@ loc_6400: loc_6404:
- move.b d0,($FFFFFE1A).w
- move.w d0,($FFFFFE08).w
- move.w d0,($FFFFFE02).w
- move.b d0,($FFFFF622).w
- move.b d0,($FFFFF623).w
- move.w d0,($FFFFFEC8).w
- move.w d0,($FFFFFECA).w
+ move.b d0,(Time_over_flag).w
+ move.w d0,(Debug_placement_mode).w
+ move.w d0,(Restart_level_flag).w
+ move.b d0,(Teleport_active_timer).w
+ move.b d0,(Teleport_active_flag).w
+ move.w d0,(Total_ring_count).w
+ move.w d0,(Total_ring_count_P2).w
move.w d0,($FFFFFECC).w
move.w d0,($FFFFFECE).w
move.w d0,($FFFFFEDE).w
move.b d0,($FFFFFE65).w
- move.b d0,($FFFFFE19).w
+ move.b d0,(Super_Sonic_Knux_flag).w
bsr.w sub_76E6
- move.b #1,($FFFFFE1F).w
- move.b #1,($FFFFFE1D).w
- move.b #1,($FFFFFE1E).w
- move.b #1,($FFFFF711).w
- cmpi.w #$D01,($FFFFFE10).w
+ move.b #1,(Update_HUD_score).w
+ move.b #1,(Update_HUD_ring_count).w
+ move.b #1,(Update_HUD_timer).w
+ move.b #1,(Level_started_flag).w
+ cmpi.w #$D01,(Current_zone_and_act).w
beq.s loc_6460
- cmpi.w #$1701,($FFFFFE10).w
+ cmpi.w #$1701,(Current_zone_and_act).w
bne.s loc_6468
loc_6460:
- clr.b ($FFFFFE1E).w
- clr.b ($FFFFF711).w
+ clr.b (Update_HUD_timer).w
+ clr.b (Level_started_flag).w
loc_6468:
bsr.w SpawnLevelMainSprites
@@ -7153,62 +7157,62 @@ loc_6468: jsr (Process_Sprites).l
jsr (Render_Sprites).l
jsr (Animate_Tiles).l
- move.w #$708,($FFFFF614).w
+ move.w #$708,(Demo_timer).w
bsr.w LoadWaterPalette
- lea ($FFFFF0A0).w,a1
+ lea (Water_palette_line_2).w,a1
moveq #0,d0
move.w #$17,d1
loc_64A4:
move.l d0,(a1)+
dbf d1,loc_64A4
- move.b #0,($FFFFF7CA).w
- move.b #0,($FFFFF7CB).w
+ move.b #0,(Ctrl_1_locked).w
+ move.b #0,(Ctrl_2_locked).w
jsr GetDemoPtr(pc)
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.w loc_663A
- tst.w ($FFFFFE10).w
+ tst.w (Current_zone_and_act).w
bne.s loc_64CE
loc_64C8:
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
beq.s loc_64DC
loc_64CE:
- cmpi.b #$E,($FFFFFE10).w
+ cmpi.b #$E,(Current_zone).w
bcc.s loc_64DC
jsr (PLCLoad_AnimalsAndExplosion).l
loc_64DC:
- move.w #$202F,($FFFFF626).w
+ move.w #$202F,(Palette_fade_info).w
jsr (Pal_FillBlack).l
- move.w #$16,($FFFFEE50).w
+ move.w #$16,(Palette_fade_timer).w
move.w #$16,($FFFFB27E).w
- move.w #$7F00,($FFFFF604).w
- move.w #$7F00,($FFFFF606).w
- andi.b #$7F,($FFFFFE2A).w
- bclr #7,($FFFFF600).w
+ move.w #$7F00,(Ctrl_1).w
+ move.w #$7F00,(Ctrl_2).w
+ andi.b #$7F,(Last_star_post_hit).w
+ bclr #7,(Game_mode).w
LevelLoop:
bsr.w Pause_Game
- move.b #8,($FFFFF62A).w
+ move.b #8,(V_int_routine).w
jsr (Process_Kos_Queue).l
bsr.w Wait_VSync
- addq.w #1,($FFFFFE04).w
+ addq.w #1,(Level_frame_counter).w
bsr.w Demo_PlayRecord
jsr (Animate_Palette).l
jsr (SpecialEvents).l
jsr (Load_Sprites).l
jsr (Process_Sprites).l
- tst.w ($FFFFFE02).w
+ tst.w (Restart_level_flag).w
bne.w Level
jsr (Restart_From_Starpost).l
jsr (ScreenEvents).l
bsr.w Handle_Onscreen_Water_Height
jsr (Load_Rings).l
- cmpi.b #9,($FFFFFE10).w
+ cmpi.b #9,(Current_zone).w
bne.s Level_NotLRZ
jsr (Draw_LRZ_Special_Rock_Sprites).l
@@ -7219,45 +7223,45 @@ Level_NotLRZ: bsr.w sub_773C
bsr.w sub_77D2
jsr (Render_Sprites).l
- cmpi.b #$15,($FFFFFE10).w
+ cmpi.b #$15,(Current_zone).w
bne.s Level_NotSlots
jsr (Ending_4B356).l
jsr (Slots_CycleOptions).l
Level_NotSlots:
- cmpi.b #8,($FFFFF600).w
+ cmpi.b #8,(Game_mode).w
beq.s DemoMode
- cmpi.b #$C,($FFFFF600).w
+ cmpi.b #$C,(Game_mode).w
beq.w LevelLoop
rts
; ---------------------------------------------------------------------------
DemoMode:
- tst.w ($FFFFFE02).w
+ tst.w (Restart_level_flag).w
bne.s loc_65D0
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
beq.s loc_65D0
- cmpi.b #8,($FFFFF600).w
+ cmpi.b #8,(Game_mode).w
beq.w LevelLoop
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
loc_65D0:
- cmpi.b #8,($FFFFF600).w
+ cmpi.b #8,(Game_mode).w
bne.s loc_65E0
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
loc_65E0:
- move.w #$3C,($FFFFF614).w
- move.w #$3F,($FFFFF626).w
+ move.w #$3C,(Demo_timer).w
+ move.w #$3F,(Palette_fade_info).w
clr.w ($FFFFF794).w
loc_65F0:
- move.b #8,($FFFFF62A).w
+ move.b #8,(V_int_routine).w
bsr.w Wait_VSync
bsr.w Demo_PlayRecord
jsr (Process_Sprites).l
@@ -7272,37 +7276,37 @@ loc_65F0: bsr.w Pal_ToBlack
loc_6632:
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
bne.s loc_65F0
rts
; ---------------------------------------------------------------------------
loc_663A:
move.w #0,($FFFFFF7E).w
- tst.b ($FFFFFFE2).w
+ tst.b (Debug_cheat_flag).w
beq.s loc_665A
move.b ($FFFFFF7C).w,d0
cmpi.b #$A0,d0
bne.s loc_665A
- move.w ($FFFFFF84).w,d0
+ move.w (Sound_test_sound).w,d0
lsl.w #8,d0
move.w d0,($FFFFFF7E).w
loc_665A:
- move.w #$3F,($FFFFF626).w
+ move.w #$3F,(Palette_fade_info).w
jsr (Pal_FillBlack).l
- move.w #$16,($FFFFEE50).w
+ move.w #$16,(Palette_fade_timer).w
move.w #0,($FFFFFF7C).w
- bclr #7,($FFFFF600).w
+ bclr #7,(Game_mode).w
loc_6678:
bsr.w Pause_Game
- move.b #8,($FFFFF62A).w
+ move.b #8,(V_int_routine).w
jsr (Process_Kos_Queue).l
bsr.w Wait_VSync
- addq.w #1,($FFFFFE04).w
+ addq.w #1,(Level_frame_counter).w
move.w #4,-(sp)
bra.s loc_66DA
; ---------------------------------------------------------------------------
@@ -7312,12 +7316,12 @@ loc_6696: add.w d0,($FFFFFF7C).w
bcc.s loc_66EA
bsr.w Pause_Game
- move.w #$100,($A11100).l
+ move.w #$100,(Z80_bus_request).l
bsr.w Poll_Controllers
- move.w #0,($A11100).l
- move.w #0,($FFFFFB00).w
- move.l #$FFFFFB00,($FFFFFBFC).w
- lea ($FFFFAC00).w,a5
+ move.w #0,(Z80_bus_request).l
+ move.w #0,(DMA_queue).w
+ move.l #$FFFFFB00,(DMA_queue_slot).w
+ lea (Sprite_table_input).w,a5
loc_66CA:
move.w #0,(a5)
@@ -7334,7 +7338,7 @@ loc_66EA: subq.w #1,(sp)
bne.s loc_6696
addq.w #2,sp
- tst.w ($FFFFFE02).w
+ tst.w (Restart_level_flag).w
bne.w Level
jsr (ScreenEvents).l
jsr (Animate_Tiles).l
@@ -7342,39 +7346,39 @@ loc_66EA: jsr (Animate_Palette).l
bsr.w Process_Nem_Queue_Init
jsr (Process_Kos_Module_Queue).l
- cmpi.b #8,($FFFFF600).w
+ cmpi.b #8,(Game_mode).w
beq.s loc_672E
- cmpi.b #$C,($FFFFF600).w
+ cmpi.b #$C,(Game_mode).w
beq.w loc_6678
rts
; ---------------------------------------------------------------------------
loc_672E:
- tst.w ($FFFFFE02).w
+ tst.w (Restart_level_flag).w
bne.s loc_674C
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
beq.s loc_674C
- cmpi.b #8,($FFFFF600).w
+ cmpi.b #8,(Game_mode).w
beq.w loc_6678
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
loc_674C:
- cmpi.b #8,($FFFFF600).w
+ cmpi.b #8,(Game_mode).w
bne.s loc_675C
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
loc_675C:
- move.w #$3C,($FFFFF614).w
- move.w #$3F,($FFFFF626).w
+ move.w #$3C,(Demo_timer).w
+ move.w #$3F,(Palette_fade_info).w
clr.w ($FFFFF794).w
loc_676C:
- move.b #8,($FFFFF62A).w
+ move.b #8,(V_int_routine).w
bsr.w Wait_VSync
bsr.w Demo_PlayRecord
jsr (Process_Sprites).l
@@ -7389,7 +7393,7 @@ loc_676C: bsr.w Pal_ToBlack
loc_67AE:
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
bne.s loc_676C
rts
@@ -7397,22 +7401,22 @@ loc_67AE: LevelLoad_ActiveCharacter:
- cmpi.b #$88,($FFFFF600).w
+ cmpi.b #$88,(Game_mode).w
beq.s loc_67CC
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_67CC
- move.w ($FFFFFF0A).w,($FFFFFF08).w ; Move selected character to active character
+ move.w (Player_option).w,(Player_mode).w ; Move selected character to active character
rts
; ---------------------------------------------------------------------------
loc_67CC:
- move.w #3,($FFFFFF08).w ; If loading a demo OR 2P mode enabled (?)
- cmpi.b #7,($FFFFFE10).w
+ move.w #3,(Player_mode).w ; If loading a demo OR 2P mode enabled (?)
+ cmpi.b #7,(Current_zone).w
beq.s locret_67EC
- move.w #0,($FFFFFF08).w
- tst.w ($FFFFFFAE).w
+ move.w #0,(Player_mode).w
+ tst.w (SK_alone_flag).w
beq.s locret_67EC
- move.w #1,($FFFFFF08).w
+ move.w #1,(Player_mode).w
locret_67EC:
rts
@@ -7423,31 +7427,31 @@ locret_67EC: SpawnLevelMainSprites:
- move.l #Obj_Level_6C2C,($FFFFB094).w
+ move.l #Obj_Level_6C2C,(Reserved_object_3).w
bsr.w SpawnLevelMainSprites_SpawnPlayers
bsr.w SpawnLevelMainSprites_SpawnPowerup
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.w locret_69B6
- tst.b ($FFFFFE48).w
+ tst.b (Special_bonus_entry_flag).w
bne.w locret_69B6
- lea ($FFFFB000).w,a1
- lea ($FFFFB04A).w,a2
- cmpi.w #0,($FFFFFE10).w
+ lea (Player_1).w,a1
+ lea (Player_2).w,a2
+ cmpi.w #0,(Current_zone_and_act).w
bne.s loc_6834
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcc.s locret_6832
move.l #Obj_84,($FFFFB172).w
- clr.b ($FFFFF711).w
+ clr.b (Level_started_flag).w
locret_6832:
rts
; ---------------------------------------------------------------------------
loc_6834:
- cmpi.w #$100,($FFFFFE10).w
+ cmpi.w #$100,(Current_zone_and_act).w
bne.s loc_6886
move.b #$1B,$20(a1)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_685C
move.w #$2121,$20(a1)
move.b #1,$23(a1)
@@ -7455,7 +7459,7 @@ loc_6834: loc_685C:
bset #1,$2A(a1)
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_6870
move.b #1,$40(a1)
@@ -7467,15 +7471,15 @@ loc_6870: move.b #1,$40(a2)
loc_6886:
- cmpi.w #$900,($FFFFFE10).w
+ cmpi.w #$900,(Current_zone_and_act).w
bne.s loc_6896
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_68A6
loc_6896:
- cmpi.w #$1600,($FFFFFE10).w
+ cmpi.w #$1600,(Current_zone_and_act).w
beq.s loc_68A6
- cmpi.w #$200,($FFFFFE10).w
+ cmpi.w #$200,(Current_zone_and_act).w
bne.s loc_68C2
loc_68A6:
@@ -7487,19 +7491,19 @@ loc_68A6: bset #1,$2A(a2)
loc_68C2:
- cmpi.w #$700,($FFFFFE10).w
+ cmpi.w #$700,(Current_zone_and_act).w
bne.s loc_68D0
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
beq.s loc_68D8
loc_68D0:
- cmpi.w #$300,($FFFFFE10).w
+ cmpi.w #$300,(Current_zone_and_act).w
bne.s loc_690A
loc_68D8:
- cmpi.w #1,($FFFFFF08).w
+ cmpi.w #1,(Player_mode).w
bne.s loc_68FC
- move.l #Obj_Tails,($FFFFB04A).w
+ move.l #Obj_Tails,(Player_2).w
move.w ($FFFFB010).w,($FFFFB05A).w
move.w ($FFFFB014).w,($FFFFB05E).w
move.w #0,($FFFFF708).w
@@ -7507,14 +7511,14 @@ loc_68D8: ; ---------------------------------------------------------------------------
loc_68FC:
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_690A
move.w #$20,($FFFFF708).w
loc_690A:
- cmpi.w #$500,($FFFFFE10).w
+ cmpi.w #$500,(Current_zone_and_act).w
bne.s loc_692E
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcs.s loc_6926
bne.s loc_692E
move.l #Obj_LevelIntroICZ1Tails,($FFFFB172).w
@@ -7525,21 +7529,21 @@ loc_6926: move.l #Obj_LevelIntroICZ1,($FFFFB172).w
loc_692E:
- cmpi.w #$600,($FFFFFE10).w
+ cmpi.w #$600,(Current_zone_and_act).w
bne.s loc_693E
move.l #Obj_LevelIntro_PlayerLaunchFromGround,($FFFFB172).w
loc_693E:
- cmpi.w #$700,($FFFFFE10).w
+ cmpi.w #$700,(Current_zone_and_act).w
bne.s loc_695A
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_695A
move.b #$1B,$20(a1)
bset #1,$2A(a1)
loc_695A:
; SpawnLevelMainSprites+15Ej
- cmpi.w #$800,($FFFFFE10).w
+ cmpi.w #$800,(Current_zone_and_act).w
bne.s loc_6986
move.l #Obj_LevelIntro_PlayerFallIntoGround,($FFFFB172).w
move.b #2,$20(a1)
@@ -7551,17 +7555,17 @@ loc_695A: loc_6986:
; SpawnLevelMainSprites+18Aj
- cmpi.w #$300,($FFFFFE10).w
+ cmpi.w #$300,(Current_zone_and_act).w
beq.s loc_69A6
- cmpi.w #$B00,($FFFFFE10).w
+ cmpi.w #$B00,(Current_zone_and_act).w
beq.s loc_69AE
- cmpi.w #$1601,($FFFFFE10).w
+ cmpi.w #$1601,(Current_zone_and_act).w
beq.s loc_69AE
- cmpi.w #$900,($FFFFFE10).w
+ cmpi.w #$900,(Current_zone_and_act).w
bne.s locret_69B6
loc_69A6:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s locret_69B6
loc_69AE:
@@ -7578,26 +7582,26 @@ locret_69B6: SpawnLevelMainSprites_SpawnPowerup:
- cmpi.w #$D01,($FFFFFE10).w
+ cmpi.w #$D01,(Current_zone_and_act).w
beq.s locret_6A00
- cmpi.b #$13,($FFFFFE10).w
+ cmpi.b #$13,(Current_zone).w
beq.s loc_69E0
- cmpi.b #$14,($FFFFFE10).w
+ cmpi.b #$14,(Current_zone).w
beq.s loc_69E0
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
bcc.s loc_69E0
- cmpi.b #$E,($FFFFFE10).w
+ cmpi.b #$E,(Current_zone).w
bcc.s locret_6A00
loc_69E0:
; SpawnLevelMainSprites_SpawnPowerup+16j ...
- lea ($FFFFB000).w,a1
- move.b ($FFFFFE47).w,d0
- clr.b ($FFFFFE47).w
+ lea (Player_1).w,a1
+ move.b (Saved_status_secondary).w,d0
+ clr.b (Saved_status_secondary).w
andi.b #$70,d0
bne.s loc_6A02
- move.b ($FFFFFF96).w,d0
- clr.b ($FFFFFF96).w
+ move.b (Saved2_status_secondary).w,d0
+ clr.b (Saved2_status_secondary).w
andi.b #$70,d0
bne.s loc_6A02
@@ -7613,7 +7617,7 @@ loc_6A02: andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #4,$2B(a1)
- move.l #Obj_Fire_Shield,($FFFFCCE8).w
+ move.l #Obj_Fire_Shield,(Shield).w
move.w a1,($FFFFCD2A).w
rts
; ---------------------------------------------------------------------------
@@ -7624,7 +7628,7 @@ loc_6A28: andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #5,$2B(a1)
- move.l #Obj_Lightning_Shield,($FFFFCCE8).w
+ move.l #Obj_Lightning_Shield,(Shield).w
move.w a1,($FFFFCD2A).w
rts
; ---------------------------------------------------------------------------
@@ -7635,7 +7639,7 @@ loc_6A4E: andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #6,$2B(a1)
- move.l #Obj_Bubble_Shield,($FFFFCCE8).w
+ move.l #Obj_Bubble_Shield,(Shield).w
move.w a1,($FFFFCD2A).w
rts
; ---------------------------------------------------------------------------
@@ -7649,40 +7653,40 @@ locret_6A74: SpawnLevelMainSprites_SpawnPlayers:
- cmpi.w #$1300,($FFFFFE10).w
+ cmpi.w #$1300,(Current_zone_and_act).w
bcs.s loc_6A8A
- cmpi.w #$1600,($FFFFFE10).w
+ cmpi.w #$1600,(Current_zone_and_act).w
bcc.s loc_6A8A
- clr.b ($FFFFFE1E).w
+ clr.b (Update_HUD_timer).w
loc_6A8A:
; SpawnLevelMainSprites_SpawnPlayers+Ej
- cmpi.w #$1400,($FFFFFE10).w
+ cmpi.w #$1400,(Current_zone_and_act).w
bne.s loc_6AB8
move.l #Obj_PachinkoEnergyTrap,($FFFFB172).w
move.w #$78,($FFFFB182).w
move.w #$F30,($FFFFB186).w
- move.w ($FFFFFE32).w,($FFFFFE20).w
- move.b ($FFFFFE43).w,($FFFFFE1B).w
- move.b #1,($FFFFFE1D).w
+ move.w (Saved_ring_count).w,(Ring_count).w
+ move.b (Saved_extra_life_flags).w,(Extra_life_flags).w
+ move.b #1,(Update_HUD_ring_count).w
loc_6AB8:
- cmpi.b #$15,($FFFFFE10).w
+ cmpi.b #$15,(Current_zone).w
beq.w loc_6B76
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.w loc_6B94
- move.w ($FFFFFF08).w,d0
+ move.w (Player_mode).w,d0
bne.s loc_6B1E
- move.l #Obj_Sonic,($FFFFB000).w
- move.l #Obj_DashDust,($FFFFCC54).w
- move.l #Obj_Insta_Shield,($FFFFCCE8).w
+ move.l #Obj_Sonic,(Player_1).w
+ move.l #Obj_DashDust,(Dust).w
+ move.l #Obj_Insta_Shield,(Shield).w
move.w #$B000,($FFFFCD2A).w
- move.l #Obj_Tails,($FFFFB04A).w
+ move.l #Obj_Tails,(Player_2).w
move.w ($FFFFB010).w,($FFFFB05A).w
move.w ($FFFFB014).w,($FFFFB05E).w
subi.w #$20,($FFFFB05A).w
addi.w #4,($FFFFB05E).w
- move.l #Obj_DashDust,($FFFFCC9E).w
+ move.l #Obj_DashDust,(Dust_P2).w
move.w #0,($FFFFF708).w
rts
; ---------------------------------------------------------------------------
@@ -7690,9 +7694,9 @@ loc_6AB8: loc_6B1E:
subq.w #1,d0
bne.s loc_6B42
- move.l #Obj_Sonic,($FFFFB000).w
- move.l #Obj_DashDust,($FFFFCC54).w
- move.l #Obj_Insta_Shield,($FFFFCCE8).w
+ move.l #Obj_Sonic,(Player_1).w
+ move.l #Obj_DashDust,(Dust).w
+ move.l #Obj_Insta_Shield,(Shield).w
move.w #$B000,($FFFFCD2A).w
rts
; ---------------------------------------------------------------------------
@@ -7700,16 +7704,16 @@ loc_6B1E: loc_6B42:
subq.w #1,d0
bne.s loc_6B64
- move.l #Obj_Tails,($FFFFB000).w
- move.l #Obj_DashDust,($FFFFCC9E).w
+ move.l #Obj_Tails,(Player_1).w
+ move.l #Obj_DashDust,(Dust_P2).w
addi.w #4,($FFFFB014).w
move.w #0,($FFFFF708).w
rts
; ---------------------------------------------------------------------------
loc_6B64:
- move.l #Obj_Knuckles,($FFFFB000).w
- move.l #Obj_DashDust,($FFFFCC54).w
+ move.l #Obj_Knuckles,(Player_1).w
+ move.l #Obj_DashDust,(Dust).w
rts
; ---------------------------------------------------------------------------
@@ -7717,27 +7721,27 @@ loc_6B76: moveq #0,d0
move.b d0,($FFFFE408).w
move.w d0,($FFFFE406).w
- move.l #Obj_Sonic_RotatingSlotBonus,($FFFFB000).w
+ move.l #Obj_Sonic_RotatingSlotBonus,(Player_1).w
jsr (sub_4B6AA).l
- st ($FFFFEE30).w
+ st (Drowned_flag).w
rts
; ---------------------------------------------------------------------------
loc_6B94:
- move.b ($FFFFFFEA).w,d0
+ move.b (P1_character).w,d0
bsr.s sub_6BD8
- move.l d1,($FFFFB000).w
- move.b ($FFFFFFEA).w,($FFFFB038).w
+ move.l d1,(Player_1).w
+ move.b (P1_character).w,($FFFFB038).w
move.w ($FFFFB010).w,($FFFFB05A).w
move.w ($FFFFB014).w,($FFFFB05E).w
- move.l #Obj_DashDust2P,($FFFFCC54).w
+ move.l #Obj_DashDust2P,(Dust).w
tst.b ($FFFFEF49).w
beq.s loc_6BD6
- move.b ($FFFFFFEB).w,d0
+ move.b (P2_character).w,d0
bsr.s sub_6BD8
- move.l d1,($FFFFB04A).w
- move.b ($FFFFFFEB).w,($FFFFB082).w
- move.l #Obj_DashDust2P,($FFFFCC9E).w
+ move.l d1,(Player_2).w
+ move.b (P2_character).w,($FFFFB082).w
+ move.l #Obj_DashDust2P,(Dust_P2).w
loc_6BD6:
bra.s loc_6BF6
@@ -7767,7 +7771,7 @@ loc_6BEE: ; ---------------------------------------------------------------------------
loc_6BF6:
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
lea (Pal_Level_2P).l,a1
move.w #$F,d0
@@ -7781,16 +7785,16 @@ Pal_Level_2P: binclude "Levels\Misc\Palettes\2P Level Secondary.bin" ; ---------------------------------------------------------------------------
Obj_Level_6C2C:
- move.w #0,($FFFFE380).w
+ move.w #0,(Collision_response_list).w
rts
; =============== S U B R O U T I N E =======================================
Handle_Onscreen_Water_Height:
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.w loc_6C9C
- tst.b ($FFFFEE30).w
+ tst.b (Drowned_flag).w
bne.s loc_6C52
cmpi.b #6,($FFFFB005).w
bcc.s loc_6C52
@@ -7798,28 +7802,28 @@ Handle_Onscreen_Water_Height: bsr.w DynamicWaterHeight
loc_6C52:
- clr.b ($FFFFF64E).w
+ clr.b (Water_full_screen_flag).w
moveq #0,d0
- add.w ($FFFFF648).w,d0
- move.w d0,($FFFFF646).w
- cmpi.w #$100,($FFFFFE10).w
+ add.w (Mean_water_level).w,d0
+ move.w d0,(Water_level).w
+ cmpi.w #$100,(Current_zone_and_act).w
bne.s loc_6C70
- cmpi.w #$900,($FFFFEE78).w
+ cmpi.w #$900,(Camera_X_pos).w
bcs.s loc_6C86
loc_6C70:
- move.w ($FFFFF646).w,d0
- sub.w ($FFFFEE7C).w,d0
+ move.w (Water_level).w,d0
+ sub.w (Camera_Y_pos).w,d0
beq.s loc_6C80
bcc.s loc_6C8E
tst.w d0
bpl.s loc_6C8E
loc_6C80:
- move.b #1,($FFFFF64E).w
+ move.b #1,(Water_full_screen_flag).w
loc_6C86:
- move.b #-1,($FFFFF625).w
+ move.b #-1,(H_int_counter).w
rts
; ---------------------------------------------------------------------------
@@ -7829,7 +7833,7 @@ loc_6C8E: move.w #$FF,d0
loc_6C98:
- move.b d0,($FFFFF625).w
+ move.b d0,(H_int_counter).w
loc_6C9C:
bsr.w sub_714E
@@ -7837,16 +7841,16 @@ loc_6C9C: ; End of function Handle_Onscreen_Water_Height
; ---------------------------------------------------------------------------
- clr.b ($FFFFF64E).w
- move.w ($FFFFF648).w,($FFFFF646).w
- move.l #HInt3,($FFFFFFF8).w
- cmpi.w #$1000,($FFFFFFD6).w
+ clr.b (Water_full_screen_flag).w
+ move.w (Mean_water_level).w,(Water_level).w
+ move.l #HInt3,(H_int_addr).w
+ cmpi.w #$1000,(V_blank_cycles).w
bcs.s loc_6CC4
- move.l #HInt4,($FFFFFFF8).w
+ move.l #HInt4,(H_int_addr).w
loc_6CC4:
- move.w ($FFFFF646).w,d0
- sub.w ($FFFFEE7C).w,d0
+ move.w (Water_level).w,d0
+ sub.w (Camera_Y_pos).w,d0
beq.s loc_6CDC
bcc.s loc_6D18
tst.w d0
@@ -7857,8 +7861,8 @@ loc_6CC4: loc_6CDC:
- move.b #1,($FFFFF64E).w
- move.b #-1,($FFFFF625).w
+ move.b #1,(Water_full_screen_flag).w
+ move.b #-1,(H_int_counter).w
rts
; ---------------------------------------------------------------------------
@@ -7868,12 +7872,12 @@ loc_6CEA: move.w #$FF,d0
loc_6CF4:
- move.b d0,($FFFFF625).w
- move.b #1,($FFFFF64E).w
- move.l #HInt5,($FFFFFFF8).w
- cmpi.w #$1000,($FFFFFFD6).w
+ move.b d0,(H_int_counter).w
+ move.b #1,(Water_full_screen_flag).w
+ move.l #HInt5,(H_int_addr).w
+ cmpi.w #$1000,(V_blank_cycles).w
bcs.s loc_6D16
- move.l #HInt_6,($FFFFFFF8).w
+ move.l #HInt_6,(H_int_addr).w
loc_6D16:
bra.s loc_6D26
@@ -7886,7 +7890,7 @@ loc_6D18: move.w #$FF,d0
loc_6D22:
- move.b d0,($FFFFF625).w
+ move.b d0,(H_int_counter).w
loc_6D26:
bsr.w sub_714E
@@ -7900,22 +7904,22 @@ StartingWaterHeights: binclude "Levels\Misc\StartingWaterHeights.bin" DynamicWaterHeight:
moveq #0,d0
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #6,d0
andi.w #-2,d0
move.w off_6D9C(pc,d0.w),d0
jsr off_6D9C(pc,d0.w)
moveq #0,d1
- move.b ($FFFFF64C).w,d1
- move.w ($FFFFF64A).w,d0
- sub.w ($FFFFF648).w,d0
+ move.b (Water_speed).w,d1
+ move.w (Target_water_level).w,d0
+ sub.w (Mean_water_level).w,d0
beq.s locret_6D9A
bcc.s loc_6D96
neg.w d1
loc_6D96:
- add.w d1,($FFFFF648).w
+ add.w d1,(Mean_water_level).w
locret_6D9A:
rts
@@ -7962,34 +7966,34 @@ locret_6DDC: ; ---------------------------------------------------------------------------
loc_6DDE:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_6DF6
- cmpi.w #$820,($FFFFEE12).w
+ cmpi.w #$820,(Camera_target_max_Y_pos).w
beq.s locret_6E6C
- cmpi.w #$3B60,($FFFFEE78).w
+ cmpi.w #$3B60,(Camera_X_pos).w
bcc.s locret_6E6C
loc_6DF6:
- cmpi.w #$2440,($FFFFEE78).w
+ cmpi.w #$2440,(Camera_X_pos).w
bcc.s loc_6E14
- cmpi.w #$618,($FFFFF64A).w
+ cmpi.w #$618,(Target_water_level).w
bne.s locret_6E6C
- move.w #$528,($FFFFF64A).w
- move.b #2,($FFFFF64C).w
+ move.w #$528,(Target_water_level).w
+ move.b #2,(Water_speed).w
rts
; ---------------------------------------------------------------------------
loc_6E14:
- tst.b ($FFFFF7E0).w
+ tst.b (Level_trigger_array).w
bne.s loc_6E28
- cmpi.w #$2850,($FFFFEE78).w
+ cmpi.w #$2850,(Camera_X_pos).w
bcs.s locret_6E6C
- move.b #1,($FFFFF7E0).w
+ move.b #1,(Level_trigger_array).w
loc_6E28:
- cmpi.w #$618,($FFFFF64A).w
+ cmpi.w #$618,(Target_water_level).w
beq.s locret_6E6C
- cmpi.w #$2900,($FFFFEE78).w
+ cmpi.w #$2900,(Camera_X_pos).w
bcc.s loc_6E52
move.w #-1,($FFFFEECC).w
jsr (Create_New_Sprite).l
@@ -8007,7 +8011,7 @@ loc_6E58: move.b #0,$4E(a1)
addq.w #4,a3
dbf d1,loc_6E58
- move.w #$618,($FFFFF64A).w
+ move.w #$618,(Target_water_level).w
locret_6E6C:
@@ -8043,7 +8047,7 @@ loc_6E9C: loc_6EA4:
lea (dword_6EBA).l,a1
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_6F2C
lea (dword_6EC2).l,a1
bra.s loc_6F2C
@@ -8070,7 +8074,7 @@ dword_6ED4: dc.l $8B000E00 ; ---------------------------------------------------------------------------
loc_6EE8:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_6EF2
rts
; ---------------------------------------------------------------------------
@@ -8083,10 +8087,10 @@ loc_6EF2: ; ---------------------------------------------------------------------------
loc_6F00:
- move.w ($FFFFEE7C).w,d0
- cmp.w ($FFFFF648).w,d0
+ move.w (Camera_Y_pos).w,d0
+ cmp.w (Mean_water_level).w,d0
bcs.s locret_6F10
- move.w #$660,($FFFFF648).w
+ move.w #$660,(Mean_water_level).w
locret_6F10:
rts
@@ -8100,9 +8104,9 @@ locret_6F1A: ; ---------------------------------------------------------------------------
loc_6F1C:
- cmpi.w #$1DE0,($FFFFEE78).w
+ cmpi.w #$1DE0,(Camera_X_pos).w
bcs.s locret_6F2A
- move.w #$510,($FFFFF64A).w
+ move.w #$510,(Target_water_level).w
locret_6F2A:
rts
@@ -8110,7 +8114,7 @@ locret_6F2A: loc_6F2C:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
loc_6F30:
move.l (a1)+,d1
@@ -8120,38 +8124,38 @@ loc_6F30: tst.w d1
bpl.s loc_6F44
andi.w #$7FFF,d1
- move.w d1,($FFFFF648).w
+ move.w d1,(Mean_water_level).w
loc_6F44:
- move.w d1,($FFFFF64A).w
+ move.w d1,(Target_water_level).w
rts
; =============== S U B R O U T I N E =======================================
sub_6F4A:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_705A
- cmpi.b #1,($FFFFFE10).w
+ cmpi.b #1,(Current_zone).w
bne.w locret_705A
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
beq.s loc_6F82
lea ($FFFFF7C8).w,a3
- lea ($FFFFB000).w,a1
- move.b ($FFFFF602).w,d6
+ lea (Player_1).w,a1
+ move.b (Ctrl_1_logical).w,d6
moveq #0,d5
bsr.s HCZ_WaterTunnels
addq.w #1,a3
- lea ($FFFFB04A).w,a1
- move.b ($FFFFF66A).w,d6
+ lea (Player_2).w,a1
+ move.b (Ctrl_2_logical).w,d6
moveq #1,d5
bra.s HCZ_WaterTunnels
; ---------------------------------------------------------------------------
loc_6F82:
lea ($FFFFF7C9).w,a3
- lea ($FFFFB000).w,a1
- move.b ($FFFFF602).w,d6
+ lea (Player_1).w,a1
+ move.b (Ctrl_1_logical).w,d6
moveq #0,d5
; End of function sub_6F4A
@@ -8161,7 +8165,7 @@ loc_6F82: HCZ_WaterTunnels:
lea (HCZ1_WaterTunLocs).l,a2
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_6FA2
lea (HCZ2_WaterTunLocs).l,a2
@@ -8269,21 +8273,21 @@ HCZ2_WaterTunLocs: dc.w 1 sub_714E:
- cmpi.w #$101,($FFFFFE10).w
+ cmpi.w #$101,(Current_zone_and_act).w
beq.s loc_716A
- cmpi.w #$500,($FFFFFE10).w
+ cmpi.w #$500,(Current_zone_and_act).w
beq.s loc_71D2
- cmpi.b #8,($FFFFFE10).w
+ cmpi.b #8,(Current_zone).w
beq.w loc_72FA
rts
; ---------------------------------------------------------------------------
loc_716A:
- lea ($FFFFB000).w,a1
- move.b ($FFFFF602).w,d2
+ lea (Player_1).w,a1
+ move.b (Ctrl_1_logical).w,d2
bsr.s sub_717C
- lea ($FFFFB04A).w,a1
- move.b ($FFFFF66A).w,d2
+ lea (Player_2).w,a1
+ move.b (Ctrl_2_logical).w,d2
; End of function sub_714E
@@ -8295,10 +8299,10 @@ sub_717C: bne.s loc_71B8
cmpi.b #$C,$46(a1)
beq.s loc_71B8
- lea ($FFFF8000).w,a2
+ lea (Level_layout_header).w,a2
move.w $14(a1),d0
lsr.w #5,d0
- and.w ($FFFFEEAE).w,d0
+ and.w (Layout_row_index_mask).w,d0
move.w 8(a2,d0.w),d0
move.w $10(a1),d1
lsr.w #7,d1
@@ -8331,11 +8335,11 @@ loc_71CC: ; ---------------------------------------------------------------------------
loc_71D2:
- lea ($FFFFB000).w,a1
- move.b ($FFFFF602).w,d2
+ lea (Player_1).w,a1
+ move.b (Ctrl_1_logical).w,d2
bsr.s sub_71E4
- lea ($FFFFB04A).w,a1
- move.b ($FFFFF66A).w,d2
+ lea (Player_2).w,a1
+ move.b (Ctrl_2_logical).w,d2
; =============== S U B R O U T I N E =======================================
@@ -8345,10 +8349,10 @@ sub_71E4: bne.s loc_7220
btst #3,$2A(a1)
bne.s loc_7220
- lea ($FFFF8000).w,a2
+ lea (Level_layout_header).w,a2
move.w $14(a1),d0
lsr.w #5,d0
- and.w ($FFFFEEAE).w,d0
+ and.w (Layout_row_index_mask).w,d0
move.w 8(a2,d0.w),d0
move.w $10(a1),d1
lsr.w #7,d1
@@ -8401,7 +8405,7 @@ loc_725E: loc_726E:
move.b #$1B,$20(a1)
- cmpi.b #5,($FFFFFE10).w
+ cmpi.b #5,(Current_zone).w
bne.s loc_7282
move.b #$19,$20(a1)
@@ -8461,11 +8465,11 @@ loc_72EE: ; ---------------------------------------------------------------------------
loc_72FA:
- lea ($FFFFB000).w,a1
- move.b ($FFFFF602).w,d2
+ lea (Player_1).w,a1
+ move.b (Ctrl_1_logical).w,d2
bsr.s sub_730C
- lea ($FFFFB04A).w,a1
- move.b ($FFFFF66A).w,d2
+ lea (Player_2).w,a1
+ move.b (Ctrl_2_logical).w,d2
; =============== S U B R O U T I N E =======================================
@@ -8475,11 +8479,11 @@ sub_730C: bne.s loc_734A
btst #3,$2A(a1)
bne.s loc_734A
- lea ($FFFF8000).w,a2
+ lea (Level_layout_header).w,a2
moveq #$14,d0
add.w $14(a1),d0
lsr.w #5,d0
- and.w ($FFFFEEAE).w,d0
+ and.w (Layout_row_index_mask).w,d0
move.w 8(a2,d0.w),d0
move.w $10(a1),d1
lsr.w #7,d1
@@ -8743,14 +8747,14 @@ WaterTransition_LBZ2: dc.w $13 GetDemoPtr:
- move.w ($FFFFEF7A).w,d0
+ move.w (Demo_number).w,d0
lsl.w #2,d0
movea.l DemoPtrs(pc,d0.w),a0
move.b (a0)+,($FFFFEF78).w
move.l a0,($FFFFEF52).w
clr.b ($FFFFEF79).w
- move.w #$8000,($FFFFF604).w
- move.w #$8000,($FFFFF606).w
+ move.w #$8000,(Ctrl_1).w
+ move.w #$8000,(Ctrl_2).w
st ($FFFFEF50).w
rts
; End of function GetDemoPtr
@@ -8763,27 +8767,27 @@ DemoPtrs: include "Levels\Misc\Demo pointers.asm" Demo_PlayRecord:
- tst.w ($FFFFFFD0).w
+ tst.w (Demo_mode_flag).w
bne.s loc_761E
rts
; ---------------------------------------------------------------------------
loc_761E:
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.b #$80,d0
beq.s loc_762E
- move.b #4,($FFFFF600).w
+ move.b #4,(Game_mode).w
loc_762E:
movea.l ($FFFFEF52).w,a0
- cmpi.b #4,($FFFFFE10).w
+ cmpi.b #4,(Current_zone).w
beq.s loc_765E
- cmpi.b #7,($FFFFFE10).w
+ cmpi.b #7,(Current_zone).w
bcc.s loc_765E
move.b ($FFFFEF50).w,d1
andi.b #$80,d1
or.b -1(a0),d1
- move.b ($FFFFF604).w,d0
+ move.b (Ctrl_1).w,d0
andi.b #$80,d0
sne ($FFFFEF50).w
or.b (a0)+,d0
@@ -8803,18 +8807,18 @@ loc_766E: andi.b #$80,d1
or.b ($FFFFEF79).w,d1
move.b d2,($FFFFEF79).w
- move.b ($FFFFF604).w,d0
+ move.b (Ctrl_1).w,d0
andi.b #$80,d0
sne ($FFFFEF50).w
or.b d2,d0
loc_768C:
- move.b d0,($FFFFF604).w
+ move.b d0,(Ctrl_1).w
eor.b d0,d1
and.b d0,d1
- move.b d1,($FFFFF605).w
+ move.b d1,(Ctrl_1_pressed).w
move.w #$8080,d0
- and.w d0,($FFFFF606).w
+ and.w d0,(Ctrl_2).w
move.l a0,($FFFFEF52).w
rts
; End of function Demo_PlayRecord
@@ -8826,13 +8830,13 @@ loc_768C: LoadSolids:
moveq #0,d0
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #5,d0
lea (SolidIndexes).l,a1
adda.l d0,a1
move.l (a1),d0
- move.l d0,($FFFFF7B4).w
+ move.l d0,(Primary_collision_addr).w
if Sonic3_Complete=0
cmpi.l #$260000,d0
else
@@ -8840,15 +8844,15 @@ LoadSolids: endif
bcs.s LoadSolids_SK_Interleaved_Format
addi.l #$600,d0
- move.l d0,($FFFFF7B8).w
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l d0,(Secondary_collision_addr).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
rts
; ---------------------------------------------------------------------------
LoadSolids_SK_Interleaved_Format:
addq.l #1,d0
- move.l d0,($FFFFF7B8).w
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l d0,(Secondary_collision_addr).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
rts
; End of function LoadSolids
@@ -8906,7 +8910,7 @@ word_76FA: dc.w $7D sub_773C:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_774A
cmpi.b #6,($FFFFB005).w
bcc.s locret_7790
@@ -8988,23 +8992,23 @@ word_7792: dc.w 2 sub_77D2:
- subq.b #1,($FFFFFEB2).w
+ subq.b #1,(Rings_frame_timer).w
bpl.s loc_77E8
- move.b #7,($FFFFFEB2).w
- addq.b #1,($FFFFFEB3).w
- andi.b #3,($FFFFFEB3).w
+ move.b #7,(Rings_frame_timer).w
+ addq.b #1,(Rings_frame).w
+ andi.b #3,(Rings_frame).w
loc_77E8:
- tst.b ($FFFFFEB6).w
+ tst.b (Ring_spill_anim_counter).w
beq.s loc_780A
moveq #0,d0
- move.b ($FFFFFEB6).w,d0
- add.w ($FFFFFEB8).w,d0
- move.w d0,($FFFFFEB8).w
+ move.b (Ring_spill_anim_counter).w,d0
+ add.w (Ring_spill_anim_accum).w,d0
+ move.w d0,(Ring_spill_anim_accum).w
rol.w #7,d0
andi.w #3,d0
- move.b d0,($FFFFFEB7).w
- subq.b #1,($FFFFFEB6).w
+ move.b d0,(Ring_spill_anim_frame).w
+ subq.b #1,(Ring_spill_anim_counter).w
loc_780A:
addi.w #$180,($FFFFFEBA).w
@@ -9016,11 +9020,11 @@ loc_780A: LoadLevelLoadBlock:
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
bne.s loc_782A
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcc.s loc_7826
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
beq.s loc_782A
loc_7826:
@@ -9053,12 +9057,12 @@ loc_782A: loc_7870:
; LoadLevelLoadBlock+7Cj
- move.b #$C,($FFFFF62A).w
+ move.b #$C,(V_int_routine).w
jsr (Process_Kos_Queue).l
bsr.w Wait_VSync
bsr.w Process_Nem_Queue_Init
jsr (Process_Kos_Module_Queue).l
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.s loc_7870
rts
; End of function LoadLevelLoadBlock
@@ -9069,67 +9073,67 @@ loc_7870: CheckLevelForWater:
- cmpi.w #0,($FFFFFE10).w
+ cmpi.w #0,(Current_zone_and_act).w
beq.s loc_78F2
- cmpi.w #1,($FFFFFE10).w
+ cmpi.w #1,(Current_zone_and_act).w
bne.s loc_78B2
- cmpi.w #1,($FFFFEE4E).w
+ cmpi.w #1,(Apparent_zone_and_act).w
bne.s loc_78F2
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_78F2
loc_78B2:
- cmpi.b #1,($FFFFFE10).w
+ cmpi.b #1,(Current_zone).w
beq.s loc_78F2
- cmpi.w #$301,($FFFFFE10).w
+ cmpi.w #$301,(Current_zone_and_act).w
bne.s loc_78CA
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_78F2
loc_78CA:
- cmpi.w #$501,($FFFFFE10).w
+ cmpi.w #$501,(Current_zone_and_act).w
beq.s loc_78F2
- cmpi.w #$601,($FFFFFE10).w
+ cmpi.w #$601,(Current_zone_and_act).w
beq.s loc_78F2
move.w #$1000,d0
- move.w d0,($FFFFF646).w
- move.w d0,($FFFFF648).w
- move.w d0,($FFFFF64A).w
- move.b #0,($FFFFF730).w
+ move.w d0,(Water_level).w
+ move.w d0,(Mean_water_level).w
+ move.w d0,(Target_water_level).w
+ move.b #0,(Water_flag).w
rts
; ---------------------------------------------------------------------------
loc_78F2:
; CheckLevelForWater+16j ...
- move.b #1,($FFFFF730).w
- move.w #0,($FFFFFFE8).w
- tst.b ($FFFFF730).w
+ move.b #1,(Water_flag).w
+ move.w #0,(Competition_mode).w
+ tst.b (Water_flag).w
beq.s LoadWaterPalette
- move.w #$4EF9,($FFFFFFF6).w
- move.l #HInt2,($FFFFFFF8).w
- cmpi.b #1,($FFFFFE10).w
+ move.w #$4EF9,(H_int_jump).w
+ move.l #HInt2,(H_int_addr).w
+ cmpi.b #1,(Current_zone).w
beq.s loc_7932
- move.l #HInt3,($FFFFFFF8).w
- cmpi.w #$1000,($FFFFFFD6).w
+ move.l #HInt3,(H_int_addr).w
+ cmpi.w #$1000,(V_blank_cycles).w
bcs.s loc_7932
- move.l #HInt4,($FFFFFFF8).w
+ move.l #HInt4,(H_int_addr).w
loc_7932:
; CheckLevelForWater+96j
- move.l #WaterTransition_AIZ1,($FFFFF62E).w
+ move.l #WaterTransition_AIZ1,(Water_palette_data_addr).w
moveq #0,d0
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #6,d0
andi.w #$FFFE,d0
lea (StartingWaterHeights).l,a1
move.w (a1,d0.w),d0
- move.w d0,($FFFFF646).w
- move.w d0,($FFFFF648).w
- move.w d0,($FFFFF64A).w
+ move.w d0,(Water_level).w
+ move.w d0,(Mean_water_level).w
+ move.w d0,(Target_water_level).w
clr.b ($FFFFF64D).w
- clr.b ($FFFFF64E).w
- move.b #1,($FFFFF64C).w
+ clr.b (Water_full_screen_flag).w
+ move.b #1,(Water_speed).w
; End of function CheckLevelForWater
@@ -9137,38 +9141,38 @@ loc_7932: LoadWaterPalette:
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.w locret_7A20
moveq #$2B,d0
- cmpi.w #0,($FFFFFE10).w
+ cmpi.w #0,(Current_zone_and_act).w
beq.w loc_7A00
moveq #$2C,d0
- move.l #WaterTransition_AIZ2,($FFFFF62E).w
- cmpi.w #1,($FFFFFE10).w
+ move.l #WaterTransition_AIZ2,(Water_palette_data_addr).w
+ cmpi.w #1,(Current_zone_and_act).w
beq.s loc_7A00
moveq #$31,d0
- move.l #WaterTransition_HCZLBZ1,($FFFFF62E).w
- cmpi.w #$100,($FFFFFE10).w
+ move.l #WaterTransition_HCZLBZ1,(Water_palette_data_addr).w
+ cmpi.w #$100,(Current_zone_and_act).w
beq.s loc_7A00
moveq #$32,d0
- move.l #WaterTransition_HCZLBZ1,($FFFFF62E).w
- cmpi.w #$101,($FFFFFE10).w
+ move.l #WaterTransition_HCZLBZ1,(Water_palette_data_addr).w
+ cmpi.w #$101,(Current_zone_and_act).w
beq.s loc_7A00
moveq #$3A,d0
- move.l #WaterTransition_CNZ2ICZ2,($FFFFF62E).w
- cmpi.w #$301,($FFFFFE10).w
+ move.l #WaterTransition_CNZ2ICZ2,(Water_palette_data_addr).w
+ cmpi.w #$301,(Current_zone_and_act).w
beq.s loc_7A00
moveq #$39,d0
- move.l #WaterTransition_CNZ2ICZ2,($FFFFF62E).w
- cmpi.w #$501,($FFFFFE10).w
+ move.l #WaterTransition_CNZ2ICZ2,(Water_palette_data_addr).w
+ cmpi.w #$501,(Current_zone_and_act).w
beq.s loc_7A00
moveq #$2D,d0
- move.l #WaterTransition_HCZLBZ1,($FFFFF62E).w
- cmpi.w #$600,($FFFFFE10).w
+ move.l #WaterTransition_HCZLBZ1,(Water_palette_data_addr).w
+ cmpi.w #$600,(Current_zone_and_act).w
beq.s loc_7A00
moveq #$2E,d0
- move.l #WaterTransition_LBZ2,($FFFFF62E).w
- cmpi.w #$601,($FFFFFE10).w
+ move.l #WaterTransition_LBZ2,(Water_palette_data_addr).w
+ cmpi.w #$601,(Current_zone_and_act).w
beq.s loc_7A00
nop
@@ -9177,12 +9181,12 @@ loc_7A00: bsr.w LoadPalette2
move.w d1,d0
bsr.w LoadPalette2_Immediate
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
beq.s loc_7A18
- move.b ($FFFFFE42).w,($FFFFF64E).w
+ move.b (Saved_water_full_screen_flag).w,(Water_full_screen_flag).w
loc_7A18:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_7A22
locret_7A20:
@@ -9191,7 +9195,7 @@ locret_7A20: loc_7A22:
moveq #0,d0
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone).w,d0
move.w d0,d1
add.w d0,d0
add.w d1,d0
@@ -9209,14 +9213,14 @@ Pal_WaterKnux: binclude "Levels\Misc\Palettes\Water Knuckles Patch.bin" ; ---------------------------------------------------------------------------
LevelSelect_S2Options:
- clr.w ($FFFFFE10).w
+ clr.w (Current_zone_and_act).w
bsr.w Pal_FadeToBlack
move #$2700,sr
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
andi.b #$BF,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
bsr.w Clear_DisplayData
- lea ($C00004).l,a6
+ lea (VDP_control_port).l,a6
move.w #$8004,(a6)
move.w #$8230,(a6)
move.w #$8407,(a6)
@@ -9225,41 +9229,41 @@ LevelSelect_S2Options: move.w #$8C81,(a6)
move.w #$9001,(a6)
move.w #$8B00,(a6)
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_7AC2:
move.l d0,(a1)+
dbf d1,loc_7AC2
- lea ($FFFFB000).w,a1
+ lea (Object_RAM).w,a1
moveq #0,d0
move.w #$7FF,d1
loc_7AD2:
move.l d0,(a1)+
dbf d1,loc_7AD2
- clr.w ($FFFFFB00).w
- move.l #$FFFFFB00,($FFFFFBFC).w
- move.l #$42000000,($C00004).l
+ clr.w (DMA_queue).w
+ move.l #$FFFFFB00,(DMA_queue_slot).w
+ move.l #$42000000,(VDP_control_port).l
lea (ArtNem_S22POptions).l,a0
bsr.w Nem_Decomp
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
lea (MapEni_S22POptions).l,a0
move.w #$6000,d0
bsr.w Eni_Decomp
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.l #$60000003,d0
moveq #$27,d1
moveq #$1B,d2
jsr (Plane_Map_To_VRAM).l
- lea ($FFFF0000).l,a3
+ lea (RAM_start).l,a3
move.w #$45F,d1
loc_7B2C:
move.w #0,(a3)+
dbf d1,loc_7B2C
- lea ($FFFF0000).l,a3
+ lea (RAM_start).l,a3
lea (byte_80E6).l,a1
lea (word_80C4).l,a5
moveq #0,d0
@@ -9294,23 +9298,23 @@ loc_7B70: move.w #$1A,(a2)
move.w #$13,($FFFF018A).l
move.w #$14,($FFFF01DA).l
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.l #$40000003,d0
moveq #$27,d1
moveq #$1B,d2
jsr (Plane_Map_To_VRAM).l
moveq #0,d3
bsr.w sub_8012
- clr.w ($FFFFFF08).w
+ clr.w (Player_mode).w
clr.w ($FFFFFF02).w
- clr.b ($FFFFF711).w
+ clr.b (Level_started_flag).w
clr.w ($FFFFF7F0).w
lea (AniPLC_SONICMILES).l,a2
jsr (AnimateTiles_DoAniPLC).l
moveq #4,d0
bsr.w LoadPalette
- lea ($FFFFFC40).w,a1
- lea ($FFFFFCC0).w,a2
+ lea (Normal_palette_line_3).w,a1
+ lea (Target_palette_line_3).w,a2
moveq #7,d1
loc_7BE4:
@@ -9319,14 +9323,14 @@ loc_7BE4: dbf d1,loc_7BE4
moveq #$2F,d0
jsr (Play_Sound).l
- move.w #$707,($FFFFF614).w
- clr.w ($FFFFFFE8).w
- clr.l ($FFFFEE78).w
- clr.l ($FFFFEE7C).w
+ move.w #$707,(Demo_timer).w
+ clr.w (Competition_mode).w
+ clr.l (Camera_X_pos).w
+ clr.l (Camera_Y_pos).w
clr.l ($FFFFE660).w
clr.l ($FFFFFF92).w
- clr.b ($FFFFFE2A).w
- clr.b ($FFFFFE48).w
+ clr.b (Last_star_post_hit).w
+ clr.b (Special_bonus_entry_flag).w
clr.b ($FFFFFFD4).w
nop
nop
@@ -9336,16 +9340,16 @@ loc_7BE4: nop
clr.w ($FFFFFFE4).w
clr.w ($FFFFFFE6).w
- move.b #$16,($FFFFF62A).w
+ move.b #$16,(V_int_routine).w
bsr.w Wait_VSync
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
bsr.w Pal_FadeFromBlack
loc_7C4A:
- move.b #$16,($FFFFF62A).w
+ move.b #$16,(V_int_routine).w
bsr.w Wait_VSync
move #$2700,sr
moveq #0,d3
@@ -9356,23 +9360,23 @@ loc_7C4A: move #$2300,sr
lea (AniPLC_SONICMILES).l,a2
jsr (AnimateTiles_DoAniPLC).l
- move.b ($FFFFF605).w,d0
- or.b ($FFFFF607).w,d0
+ move.b (Ctrl_1_pressed).w,d0
+ or.b (Ctrl_2_pressed).w,d0
andi.b #$80,d0
bne.s loc_7C8C
bra.w loc_7C4A
; ---------------------------------------------------------------------------
loc_7C8C:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
beq.s loc_7CA0
- cmpi.w #3,($FFFFFF0A).w
+ cmpi.w #3,(Player_option).w
bcc.s loc_7CA0
- move.w #1,($FFFFFF0A).w
+ move.w #1,(Player_option).w
loc_7CA0:
- move.w ($FFFFFF0A).w,($FFFFFF08).w
+ move.w (Player_option).w,(Player_mode).w
lea LS_Level_Order(pc),a1
move.w ($FFFFFF82).w,d0
add.w d0,d0
@@ -9380,28 +9384,28 @@ loc_7CA0: bmi.w loc_7D64
cmpi.w #$5555,d0
beq.w loc_7C4A
- move.b #3,($FFFFFE12).w
- move.b #0,($FFFFFFBB).w
+ move.b #3,(Life_count).w
+ move.b #0,(SK_special_stage_flag).w
cmpi.w #$4000,d0
beq.w loc_7D14
cmpi.w #$4001,d0
bne.w loc_7D6C
- move.b #1,($FFFFFFBB).w
+ move.b #1,(SK_special_stage_flag).w
loc_7CE2:
- move.b #$34,($FFFFF600).w
- tst.w ($FFFFFFAE).w
+ move.b #$34,(Game_mode).w
+ tst.w (SK_alone_flag).w
beq.s locret_7D12
- cmpi.w #$400,($FFFFFE10).w
+ cmpi.w #$400,(Current_zone_and_act).w
beq.s locret_7D12
- cmpi.w #$700,($FFFFFE10).w
+ cmpi.w #$700,(Current_zone_and_act).w
bcc.s locret_7D12
move.w #$700,d0
- move.w d0,($FFFFFE10).w
- move.w d0,($FFFFEE4E).w
- move.w d0,($FFFFFE2C).w
- move.w d0,($FFFFFF9A).w
+ move.w d0,(Current_zone_and_act).w
+ move.w d0,(Apparent_zone_and_act).w
+ move.w d0,(Saved_zone_and_act).w
+ move.w d0,(Saved_apparent_zone_and_act).w
locret_7D12:
@@ -9409,9 +9413,9 @@ locret_7D12: ; ---------------------------------------------------------------------------
loc_7D14:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
beq.s loc_7CE2
- move.b #1,($FFFFFFBB).w
+ move.b #1,(SK_special_stage_flag).w
bra.s loc_7CE2
; ---------------------------------------------------------------------------
LS_Level_Order: dc.w 0
@@ -9450,14 +9454,14 @@ LS_Level_Order: dc.w 0 ; ---------------------------------------------------------------------------
loc_7D64:
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
loc_7D6C:
- tst.w ($FFFFFFE2).w
+ tst.w (Debug_cheat_flag).w
bne.s loc_7DBA
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_7D9E
cmpi.w #$A00,d0
beq.s loc_7D92
@@ -9477,20 +9481,20 @@ loc_7D92: loc_7D9E:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bcc.s loc_7DAC
cmpi.w #$A01,d0
beq.s loc_7D92
loc_7DAC:
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_7DBA
cmpi.w #$C00,d0
beq.s loc_7D92
loc_7DBA:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
beq.s loc_7DD6
move.w d0,d1
move.b #0,d1
@@ -9503,37 +9507,37 @@ loc_7DBA: loc_7DD6:
andi.w #$3FFF,d0
- move.w d0,($FFFFFE10).w
- move.w d0,($FFFFEE4E).w
- move.w d0,($FFFFFE2C).w
- move.w d0,($FFFFFF9A).w
+ move.w d0,(Current_zone_and_act).w
+ move.w d0,(Apparent_zone_and_act).w
+ move.w d0,(Saved_zone_and_act).w
+ move.w d0,(Saved_apparent_zone_and_act).w
move.w #$1000,d0
- move.w d0,($FFFFFE44).w
- move.w d0,($FFFFFE62).w
- move.b #$C,($FFFFF600).w
- move.b #3,($FFFFFE12).w
- move.b #3,($FFFFFEC6).w
- moveq #0,d0
- move.w d0,($FFFFFE20).w
- move.l d0,($FFFFFE22).w
- move.l d0,($FFFFFE26).w
- move.w d0,($FFFFFED0).w
- move.l d0,($FFFFFED2).w
- move.l d0,($FFFFFED6).w
- move.b d0,($FFFFFE18).w
- move.w d0,($FFFFFFD0).w
- move.l #$1388,($FFFFFFC0).w
- move.l #$1388,($FFFFFFC4).w
+ move.w d0,(Saved_camera_max_Y_pos).w
+ move.w d0,(Saved2_camera_max_Y_pos).w
+ move.b #$C,(Game_mode).w
+ move.b #3,(Life_count).w
+ move.b #3,(Life_count_P2).w
+ moveq #0,d0
+ move.w d0,(Ring_count).w
+ move.l d0,(Timer).w
+ move.l d0,(Score).w
+ move.w d0,(Ring_count_P2).w
+ move.l d0,(Timer_P2).w
+ move.l d0,(Score_P2).w
+ move.b d0,(Continue_count).w
+ move.w d0,(Demo_mode_flag).w
+ move.l #$1388,(Next_extra_life_score).w
+ move.l #$1388,(Next_extra_life_score_P2).w
moveq #-$1F,d0
jsr (Play_Sound_2).l
moveq #0,d0
move.w d0,($FFFFFF8A).w
- move.w d0,($FFFFFFE8).w
- cmpi.b #$E,($FFFFFE10).w
+ move.w d0,(Competition_mode).w
+ cmpi.b #$E,(Current_zone).w
bcs.s locret_7E62
- cmpi.b #$13,($FFFFFE10).w
+ cmpi.b #$13,(Current_zone).w
bcc.s locret_7E62
- move.w #1,($FFFFFFE8).w
+ move.w #1,(Competition_mode).w
locret_7E62:
@@ -9543,7 +9547,7 @@ locret_7E62: sub_7E64:
- move.b ($FFFFF605).w,d1
+ move.b (Ctrl_1_pressed).w,d1
andi.b #3,d1
bne.s loc_7E74
subq.w #1,($FFFFFF80).w
@@ -9551,7 +9555,7 @@ sub_7E64: loc_7E74:
move.w #$B,($FFFFFF80).w
- move.b ($FFFFF604).w,d1
+ move.b (Ctrl_1).w,d1
andi.b #3,d1
beq.s loc_7EAA
move.w ($FFFFFF82).w,d0
@@ -9577,8 +9581,8 @@ loc_7EA4: loc_7EAA:
cmpi.w #$20,($FFFFFF82).w
bne.s loc_7F08
- move.w ($FFFFFF84).w,d0
- move.b ($FFFFF605).w,d1
+ move.w (Sound_test_sound).w,d0
+ move.b (Ctrl_1_pressed).w,d1
btst #2,d1
beq.s loc_7EC6
subq.b #1,d0
@@ -9600,10 +9604,10 @@ loc_7ED6: andi.b #$FF,d0
loc_7EE4:
- move.w d0,($FFFFFF84).w
+ move.w d0,(Sound_test_sound).w
btst #5,d1
beq.s loc_7EF8
- move.w ($FFFFFF84).w,d0
+ move.w (Sound_test_sound).w,d0
jsr (Play_Sound).l
loc_7EF8:
@@ -9617,7 +9621,7 @@ locret_7F06: ; ---------------------------------------------------------------------------
loc_7F08:
- move.b ($FFFFF605).w,d1
+ move.b (Ctrl_1_pressed).w,d1
andi.b #$C,d1
beq.s loc_7F1E
move.w ($FFFFFF82).w,d0
@@ -9634,12 +9638,12 @@ byte_7F22: dc.b $12, $13, $14, $15, $16, $17, $18, $19, $1A, $1B, $1C, $1D, $1E ; ---------------------------------------------------------------------------
loc_7F46:
- btst #5,($FFFFF605).w
+ btst #5,(Ctrl_1_pressed).w
beq.s locret_7F60
- addq.w #1,($FFFFFF0A).w
- cmpi.w #4,($FFFFFF0A).w
+ addq.w #1,(Player_option).w
+ cmpi.w #4,(Player_option).w
bcs.s locret_7F60
- move.w #0,($FFFFFF0A).w
+ move.w #0,(Player_option).w
locret_7F60:
rts
@@ -9651,9 +9655,9 @@ locret_7F60: sub_7F62:
- lea ($FFFF0000).l,a4
+ lea (RAM_start).l,a4
lea (byte_8040).l,a5
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
moveq #0,d0
move.w ($FFFFFF82).w,d0
lsl.w #2,d0
@@ -9674,7 +9678,7 @@ sub_7F62: lsr.w #2,d1
ori.w #$4000,d1
swap d1
- move.l d1,4(a6)
+ move.l d1,VDP_control_port-VDP_data_port(a6)
moveq #$E,d2
loc_7FB2:
@@ -9700,7 +9704,7 @@ loc_7FB2: lsr.w #2,d1
ori.w #$4000,d1
swap d1
- move.l d1,4(a6)
+ move.l d1,VDP_control_port-VDP_data_port(a6)
move.w (a1)+,d0
add.w d3,d0
move.w d0,(a6)
@@ -9712,8 +9716,8 @@ loc_7FF6: ; ---------------------------------------------------------------------------
loc_8002:
- move.l #$419C0003,($C00004).l
- move.w ($FFFFFF0A).w,d0
+ move.l #$419C0003,(VDP_control_port).l
+ move.w (Player_option).w,d0
bra.s loc_8020
; End of function sub_7F62
@@ -9723,8 +9727,8 @@ loc_8002: sub_8012:
- move.l #$4B460003,($C00004).l
- move.w ($FFFFFF84).w,d0
+ move.l #$4B460003,(VDP_control_port).l
+ move.w (Sound_test_sound).w,d0
loc_8020:
move.b d0,d2
@@ -9829,8 +9833,8 @@ AniPLC_SONICMILES: dc.w 0 SpecialStage:
moveq #-$1E,d0
bsr.w Play_Sound
- clr.w ($FFFFFF0E).w
- lea ($FFFFFF10).w,a1
+ clr.w (Kos_decomp_queue_count).w
+ lea (Kos_decomp_stored_registers).w,a1
moveq #0,d0
move.w #$1A,d1
@@ -9840,7 +9844,7 @@ loc_81DA: bsr.w Clear_Nem_Queue
bsr.w Pal_FadeToWhite
move #$2700,sr
- lea ($C00004).l,a6
+ lea (VDP_control_port).l,a6
move.w #$8004,(a6)
move.w #$8230,(a6)
move.w #$8407,(a6)
@@ -9848,17 +9852,17 @@ loc_81DA: move.w #$9200,(a6)
move.w #$8B00,(a6)
move.w #$8720,(a6)
- clr.b ($FFFFF64E).w
+ clr.b (Water_full_screen_flag).w
move.w #$8C81,(a6)
bsr.w Clear_DisplayData
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_8224:
move.l d0,(a1)+
dbf d1,loc_8224
- lea ($FFFFB000).w,a1
+ lea (Object_RAM).w,a1
moveq #0,d0
move.w #$7FF,d1
@@ -9872,7 +9876,7 @@ loc_8234: loc_8244:
move.l d0,(a1)+
dbf d1,loc_8244
- lea ($FFFFE400).w,a1
+ lea (Stat_table).w,a1
moveq #0,d0
move.w #$3F,d1
@@ -9883,16 +9887,16 @@ loc_8254: move.l d0,($FFFFFE66).w
move.l d0,($FFFFFE6A).w
jsr (Init_SpriteTable).l
- clr.w ($FFFFFB00).w
- move.l #$FFFFFB00,($FFFFFBFC).w
+ clr.w (DMA_queue).w
+ move.l #$FFFFFB00,(DMA_queue_slot).w
lea (Pal_SStage_Main).l,a1
- lea ($FFFFFC80).w,a2
+ lea (Target_palette).w,a2
move.w #$3F,d0
loc_8284:
move.w (a1)+,(a2)+
dbf d0,loc_8284
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_82A6
loc_8292:
@@ -9905,7 +9909,7 @@ loc_82A0: dbf d0,loc_82A0
loc_82A6:
- move.l #$40000000,($C00004).l
+ move.l #$40000000,(VDP_control_port).l
lea (ArtNem_SStageLayout).l,a0
bsr.w Nem_Decomp
bsr.w sub_85B0
@@ -9918,33 +9922,33 @@ loc_82A6: moveq #$27,d1
moveq #$1B,d2
jsr (Plane_Map_To_VRAM).l
- move.l #$50000003,($C00004).l
+ move.l #$50000003,(VDP_control_port).l
lea (ArtNem_SStageSphere).l,a0
loc_82F8:
bsr.w Nem_Decomp
- move.l #$74E00002,($C00004).l
+ move.l #$74E00002,(VDP_control_port).l
lea (ArtNem_SStageRing).l,a0
bsr.w Nem_Decomp
- move.l #$73600002,($C00004).l
+ move.l #$73600002,(VDP_control_port).l
lea (ArtNem_SStageBG).l,a0
bsr.w Nem_Decomp
- move.l #$6BE00002,($C00004).l
+ move.l #$6BE00002,(VDP_control_port).l
lea (ArtNem_GetBlueSpheres).l,a0
bsr.w Nem_Decomp
- move.l #$5F000003,($C00004).l
+ move.l #$5F000003,(VDP_control_port).l
lea (ArtNem_GBSArrow).l,a0
bsr.w Nem_Decomp
- move.l #$70200003,($C00004).l
+ move.l #$70200003,(VDP_control_port).l
lea (ArtNem_SStageDigits).l,a0
bsr.w Nem_Decomp
lea (ArtNem_SStageDigits).l,a0
lea ($FFFFE020).w,a4
bsr.w Nem_Decomp_To_RAM
- move.l #$71200002,($C00004).l
+ move.l #$71200002,(VDP_control_port).l
lea (ArtNem_SStageIcons).l,a0
bsr.w Nem_Decomp
- move.l #$74000003,($C00004).l
+ move.l #$74000003,(VDP_control_port).l
lea (ArtNem_SStageShadow).l,a0
bsr.w Nem_Decomp
lea (SSNum000_Map).l,a1
@@ -9957,21 +9961,21 @@ loc_82F8: moveq #7,d1
moveq #2,d2
jsr (Plane_Map_To_VRAM).l
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
lea (MapEni_SStageBG).l,a0
move.w #$459B,d0
bsr.w Eni_Decomp
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.l #$60000003,d0
moveq #$3F,d1
moveq #$1F,d2
jsr (Plane_Map_To_VRAM).l
lea (SStageKos_PerspectiveMaps).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
bsr.w Kos_Decomp
bsr.w sub_9EA0
bsr.w Load_SSSprite_Mappings
- clr.b ($FFFFF711).w
+ clr.b (Level_started_flag).w
move.b #$FF,($FFFFE43C).w
move.b #$80,($FFFFE43D).w
move.w #$1000,($FFFFE444).w
@@ -9981,17 +9985,17 @@ loc_82F8: move.w #$A8C,($FFFFE43E).w
loc_842C:
- move.w #0,($FFFFEE80).w
- move.w #0,($FFFFEE84).w
- move.w #-1,($FFFFEEAA).w
- move.l #Obj_SStage_8FAA,($FFFFB000).w
- tst.w ($FFFFFF08).w
+ move.w #0,(Camera_X_pos_copy).w
+ move.w #0,(Camera_Y_pos_copy).w
+ move.w #-1,(Screen_Y_wrap_value).w
+ move.l #Obj_SStage_8FAA,(Player_1).w
+ tst.w (Player_mode).w
bne.s loc_8454
- move.l #Obj_SStage_9212,($FFFFB04A).w
+ move.l #Obj_SStage_9212,(Player_2).w
loc_8454:
- move.l #Obj_SStage_8DF8,($FFFFB094).w
- move.l #Obj_SStage_8E40,($FFFFB0DE).w
+ move.l #Obj_SStage_8DF8,(Reserved_object_3).w
+ move.l #Obj_SStage_8E40,(Dynamic_object_RAM).w
jsr (Process_Sprites).l
bsr.w Animate_SSRings
bsr.w sub_9DDE
@@ -9999,25 +10003,25 @@ loc_8454: jsr Draw_SSSprites(pc)
bsr.w sub_9D5E
move.b #1,($FFFFE433).w
- move.b #$1C,($FFFFF62A).w
+ move.b #$1C,(V_int_routine).w
bsr.w Wait_VSync
move.b #0,($FFFFE433).w
- move.w #$8C89,($C00004).l
- move.w #$708,($FFFFF614).w
+ move.w #$8C89,(VDP_control_port).l
+ move.w #$708,(Demo_timer).w
jsr (GetDemoPtr).l
moveq #$1C,d0
bsr.w Play_Sound
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
bsr.w Pal_FromBlackWhite
loc_84C2:
bsr.w Pause_Game
- move.b #$1C,($FFFFF62A).w
+ move.b #$1C,(V_int_routine).w
jsr (Process_Kos_Queue).l
bsr.w Wait_VSync
- addq.w #1,($FFFFFE04).w
+ addq.w #1,(Level_frame_counter).w
jsr (Demo_PlayRecord).l
jsr (Process_Sprites).l
bsr.w Animate_SSRings
@@ -10029,27 +10033,27 @@ loc_84C2: bsr.w sub_9B62
bsr.w Process_Nem_Queue_Init
jsr (Process_Kos_Module_Queue).l
- tst.w ($FFFFFFD0).w
+ tst.w (Demo_mode_flag).w
beq.s loc_851A
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
beq.s loc_8522
loc_851A:
- cmpi.b #$34,($FFFFF600).w
+ cmpi.b #$34,(Game_mode).w
beq.s loc_84C2
loc_8522:
- tst.w ($FFFFFFD0).w
+ tst.w (Demo_mode_flag).w
beq.s loc_852E
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
loc_852E:
- move.w #$3C,($FFFFF614).w
- move.w #$3F,($FFFFF626).w
+ move.w #$3C,(Demo_timer).w
+ move.w #$3F,(Palette_fade_info).w
clr.w ($FFFFF794).w
loc_853E:
- move.b #$1C,($FFFFF62A).w
+ move.b #$1C,(V_int_routine).w
bsr.w Wait_VSync
jsr (Demo_PlayRecord).l
jsr (Process_Sprites).l
@@ -10067,7 +10071,7 @@ loc_853E: bsr.w Pal_ToWhite
loc_8588:
- tst.w ($FFFFF614).w
+ tst.w (Demo_timer).w
bne.s loc_853E
rts
; ---------------------------------------------------------------------------
@@ -10088,11 +10092,11 @@ sub_85B0: bne.w loc_86C8
lea (SSCompressedLayoutPtrs).l,a0
movea.l (a0),a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
bsr.w Kos_Decomp
lea (SStageLayoutPtrs).l,a2
- move.b ($FFFFFFB0).w,d3
- tst.w ($FFFFFFAE).w
+ move.b (Emerald_count).w,d3
+ tst.w (SK_alone_flag).w
beq.s loc_85E4
lea (SSLayoutOffs_RAM).l,a2
moveq #0,d2
@@ -10100,25 +10104,25 @@ sub_85B0: ; ---------------------------------------------------------------------------
loc_85E4:
- move.b ($FFFFFFBB).w,d2
+ move.b (SK_special_stage_flag).w,d2
beq.s loc_85F4
lea (SSLayoutOffs_RAM).l,a2
- move.b ($FFFFFFB1).w,d3
+ move.b (Super_emerald_count).w,d3
loc_85F4:
- tst.b ($FFFFFFE2).w
+ tst.b (Debug_cheat_flag).w
beq.s loc_8606
- move.w ($FFFFFF84).w,d0
- btst #6,($FFFFF604).w
+ move.w (Sound_test_sound).w,d0
+ btst #6,(Ctrl_1).w
bne.s loc_8630
loc_8606:
moveq #0,d0
- move.b ($FFFFFE16).w,d0
+ move.b (Current_special_stage).w,d0
cmpi.b #7,d3
bcc.s loc_8630
moveq #5,d1
- lea ($FFFFFFB2).w,a1
+ lea (Collected_emeralds_array).w,a1
add.b d2,d2
loc_861A:
@@ -10133,13 +10137,13 @@ loc_861A: loc_8630:
andi.w #7,d0
- move.b d0,($FFFFFE16).w
+ move.b d0,(Current_special_stage).w
move.w d0,d1
lsl.w #2,d0
movea.l (a2,d0.w),a2
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_8652
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
bne.s loc_8652
if Sonic3_Complete=0
adda.l #LockOnROM_Start,a2
@@ -10148,7 +10152,7 @@ loc_8630: endif
loc_8652:
- lea ($FFFFF000).w,a3
+ lea (Target_water_palette).w,a3
moveq #0,d2
move.w #$3F,d0
@@ -10171,11 +10175,11 @@ loc_8670: move.w (a2)+,($FFFFE442).w
lsl.w #4,d1
lea (SS_Pal_Map_Ptrs).l,a1
- lea ($FFFFFC80).w,a2
+ lea (Target_palette).w,a2
movea.l 4(a1,d1.w),a1
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_86A2
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.s loc_86A6
loc_86A2:
@@ -10195,16 +10199,16 @@ loc_86A6: loc_86C8:
lea (SSCompressedLayoutPtrs).l,a0
movea.l 4(a0),a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
bsr.w Kos_Decomp
- lea ($FFFFF000).w,a3
+ lea (Target_water_palette).w,a3
moveq #0,d2
move.w #$17F,d0
loc_86E6:
move.l d2,(a3)+
dbf d0,loc_86E6
- move.b #0,($FFFFFE16).w
+ move.b #0,(Current_special_stage).w
move.w #$4000,($FFFFE426).w
move.w #$1000,($FFFFE422).w
move.w #$300,($FFFFE424).w
@@ -10215,7 +10219,7 @@ loc_86E6: moveq #3,d7
loc_8716:
- lea ($FFFF0000).l,a2
+ lea (RAM_start).l,a2
move.b (a4)+,d0
andi.w #$7F,d0
moveq #0,d1
@@ -10223,6 +10227,7 @@ loc_8716: add.w d1,($FFFFE442).w
lea $80(a2),a2
moveq #0,d1
+
move.b (a2,d0.w),d1
add.w d1,($FFFFFFAC).w
lea $80(a2),a2
@@ -10232,7 +10237,7 @@ loc_8716: move.w (a1)+,d4
move.w (a1)+,d5
move.w (a1)+,d0
- lea ($FFFFF100).w,a3
+ lea (Plane_buffer).w,a3
lea (a3,d0.w),a3
moveq #$F,d0
@@ -10254,7 +10259,7 @@ loc_875A: andi.w #7,d1
lsl.w #4,d1
lea (SS_Pal_Map_Ptrs).l,a1
- lea ($FFFFFC80).w,a2
+ lea (Target_palette).w,a2
movea.l 4(a1,d1.w),a1
andi.w #8,d2
beq.s loc_8798
@@ -10327,7 +10332,7 @@ locret_8818: Update_SSMap:
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
lea (SS_Pal_Map_Ptrs).l,a1
move.w ($FFFFE420).w,d0
cmp.b ($FFFFE42C).w,d0
@@ -10336,7 +10341,7 @@ Update_SSMap: lsl.w #3,d0
movea.l (a1,d0.w),a3
lea $10E(a3),a1
- move.l #$419E0003,($C00004).l ; VRAM write $C19E
+ move.l #$419E0003,(VDP_control_port).l ; VRAM write $C19E
moveq #9,d1
loc_884A:
@@ -10349,7 +10354,7 @@ loc_884A: move.l #$800000,d4
loc_8864:
- move.l d0,4(a6)
+ move.l d0,VDP_control_port-VDP_data_port(a6)
move.w d1,d3
loc_886A:
@@ -10677,7 +10682,7 @@ Obj_SStage_8FAA: move.w #$200,8(a0)
move.l #Map_SStageSonic,$C(a0)
move.w #$87D4,$A(a0)
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_8FFA
move.l #Map_SStageTails,$C(a0)
move.w #$A7EB,$A(a0)
@@ -10688,7 +10693,7 @@ Obj_SStage_8FAA: loc_8FFA:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_9010
move.l #Map_SStageKnuckles,$C(a0)
move.w #$87D4,$A(a0)
@@ -10761,7 +10766,7 @@ loc_90CC: move.b (a1,d0.w),$22(a0)
tst.b ($FFFFE44C).w
bne.s loc_90EE
- move.w ($FFFFF604).w,d0
+ move.w (Ctrl_1).w,d0
andi.w #$70,d0
beq.s loc_90EE
tst.b ($FFFFE432).w
@@ -10809,7 +10814,7 @@ loc_9152: lea (PLC_SStageSonic).l,a2
move.l #ArtUnc_SStageSonic,d6
move.w #$FA80,d4
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_918A
lea (PLC_SStageTails).l,a2
move.l #ArtUnc_SStageTails,d6
@@ -10818,7 +10823,7 @@ loc_9152: ; ---------------------------------------------------------------------------
loc_918A:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s SStage_PLCLoad_91A2
lea (PLC_SStageKnuckles).l,a2
move.l #ArtUnc_SStageKnuckles,d6
@@ -10966,6 +10971,7 @@ loc_9344: add.l d1,$40(a0)
move.l d0,$3C(a0)
swap d0
+
addi.w #-$800,d0
move.w d0,$36(a0)
@@ -10981,13 +10987,13 @@ loc_935E: sub_937C:
- move.w ($FFFFEE26).w,d0
- lea ($FFFFE500).w,a1
+ move.w (Pos_table_index).w,d0
+ lea (Pos_table).w,a1
lea (a1,d0.w),a1
- move.w ($FFFFF604).w,(a1)
+ move.w (Ctrl_1).w,(a1)
move.b ($FFFFE432).w,2(a1)
addq.b #4,($FFFFEE27).w
- move.b ($FFFFF606).w,d0
+ move.b (Ctrl_2).w,d0
andi.b #$7F,d0
beq.s loc_93A6
move.w #$258,($FFFFF702).w
@@ -10996,15 +11002,15 @@ loc_93A6: tst.w ($FFFFF702).w
beq.s loc_93B6
subq.w #1,($FFFFF702).w
- move.w ($FFFFF606).w,d0
+ move.w (Ctrl_2).w,d0
rts
; ---------------------------------------------------------------------------
loc_93B6:
- lea ($FFFFE500).w,a1
+ lea (Pos_table).w,a1
move.w #4,d1
lsl.b #2,d1
- move.w ($FFFFEE26).w,d0
+ move.w (Pos_table_index).w,d0
sub.b d1,d0
move.b 2(a1,d0.w),d2
subq.b #4,d0
@@ -11025,13 +11031,13 @@ locret_93E0: sub_93E2:
- lea ($FFFFE500).w,a2
+ lea (Pos_table).w,a2
move.w #$3F,d0
loc_93EA:
move.l #0,(a2)+
dbf d0,loc_93EA
- move.w #0,($FFFFEE26).w
+ move.w #0,(Pos_table_index).w
move.w #0,($FFFFF702).w
rts
; End of function sub_93E2
@@ -11041,7 +11047,7 @@ loc_93EA: sub_9402:
- lea ($FFFFF100).w,a1
+ lea (Plane_buffer).w,a1
move.w ($FFFFE422).w,d0
addi.w #$80,d0
lsr.w #8,d0
@@ -11116,7 +11122,7 @@ sub_94D6: addq.w #1,a6
move.w (a3)+,(a6)+
move.w (a3)+,(a6)+
- tst.w ($FFFFFF08).w
+ tst.w (Player_mode).w
bne.s locret_94FA
move.w (a3)+,(a6)+
move.b (a3)+,(a6)+
@@ -11150,7 +11156,7 @@ sub_950C: move.w ($FFFFE402).w,d0
lea ($FFFFE40A).w,a1
bsr.w GetScalars2
- move.w ($FFFFE400).w,d0
+ move.w (Stat_table).w,d0
lea ($FFFFE406).w,a1
bsr.w GetScalars2
move.w #$E0,d0
@@ -11238,7 +11244,7 @@ loc_95F4: move.b #0,($FFFFE430).w
loc_9600:
- move.b ($FFFFF604).w,d1
+ move.b (Ctrl_1).w,d1
move.w ($FFFFE428).w,d2
tst.b ($FFFFE44C).w
bne.w loc_96FA
@@ -11368,7 +11374,7 @@ locret_972C: sub_972E:
- lea ($FFFFF100).w,a1
+ lea (Plane_buffer).w,a1
move.w ($FFFFE422).w,d0
addi.w #$80,d0
lsr.w #8,d0
@@ -11391,16 +11397,16 @@ sub_972E: tst.b ($FFFFE433).w
bne.s locret_97A8
move.b #1,($FFFFE433).w
- move.b #$48,($FFFFF600).w
+ move.b #$48,(Game_mode).w
tst.b ($FFFFFFD4).w
beq.s loc_978E
- move.b #$2C,($FFFFF600).w
+ move.b #$2C,(Game_mode).w
loc_978E:
- tst.b ($FFFFFE48).w
+ tst.b (Special_bonus_entry_flag).w
beq.s loc_97A0
- move.w ($FFFFFE4A).w,($FFFFFE10).w
- ori.b #$80,($FFFFFE2A).w
+ move.w (Saved2_zone_and_act).w,(Current_zone_and_act).w
+ ori.b #$80,(Last_star_post_hit).w
loc_97A0:
moveq #$6A,d0
@@ -11479,7 +11485,7 @@ loc_984C: bcs.s loc_987E
bset #0,($FFFFE43D).w
bne.s loc_987E
- addq.b #1,($FFFFFE18).w
+ addq.b #1,(Continue_count).w
move.w #-$54,d0
jmp (Play_Sound).l
; ---------------------------------------------------------------------------
@@ -11497,7 +11503,7 @@ loc_987E: bne.s loc_98A6
loc_98A0:
- addq.b #1,($FFFFFE12).w
+ addq.b #1,(Life_count).w
moveq #-$47,d0
loc_98A6:
@@ -11605,14 +11611,14 @@ loc_997A: move.w ($FFFFE420).w,d0
add.w d0,d0
add.w d0,d0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.l (a1,d0.w),a1
- lea ($FFFFF100).w,a2
+ lea (Plane_buffer).w,a2
lea ($FFFFE480).w,a4
- lea ($FFFFF800).w,a6
+ lea (Sprite_table_buffer).w,a6
moveq #$4F,d7
moveq #0,d6
- move.b ($FFFFF62C).w,d6
+ move.b (Sprites_drawn).w,d6
sub.b d6,d7
lsl.w #3,d6
adda.w d6,a6
@@ -11684,14 +11690,14 @@ loc_9A3C: move.w ($FFFFE420).w,d0
add.w d0,d0
add.w d0,d0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.l (a1,d0.w),a1
- lea ($FFFFF100).w,a2
+ lea (Plane_buffer).w,a2
lea ($FFFFE480).w,a4
- lea ($FFFFF800).w,a6
+ lea (Sprite_table_buffer).w,a6
moveq #$4F,d7
moveq #0,d6
- move.b ($FFFFF62C).w,d6
+ move.b (Sprites_drawn).w,d6
sub.b d6,d7
lsl.w #3,d6
adda.w d6,a6
@@ -11841,7 +11847,7 @@ locret_9BA4: loc_9BA6:
addq.b #1,($FFFFE44C).w
- lea ($FFFFF100).w,a1
+ lea (Plane_buffer).w,a1
move.w #$FF,d0
loc_9BB2:
@@ -11855,7 +11861,7 @@ loc_9BB2: asl.w #3,d1
sub.w d0,d2
sub.w d1,d3
- lea ($FFFFF100).w,a1
+ lea (Plane_buffer).w,a1
move.w d2,d0
addi.w #$80,d0
lsr.w #8,d0
@@ -11867,7 +11873,7 @@ loc_9BB2: lsl.w #5,d1
or.b d0,d1
move.b #$B,(a1,d1.w)
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.s loc_9C08
move.b #$D,(a1,d1.w)
@@ -11876,7 +11882,7 @@ loc_9C08: move.w #$800,($FFFFE428).w
move.b #$78,($FFFFE44D).w
moveq #0,d0
- move.b ($FFFFFE16).w,d0
+ move.b (Current_special_stage).w,d0
tst.b ($FFFFFFD4).w
beq.s loc_9C28
move.b ($FFFFFFA4).w,d0
@@ -11890,7 +11896,7 @@ loc_9C28: move.l (a1)+,(a2)+
move.l (a1)+,(a2)+
lea (ArtKosM_SStageChaosEmerald).l,a1
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.s loc_9C52
lea (ArtKosM_SStageSuperEmerald).l,a1
@@ -11902,7 +11908,7 @@ loc_9C52: loc_9C5C:
subq.b #1,d1
bne.s loc_9C80
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.s locret_9C7E
move.w #0,($FFFFE44A).w
subq.b #1,($FFFFE44D).w
@@ -11937,34 +11943,34 @@ loc_9C80: bne.s locret_9D1C
tst.b ($FFFFFFD4).w
bne.s loc_9CE6
- lea ($FFFFFFB0).w,a2
- move.b ($FFFFFFBB).w,d2
+ lea (Emerald_count).w,a2
+ move.b (SK_special_stage_flag).w,d2
beq.s loc_9CCE
- lea ($FFFFFFB1).w,a2
+ lea (Super_emerald_count).w,a2
loc_9CCE:
cmpi.b #7,(a2)
bcc.s loc_9CE6
addq.b #1,(a2)
- lea ($FFFFFFB2).w,a1
+ lea (Collected_emeralds_array).w,a1
moveq #0,d0
- move.b ($FFFFFE16).w,d0
+ move.b (Current_special_stage).w,d0
bset #0,(a1,d0.w)
loc_9CE6:
addq.b #1,($FFFFE44C).w
move.b #1,($FFFFE433).w
- move.b #$48,($FFFFF600).w
+ move.b #$48,(Game_mode).w
tst.b ($FFFFFFD4).w
beq.s loc_9D02
- move.b #$30,($FFFFF600).w
+ move.b #$30,(Game_mode).w
loc_9D02:
- tst.b ($FFFFFE48).w
+ tst.b (Special_bonus_entry_flag).w
beq.s loc_9D14
- move.w ($FFFFFE4A).w,($FFFFFE10).w
- ori.b #$80,($FFFFFE2A).w
+ move.w (Saved2_zone_and_act).w,(Current_zone_and_act).w
+ ori.b #$80,(Last_star_post_hit).w
loc_9D14:
moveq #$6A,d0
@@ -11997,7 +12003,7 @@ loc_9D76: loc_9D7E:
asr.w #2,d0
- add.w d0,($FFFFF618).w
+ add.w d0,(V_scroll_value_BG).w
moveq #0,d1
move.b ($FFFFE426).w,d1
asl.w #2,d1
@@ -12014,16 +12020,16 @@ loc_9D7E: Animate_SSRings:
lea ($FFFFE487).w,a1
- subq.b #1,($FFFFFEB2).w
+ subq.b #1,(Rings_frame_timer).w
bpl.s loc_9DC2
- move.b #7,($FFFFFEB2).w
- addi.b #$10,($FFFFFEB3).w
- cmpi.b #$30,($FFFFFEB3).w
+ move.b #7,(Rings_frame_timer).w
+ addi.b #$10,(Rings_frame).w
+ cmpi.b #$30,(Rings_frame).w
bcs.s loc_9DC2
- move.b #0,($FFFFFEB3).w
+ move.b #0,(Rings_frame).w
loc_9DC2:
- move.b ($FFFFFEB3).w,$20(a1)
+ move.b (Rings_frame).w,$20(a1)
rts
; End of function Animate_SSRings
@@ -12154,7 +12160,7 @@ loc_9E9C: sub_9EA0:
- lea ($FFFFF100).w,a3
+ lea (Plane_buffer).w,a3
moveq #0,d1
move.w #$3FF,d0
@@ -12174,7 +12180,7 @@ loc_9EB2: sub_9EBC:
- lea ($FFFFF100).w,a2
+ lea (Plane_buffer).w,a2
move.l a1,d5
sub.l a2,d5
bsr.s sub_9F44
@@ -12672,11 +12678,11 @@ locret_A85C: Competition_Menu:
bsr.w Pal_FadeToBlack
move #$2700,sr
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
andi.b #$BF,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Clear_DisplayData).l
- lea ($C00004).l,a6
+ lea (VDP_control_port).l,a6
move.w #$8004,(a6)
move.w #$8230,(a6)
move.w #$8407,(a6)
@@ -12685,55 +12691,55 @@ Competition_Menu: move.w #$8C81,(a6)
move.w #$9011,(a6)
jsr sub_C02A(pc)
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_A8AA:
move.l d0,(a1)+
dbf d1,loc_A8AA
- lea ($FFFFB000).w,a1
+ lea (Object_RAM).w,a1
moveq #0,d0
move.w #$7FF,d1
loc_A8BA:
move.l d0,(a1)+
dbf d1,loc_A8BA
- clr.w ($FFFFFB00).w
- move.l #$FFFFFB00,($FFFFFBFC).w
- clr.w ($FFFFFE04).w
+ clr.w (DMA_queue).w
+ move.l #$FFFFFB00,(DMA_queue_slot).w
+ clr.w (Level_frame_counter).w
cmpi.b #3,($FFFFEF48).w
bcs.s loc_A8DC
clr.b ($FFFFEF48).w
loc_A8DC:
lea (MapEni_S3MenuBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.w #$6001,d0
jsr (Eni_Decomp).l
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.l #$60000003,d0
moveq #$27,d1
moveq #$1B,d2
jsr (Plane_Map_To_VRAM).l
lea (ArtKos_S3MenuBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$20,a2
jsr KosArt_To_VDP(pc)
move.l #locret_A85C,($FFFFEF44).w
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (ArtKos_CompetitionLevel).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$53E0,a2
jsr KosArt_To_VDP(pc)
lea (ArtKos_CompetitionMode).l,a0
movea.w #$6940,a2
jsr KosArt_To_VDP(pc)
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (Pal_Competition1).l,a0
- lea ($FFFFFC80).w,a1
+ lea (Target_palette).w,a1
moveq #$17,d0
loc_A96A:
@@ -12745,7 +12751,7 @@ loc_A96A: loc_A978:
move.l (a0)+,(a1)+
dbf d0,loc_A978
- lea ($FFFFB000).w,a0
+ lea (Object_RAM).w,a0
lea ObjDat_AB48(pc),a1
move.w (a1)+,d0
@@ -12764,21 +12770,21 @@ loc_A988: jsr (Render_Sprites).l
moveq #$2D,d0
jsr (Play_Sound).l
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
bsr.w Pal_FadeFromBlack
loc_A9E8:
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
- addq.w #1,($FFFFFE04).w
+ addq.w #1,(Level_frame_counter).w
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- move.b ($FFFFF605).w,d0
- or.b ($FFFFF607).w,d0
+ move.b (Ctrl_1_pressed).w,d0
+ or.b (Ctrl_2_pressed).w,d0
move.b d0,d1
andi.b #-$10,d1
beq.w loc_AAA6
@@ -12799,37 +12805,37 @@ loc_AA28: ; ---------------------------------------------------------------------------
loc_AA2E:
- move.b #4,($FFFFF600).w
+ move.b #4,(Game_mode).w
rts
; ---------------------------------------------------------------------------
loc_AA36:
- clr.b ($FFFFFF8B).w
+ clr.b (Competition_mode_type).w
move.b ($FFFFEF4E).w,($FFFFFF8A).w
- move.b ($FFFFF607).w,d0
+ move.b (Ctrl_2_pressed).w,d0
andi.b #$E0,d0
sne ($FFFFEF49).w
- move.b #$3C,($FFFFF600).w
+ move.b #$3C,(Game_mode).w
bra.s loc_AA8E
; ---------------------------------------------------------------------------
loc_AA54:
- move.b #3,($FFFFFF8B).w
+ move.b #3,(Competition_mode_type).w
move.b ($FFFFEF4E).w,($FFFFFF8A).w
- move.b ($FFFFF607).w,d0
+ move.b (Ctrl_2_pressed).w,d0
andi.b #$E0,d0
sne ($FFFFEF49).w
- move.b #$40,($FFFFF600).w
+ move.b #$40,(Game_mode).w
bra.s loc_AA8E
; ---------------------------------------------------------------------------
loc_AA74:
- move.b ($FFFFF605).w,d2
+ move.b (Ctrl_1_pressed).w,d2
andi.w #$E0,d2
beq.s loc_AAA6
move.w #-1,($FFFFFF8A).w
clr.b ($FFFFEF49).w
- move.b #-$40,($FFFFF600).w
+ move.b #-$40,(Game_mode).w
loc_AA8E:
@@ -12897,8 +12903,8 @@ loc_AAFA: Obj_Competition_AB00:
cmpi.b #1,($FFFFEF48).w
bhi.s locret_AB46
- move.b ($FFFFF605).w,d0
- or.b ($FFFFF607).w,d0
+ move.b (Ctrl_1_pressed).w,d0
+ or.b (Ctrl_2_pressed).w,d0
andi.w #$C,d0
beq.s loc_AB26
tst.b ($FFFFEF4E).w
@@ -12964,11 +12970,11 @@ ObjDat_AB48: dc.w 6 Competition_LevelSelect:
bsr.w Pal_FadeToBlack
move #$2700,sr
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
andi.b #$BF,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Clear_DisplayData).l
- lea ($C00004).l,a6
+ lea (VDP_control_port).l,a6
move.w #$8004,(a6)
move.w #$8230,(a6)
move.w #$8407,(a6)
@@ -12977,40 +12983,41 @@ Competition_LevelSelect: move.w #$8C89,(a6)
move.w #$9011,(a6)
jsr sub_C02A(pc)
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_ABDC:
move.l d0,(a1)+
dbf d1,loc_ABDC
- lea ($FFFFB000).w,a1
+ lea (Object_RAM).w,a1
moveq #0,d0
move.w #$7FF,d1
loc_ABEC:
move.l d0,(a1)+
dbf d1,loc_ABEC
- clr.w ($FFFFFB00).w
- move.l #$FFFFFB00,($FFFFFBFC).w
- clr.w ($FFFFFE04).w
- clr.w ($FFFFFFE8).w
- clr.b ($FFFFF711).w
+ clr.w (DMA_queue).w
+ move.l #$FFFFFB00,(DMA_queue_slot).w
+ clr.w (Level_frame_counter).w
+ clr.w (Competition_mode).w
+ clr.b (Level_started_flag).w
move.w #-1,($FFFFEEE2).w
clr.w ($FFFFEEE4).w
clr.w ($FFFFEEE6).w
lea (MapEni_S3MenuBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.w #1,d0
jsr (Eni_Decomp).l
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.l #$60000003,d0
moveq #$27,d1
moveq #$1B,d2
jsr (Plane_Map_To_VRAM).l
lea (MapEni_CompetitionLevBorder).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.w #$829F,d0
+
jsr (Eni_Decomp).l
lea (MapEni_CompetitionLevImage).l,a0
lea ($FFFF1000).l,a1
@@ -13024,27 +13031,27 @@ loc_ABEC: jsr Copy_Listed_Data_To_VRAM(pc)
jsr sub_AFB2(pc)
mulu.w #$48,d0
- move.w d0,($FFFFF616).w
+ move.w d0,(V_scroll_value).w
jsr sub_B006(pc)
jsr sub_B036(pc)
lea (ArtKos_S3MenuBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$20,a2
jsr KosArt_To_VDP(pc)
move.l #locret_A85C,($FFFFEF44).w
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (ArtKos_CompetitionLevel).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$53E0,a2
jsr KosArt_To_VDP(pc)
lea (ArtKos_CompetitionPlayer).l,a0
movea.w #$B920,a2
jsr KosArt_To_VDP(pc)
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (Pal_CompetitionMenuBG).l,a0
- lea ($FFFFFC80).w,a1
+ lea (Target_palette).w,a1
moveq #7,d0
loc_AD04:
@@ -13056,9 +13063,9 @@ loc_AD04: loc_AD12:
move.l (a0)+,(a1)+
dbf d0,loc_AD12
- lea ($FFFFB000).w,a0
+ lea (Object_RAM).w,a0
lea ObjDat_CompetitionMatchRace(pc),a1
- tst.b ($FFFFF600).w
+ tst.b (Game_mode).w
bpl.s loc_AD2A
lea ObjDat_CompetitionTimeAttack(pc),a1
@@ -13080,14 +13087,14 @@ loc_AD2C: lea $4A(a0),a0
dbf d0,loc_AD2C
moveq #0,d0
- move.b ($FFFFFFEA).w,d0
+ move.b (P1_character).w,d0
mulu.w #$55,d0
addi.b #$40,d0
move.b d0,($FFFFB0C2).w
- tst.b ($FFFFF600).w
+ tst.b (Game_mode).w
bmi.s loc_AD8A
moveq #0,d0
- move.b ($FFFFFFEB).w,d0
+ move.b (P2_character).w,d0
mulu.w #$55,d0
addi.b #$40,d0
move.b d0,($FFFFB234).w
@@ -13106,24 +13113,24 @@ loc_AD8A: move.w #$B0,$10(a0)
moveq #$2D,d0
jsr (Play_Sound).l
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Pal_FadeFromBlack).l
loc_ADF2:
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
- addq.w #1,($FFFFFE04).w
+ addq.w #1,(Level_frame_counter).w
jsr (Process_Sprites).l
jsr sub_C0AE(pc)
jsr (Render_Sprites).l
move.b ($FFFFEEE4).w,d0
beq.s loc_AE1E
- move.b d0,($FFFFF600).w
+ move.b d0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
@@ -13136,7 +13143,7 @@ loc_AE1E: loc_AE2A:
tst.w d0
beq.s loc_AE4A
- move.w ($FFFFE000).w,d0
+ move.w (H_scroll_buffer).w,d0
beq.s loc_ADF2
cmpi.w #-$58,d0
bne.s loc_AE42
@@ -13144,14 +13151,14 @@ loc_AE2A: loc_AE42:
addq.w #8,d0
- move.w d0,($FFFFE000).w
+ move.w d0,(H_scroll_buffer).w
bra.s loc_ADF2
; ---------------------------------------------------------------------------
loc_AE4A:
- cmpi.w #-$58,($FFFFE000).w
+ cmpi.w #-$58,(H_scroll_buffer).w
beq.s loc_AE58
- subq.w #8,($FFFFE000).w
+ subq.w #8,(H_scroll_buffer).w
bra.s loc_ADF2
; ---------------------------------------------------------------------------
@@ -13163,17 +13170,17 @@ loc_AE58: neg.w d0
loc_AE64:
- add.w d0,($FFFFF616).w
+ add.w d0,(V_scroll_value).w
sub.w d0,($FFFFEEE6).w
bra.s loc_ADF2
; ---------------------------------------------------------------------------
loc_AE6E:
- move.b ($FFFFF605).w,d1
+ move.b (Ctrl_1_pressed).w,d1
moveq #0,d2
tst.b ($FFFFEF49).w
beq.s loc_AE7E
- move.b ($FFFFF607).w,d2
+ move.b (Ctrl_2_pressed).w,d2
loc_AE7E:
btst #4,d2
@@ -13229,10 +13236,10 @@ loc_AEF2: jsr (Play_Sound_2).l
moveq #0,d0
move.b ($FFFFEF4A).w,d0
- move.b Comp_ZoneList(pc,d0.w),($FFFFFE10).w
- clr.b ($FFFFFE11).w
+ move.b Comp_ZoneList(pc,d0.w),(Current_zone).w
+ clr.b (Current_act).w
jsr sub_C104(pc)
- move.b #$C,($FFFFF600).w
+ move.b #$C,(Game_mode).w
rts
; ---------------------------------------------------------------------------
Comp_ZoneList: dc.b $E
@@ -13245,7 +13252,7 @@ Comp_ZoneList: dc.b $E Obj_Competition_ZoneSelect:
- cmpi.w #-$58,($FFFFE000).w
+ cmpi.w #-$58,(H_scroll_buffer).w
bne.s locret_AF56
tst.w ($FFFFEEE6).w
bne.s locret_AF56
@@ -13253,7 +13260,7 @@ Obj_Competition_ZoneSelect: move.b ($FFFFEF4A).w,d0
mulu.w #$48,d0
addi.w #$AC,d0
- sub.w ($FFFFF616).w,d0
+ sub.w (V_scroll_value).w,d0
move.w d0,$14(a0)
btst #3,($FFFFFE05).w
beq.s locret_AF56
@@ -13266,7 +13273,7 @@ locret_AF56: ; ---------------------------------------------------------------------------
loc_AF58:
- cmpi.w #-$58,($FFFFE000).w
+ cmpi.w #-$58,(H_scroll_buffer).w
bne.s loc_AF9E
tst.w ($FFFFEEE6).w
bne.s loc_AF9E
@@ -13274,7 +13281,7 @@ loc_AF58: move.b ($FFFFEF4A).w,d0
mulu.w #$48,d0
addi.w #$A8,d0
- sub.w ($FFFFF616).w,d0
+ sub.w (V_scroll_value).w,d0
move.w d0,$14(a0)
move.b ($FFFFEF4A).w,d0
addq.b #6,d0
@@ -13293,7 +13300,7 @@ loc_AF9E: lea (Pal_Competition3).l,a1
loc_AFA4:
- lea ($FFFFFC40).w,a2
+ lea (Normal_palette_line_3).w,a2
moveq #7,d0
loc_AFAA:
@@ -13326,21 +13333,21 @@ locret_AFC6: loc_AFC8:
move.l #locret_A85C,($FFFFEF44).w
move.l #$42040003,d0
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
move.l #$80008000,d1
- move.w #$8F80,4(a6)
+ move.w #$8F80,VDP_control_port-VDP_data_port(a6)
moveq #8,d2
loc_AFEA:
moveq #$12,d3
- move.l d0,4(a6)
+ move.l d0,VDP_control_port-VDP_data_port(a6)
loc_AFF0:
move.l d1,(a6)
dbf d3,loc_AFF0
addi.l #$20000,d0
dbf d2,loc_AFEA
- move.w #$8F02,4(a6)
+ move.w #$8F02,VDP_control_port-VDP_data_port(a6)
; =============== S U B R O U T I N E =======================================
@@ -13352,7 +13359,7 @@ sub_B006: lsl.w #4,d0
addi.w #$C004,d0
move.w d0,d7
- tst.b ($FFFFF600).w
+ tst.b (Game_mode).w
bmi.s loc_B02E
jsr sub_C04C(pc)
move.w d7,d0
@@ -13373,7 +13380,7 @@ loc_B02E: sub_B036:
move.w #-$3D2E,d7
- move.l ($FFFFE600).w,d6
+ move.l (Competition_saved_data).w,d6
bsr.s sub_B066
addi.w #$480,d7
move.l ($FFFFE610).w,d6
@@ -13405,7 +13412,7 @@ loc_B06C: move.b d1,d5
lsl.l #8,d5
dbf d3,loc_B06C
- lea ($FFFFF100).w,a1
+ lea (Plane_buffer).w,a1
lea (MapUnc_CompetitionNumbers).l,a2
moveq #0,d0
bsr.s sub_B0C2
@@ -13419,7 +13426,7 @@ loc_B06C: bsr.s sub_B0D4
bsr.s sub_B0C2
bsr.s sub_B0C2
- lea ($FFFFF100).w,a1
+ lea (Plane_buffer).w,a1
; End of function sub_B066
@@ -13697,11 +13704,11 @@ ObjDat_CompetitionTimeAttack: dc.w 5 Competition_PlayerSelect:
jsr (Pal_FadeToBlack).l
move #$2700,sr
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
andi.b #$BF,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Clear_DisplayData).l
- lea ($C00004).l,a6
+ lea (VDP_control_port).l,a6
move.w #$8004,(a6)
move.w #$8230,(a6)
move.w #$8407,(a6)
@@ -13714,52 +13721,52 @@ Competition_PlayerSelect: jsr sub_C04C(pc)
move.w #$C820,d0
jsr sub_C04C(pc)
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_B32A:
move.l d0,(a1)+
dbf d1,loc_B32A
- lea ($FFFFB000).w,a1
+ lea (Object_RAM).w,a1
moveq #0,d0
move.w #$7FF,d1
loc_B33A:
move.l d0,(a1)+
dbf d1,loc_B33A
- clr.w ($FFFFFB00).w
- move.l #$FFFFFB00,($FFFFFBFC).w
- clr.w ($FFFFFE04).w
+ clr.w (DMA_queue).w
+ move.l #$FFFFFB00,(DMA_queue_slot).w
+ clr.w (Level_frame_counter).w
move.w #-1,($FFFFEEE2).w
clr.w ($FFFFEEE4).w
lea (MapEni_S3MenuBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.w #1,d0
jsr (Eni_Decomp).l
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.l #$60000003,d0
moveq #$27,d1
moveq #$1B,d2
jsr (Plane_Map_To_VRAM).l
lea (ArtKos_S3MenuBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$20,a2
jsr KosArt_To_VDP(pc)
move.l #locret_A85C,($FFFFEF44).w
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (ArtKos_CompetitionLevel).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$53E0,a2
jsr KosArt_To_VDP(pc)
lea (ArtKos_CompetitionPlayer).l,a0
movea.w #$B920,a2
jsr KosArt_To_VDP(pc)
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (Pal_CompetitionMenuBG).l,a0
- lea ($FFFFFC80).w,a1
+ lea (Target_palette).w,a1
moveq #7,d0
loc_B3E8:
@@ -13771,7 +13778,7 @@ loc_B3E8: loc_B3F6:
move.l (a0)+,(a1)+
dbf d0,loc_B3F6
- lea ($FFFFB04A).w,a0
+ lea (Player_2).w,a0
lea ObjDat_B6C8(pc),a1
move.w (a1)+,d0
@@ -13790,12 +13797,12 @@ loc_B406: lea $4A(a0),a0
dbf d0,loc_B406
moveq #0,d0
- move.b ($FFFFFFEA).w,d0
+ move.b (P1_character).w,d0
mulu.w #$55,d0
addi.b #$40,d0
move.b d0,($FFFFB0C2).w
moveq #0,d0
- move.b ($FFFFFFEB).w,d0
+ move.b (P2_character).w,d0
mulu.w #$55,d0
addi.b #$40,d0
move.b d0,($FFFFB234).w
@@ -13807,23 +13814,23 @@ loc_B406: jsr (Render_Sprites).l
moveq #$2D,d0
jsr (Play_Sound).l
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Pal_FadeFromBlack).l
loc_B4A8:
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
- addq.w #1,($FFFFFE04).w
+ addq.w #1,(Level_frame_counter).w
jsr (Process_Sprites).l
jsr sub_C0AE(pc)
jsr (Render_Sprites).l
move.b ($FFFFEEE4).w,d0
beq.s loc_B4D4
- move.b d0,($FFFFF600).w
+ move.b d0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
@@ -13836,9 +13843,9 @@ loc_B4D4: loc_B4E0:
tst.w d0
bne.s loc_B4A8
- move.w #$E00,($FFFFFE10).w
+ move.w #$E00,(Current_zone_and_act).w
jsr sub_C104(pc)
- move.b #$C,($FFFFF600).w
+ move.b #$C,(Game_mode).w
rts
; ---------------------------------------------------------------------------
@@ -13846,16 +13853,16 @@ Obj_Competition_StaticSprite: move.w $12(a0),d0
- add.w ($FFFFE000).w,d0
+ add.w (H_scroll_buffer).w,d0
move.w d0,$10(a0)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
Obj_Competition_2PSelect:
- lea ($FFFFF607).w,a1
+ lea (Ctrl_2_pressed).w,a1
lea ($FFFFEEE3).w,a2
- lea ($FFFFFFEB).w,a3
+ lea (P2_character).w,a3
tst.b ($FFFFEF49).w
bne.s loc_B538
tst.w ($FFFFEEE6).w
@@ -13870,12 +13877,12 @@ loc_B526: Obj_Competition_1PSelect:
- lea ($FFFFF605).w,a1
+ lea (Ctrl_1_pressed).w,a1
lea ($FFFFEEE2).w,a2
- lea ($FFFFFFEA).w,a3
+ lea (P1_character).w,a3
loc_B538:
- tst.w ($FFFFE000).w
+ tst.w (H_scroll_buffer).w
bne.w loc_B626
tst.b $2F(a0)
beq.s loc_B558
@@ -13986,7 +13993,7 @@ loc_B626: moveq #1,d0
tst.b $2F(a0)
bne.s loc_B638
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
lsr.w #3,d0
andi.w #1,d0
@@ -13994,7 +14001,7 @@ loc_B638: move.b d0,$22(a0)
move.w $12(a0),d0
- add.w ($FFFFE000).w,d0
+ add.w (H_scroll_buffer).w,d0
move.w d0,$10(a0)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -14025,7 +14032,7 @@ loc_B66E: jsr (GetSineCosine).l
asr.w #4,d1
add.w $12(a0),d1
- add.w ($FFFFE000).w,d1
+ add.w (H_scroll_buffer).w,d1
move.w d1,$10(a0)
asr.w #5,d0
add.w $16(a0),d0
@@ -14040,7 +14047,7 @@ Obj_Competition_PRESSSTART: btst #5,($FFFFFE05).w
beq.s locret_B6C6
move.w $12(a0),d0
- add.w ($FFFFE000).w,d0
+ add.w (H_scroll_buffer).w,d0
move.w d0,$10(a0)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -14121,11 +14128,11 @@ ObjDat_B6C8: dc.w $A Competition_Results:
jsr (Pal_FadeToBlack).l
move #$2700,sr
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
andi.b #$BF,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Clear_DisplayData).l
- lea ($C00004).l,a6
+ lea (VDP_control_port).l,a6
move.w #$8004,(a6)
move.w #$8230,(a6)
move.w #$8407,(a6)
@@ -14138,28 +14145,28 @@ Competition_Results: jsr sub_C04C(pc)
move.w #$C82A,d0
jsr sub_C04C(pc)
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_B7AC:
move.l d0,(a1)+
dbf d1,loc_B7AC
- lea ($FFFFB000).w,a1
+ lea (Object_RAM).w,a1
moveq #0,d0
move.w #$7FF,d1
loc_B7BC:
move.l d0,(a1)+
dbf d1,loc_B7BC
- clr.w ($FFFFFB00).w
- move.l #$FFFFFB00,($FFFFFBFC).w
- clr.w ($FFFFFE04).w
- clr.w ($FFFFFFE8).w
- clr.b ($FFFFF711).w
+ clr.w (DMA_queue).w
+ move.l #$FFFFFB00,(DMA_queue_slot).w
+ clr.w (Level_frame_counter).w
+ clr.w (Competition_mode).w
+ clr.b (Level_started_flag).w
move.w #$1E,($FFFFEEE8).w
lea (MapEni_S3MenuBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.w #1,d0
jsr (Eni_Decomp).l
lea (MapEni_CompetitionResultsLED).l,a0
@@ -14170,14 +14177,14 @@ loc_B7BC: jsr Copy_Listed_Data_To_VRAM(pc)
jsr sub_BA04(pc)
lea (ArtKos_S3MenuBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$20,a2
jsr KosArt_To_VDP(pc)
move.l #locret_A85C,($FFFFEF44).w
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (ArtKos_CompetitionLevel).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$53E0,a2
jsr KosArt_To_VDP(pc)
lea (ArtKos_CompetitionResults).l,a0
@@ -14186,10 +14193,10 @@ loc_B7BC: lea (ArtKos_CompetitionPlayer).l,a0
movea.w #$B920,a2
jsr KosArt_To_VDP(pc)
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (Pal_CompetitionMenuBG).l,a0
- lea ($FFFFFC80).w,a1
+ lea (Target_palette).w,a1
moveq #7,d0
loc_B888:
@@ -14207,7 +14214,7 @@ loc_B896: loc_B8A4:
move.l (a0)+,(a1)+
dbf d0,loc_B8A4
- lea ($FFFFB000).w,a0
+ lea (Object_RAM).w,a0
lea ObjDat_BB4A(pc),a1
move.w (a1)+,d0
@@ -14230,17 +14237,17 @@ loc_B8B4: jsr (Render_Sprites).l
moveq #$28,d0
jsr (Play_Sound).l
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Pal_FadeFromBlack).l
loc_B922:
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
- addq.w #1,($FFFFFE04).w
+ addq.w #1,(Level_frame_counter).w
move.w ($FFFFEEA0).w,d7
beq.s loc_B952
btst #3,($FFFFFE05).w
@@ -14263,13 +14270,13 @@ loc_B952: ; ---------------------------------------------------------------------------
loc_B95E:
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
tst.b ($FFFFEF49).w
beq.s loc_B96C
- or.b ($FFFFF607).w,d0
+ or.b (Ctrl_2_pressed).w,d0
loc_B96C:
- move.w ($FFFFE000).w,d1
+ move.w (H_scroll_buffer).w,d1
beq.s loc_B97A
cmpi.w #$FF78,d1
beq.s loc_B988
@@ -14282,14 +14289,14 @@ loc_B97A: loc_B980:
subq.w #8,d1
- move.w d1,($FFFFE000).w
+ move.w d1,(H_scroll_buffer).w
bra.s loc_B996
; ---------------------------------------------------------------------------
loc_B988:
andi.w #$E0,d0
beq.s loc_B996
- move.b #$38,($FFFFF600).w
+ move.b #$38,(Game_mode).w
rts
; ---------------------------------------------------------------------------
@@ -14304,10 +14311,10 @@ Obj_Competition_B9A6: move.l #Map_CompetitionPlayerSprite,$C(a0)
move.w #$A5C9,$A(a0)
- move.b ($FFFFFFEA).w,d0
+ move.b (P1_character).w,d0
tst.b $2E(a0)
beq.s loc_B9C2
- move.b ($FFFFFFEB).w,d0
+ move.b (P2_character).w,d0
loc_B9C2:
move.b d0,$22(a0)
@@ -14412,7 +14419,7 @@ loc_BA9A: beq.s locret_BAEC
move.l ($FFFFEE98).w,d6
jsr sub_B066(pc)
- lea ($FFFFF100).w,a0
+ lea (Plane_buffer).w,a0
lea $20(a0),a1
moveq #$F,d0
@@ -14575,11 +14582,11 @@ VRAMDatList_BBAC:dc.w 8 TimeAttack_Records:
jsr (Pal_FadeToBlack).l
move #$2700,sr
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
andi.b #$BF,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Clear_DisplayData).l
- lea ($C00004).l,a6
+ lea (VDP_control_port).l,a6
move.w #$8004,(a6)
move.w #$8230,(a6)
move.w #$8407,(a6)
@@ -14590,35 +14597,35 @@ TimeAttack_Records: jsr sub_C02A(pc)
move.w #$C1AA,d0
jsr sub_C04C(pc)
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_BC5E:
move.l d0,(a1)+
dbf d1,loc_BC5E
- lea ($FFFFB000).w,a1
+ lea (Object_RAM).w,a1
moveq #0,d0
move.w #$7FF,d1
loc_BC6E:
move.l d0,(a1)+
dbf d1,loc_BC6E
- clr.w ($FFFFFB00).w
- move.l #$FFFFFB00,($FFFFFBFC).w
- clr.w ($FFFFFE04).w
- clr.w ($FFFFFFE8).w
- clr.b ($FFFFF711).w
+ clr.w (DMA_queue).w
+ move.l #$FFFFFB00,(DMA_queue_slot).w
+ clr.w (Level_frame_counter).w
+ clr.w (Competition_mode).w
+ clr.b (Level_started_flag).w
move.w #$1E,($FFFFEEE8).w
- move.w #$FF78,($FFFFE000).w
+ move.w #$FF78,(H_scroll_buffer).w
lea (MapEni_S3MenuBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.w #1,d0
jsr (Eni_Decomp).l
lea VRAMDatList_BF96(pc),a0
jsr Copy_Listed_Data_To_VRAM(pc)
moveq #0,d0
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone).w,d0
subi.w #$E,d0
lsl.w #2,d0
lea CompTimeAttack_LevelNameMaps(pc),a1
@@ -14628,21 +14635,21 @@ loc_BC6E: moveq #1,d2
jsr (Plane_Map_To_VRAM).l
jsr sub_BEB2(pc)
- move.l #$71A00002,($C00004).l
+ move.l #$71A00002,(VDP_control_port).l
lea (ArtNem_ContinueDigits).l,a0
jsr (Nem_Decomp).l
- move.l #$74200002,($C00004).l
+ move.l #$74200002,(VDP_control_port).l
lea (ArtNem_S38x16Font).l,a0
jsr (Nem_Decomp).l
lea (ArtKos_S3MenuBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$20,a2
jsr KosArt_To_VDP(pc)
move.l #locret_A85C,($FFFFEF44).w
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (ArtKos_CompetitionLevel).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$53E0,a2
jsr KosArt_To_VDP(pc)
lea (ArtKos_CompetitionResults).l,a0
@@ -14651,7 +14658,7 @@ loc_BC6E: lea (ArtKos_CompetitionPlayer).l,a0
movea.w #$B920,a2
jsr KosArt_To_VDP(pc)
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (ArtKos_SSResultsGeneral).l,a0
lea ($FFFF0020).l,a1
@@ -14659,16 +14666,16 @@ loc_BC6E: lea (ArtKos_SSResultsTKIcons).l,a0
jsr (Kos_Decomp).l
move #$2700,sr
- move.l #$6E400002,($C00004).l
+ move.l #$6E400002,(VDP_control_port).l
lea ($FFFF0F60).l,a0
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
move.w #$D7,d0
loc_BDAA:
move.l (a0)+,(a6)
dbf d0,loc_BDAA
lea (Pal_CompetitionMenuBG).l,a0
- lea ($FFFFFC80).w,a1
+ lea (Target_palette).w,a1
moveq #7,d0
loc_BDBC:
@@ -14686,7 +14693,7 @@ loc_BDCA: loc_BDD8:
move.l (a0)+,(a1)+
dbf d0,loc_BDD8
- lea ($FFFFB000).w,a0
+ lea (Object_RAM).w,a0
lea ObjDat_BF58(pc),a1
move.w (a1)+,d0
@@ -14709,17 +14716,17 @@ loc_BDE8: jsr (Render_Sprites).l
moveq #$28,d0
jsr (Play_Sound).l
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Pal_FadeFromBlack).l
loc_BE56:
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
- addq.w #1,($FFFFFE04).w
+ addq.w #1,(Level_frame_counter).w
move.w ($FFFFEEA0).w,d7
beq.s loc_BE86
btst #3,($FFFFFE05).w
@@ -14742,10 +14749,10 @@ loc_BE86: ; ---------------------------------------------------------------------------
loc_BE92:
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.w #$E0,d0
beq.s loc_BEA4
- move.b #$C0,($FFFFF600).w
+ move.b #$C0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
@@ -14764,10 +14771,10 @@ sub_BEB2: moveq #5,d0
jsr loc_BAF0(pc)
moveq #0,d0
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone).w,d0
subi.w #$E,d0
lsl.w #4,d0
- lea ($FFFFE600).w,a0
+ lea (Competition_saved_data).w,a0
adda.w d0,a0
move.w #$C95A,d7
move.l (a0)+,d6
@@ -14789,10 +14796,10 @@ Obj_Competition_BEF8: move.l #Map_Results,$C(a0)
move.w #$9FD5,$A(a0)
moveq #0,d0
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone).w,d0
subi.w #$E,d0
lsl.w #4,d0
- lea ($FFFFE600).w,a1
+ lea (Competition_saved_data).w,a1
lea $C(a1,d0.w),a1
moveq #0,d0
move.b $2E(a0),d0
@@ -14921,8 +14928,8 @@ sub_C02A: move.l #$80008000,d0
move.w #$7FF,d1
- move.l #$40000003,($C00004).l
- lea ($C00000).l,a6
+ move.l #$40000003,(VDP_control_port).l
+ lea (VDP_data_port).l,a6
loc_C044:
move.l d0,(a6)
@@ -14936,7 +14943,7 @@ loc_C044: sub_C04C:
moveq #7,d2
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
moveq #0,d1
loc_C056:
@@ -14960,7 +14967,7 @@ sub_C068: lsr.w #2,d3
ori.w #$4000,d3
swap d3
- move.l d3,4(a6)
+ move.l d3,VDP_control_port-VDP_data_port(a6)
move.l d1,(a6)
move.l d1,(a6)
move.l d1,(a6)
@@ -15000,7 +15007,7 @@ loc_C08A: sub_C0AE:
- lea ($FFFFB0DE).w,a0
+ lea (Dynamic_object_RAM).w,a0
bsr.s sub_C0B8
lea ($FFFFB250).w,a0
; End of function sub_C0AE
@@ -15049,29 +15056,29 @@ locret_C102: sub_C104:
- move.w #1,($FFFFFFE8).w
+ move.w #1,(Competition_mode).w
bra.s loc_C110
; ---------------------------------------------------------------------------
loc_C10C:
- clr.w ($FFFFFFE8).w
+ clr.w (Competition_mode).w
loc_C110:
- move.b #3,($FFFFFE12).w
- move.b #3,($FFFFFEC6).w
- moveq #0,d0
- move.b d0,($FFFFFE2A).w
- move.b d0,($FFFFFE48).w
- move.w d0,($FFFFFE20).w
- move.l d0,($FFFFFE22).w
- move.l d0,($FFFFFE26).w
- move.w d0,($FFFFFED0).w
- move.l d0,($FFFFFED2).w
- move.l d0,($FFFFFED6).w
- move.b d0,($FFFFFE18).w
- move.l #$1388,($FFFFFFC0).w
- move.l #$1388,($FFFFFFC4).w
+ move.b #3,(Life_count).w
+ move.b #3,(Life_count_P2).w
+ moveq #0,d0
+ move.b d0,(Last_star_post_hit).w
+ move.b d0,(Special_bonus_entry_flag).w
+ move.w d0,(Ring_count).w
+ move.l d0,(Timer).w
+ move.l d0,(Score).w
+ move.w d0,(Ring_count_P2).w
+ move.l d0,(Timer_P2).w
+ move.l d0,(Score_P2).w
+ move.b d0,(Continue_count).w
+ move.l #$1388,(Next_extra_life_score).w
+ move.l #$1388,(Next_extra_life_score_P2).w
rts
; End of function sub_C104
@@ -15080,18 +15087,18 @@ loc_C110: SRAM_Load:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.w locret_C260 ; Don't bother if we're playing only Sonic and Knuckles
- clr.w ($FFFFEF56).w ; No interrupt shenanigans needed
+ clr.w (SRAM_mask_interrupts_flag).w ; No interrupt shenanigans needed
lea ($200011).l,a0
lea ($2000BD).l,a1
- lea ($FFFFE600).w,a2
+ lea (Competition_saved_data).w,a2
moveq #$29,d0
move.w #$4C44,d1 ; RAM integrity value
jsr Get_From_SRAM(pc)
beq.s loc_C190 ; If the data read was successful, branch
lea SaveData_GeneralDefault(pc),a0
- lea ($FFFFE600).w,a1
+ lea (Competition_saved_data).w,a1
moveq #$28,d0
loc_C186:
@@ -15102,12 +15109,12 @@ loc_C186: loc_C190:
lea ($200281).l,a0
lea ($20032D).l,a1
- lea ($FFFFE6AC).w,a2
+ lea (Saved_data).w,a2
moveq #$29,d0
move.w #$4244,d1 ; RAM integrity value for save game data
jsr Get_From_SRAM(pc)
bne.s loc_C1C0 ; If the data read was not successful, branch
- lea ($FFFFE6AC).w,a0
+ lea (Saved_data).w,a0
moveq #7,d0
loc_C1B2:
@@ -15118,7 +15125,7 @@ loc_C1B2: loc_C1C0:
lea SaveData_GameDefault(pc),a0
- lea ($FFFFE6AC).w,a1
+ lea (Saved_data).w,a1
moveq #$28,d0
loc_C1CA:
@@ -15131,7 +15138,7 @@ loc_C1CA: move.w #$4244,d1
jsr Get_From_SRAM(pc)
bne.s loc_C252 ; If write was not successful, branch
- lea ($FFFFE6AC).w,a0 ; If there's valid data from Sonic 3, we'll now go through the process of migrating it to SK
+ lea (Saved_data).w,a0 ; If there's valid data from Sonic 3, we'll now go through the process of migrating it to SK
lea ($FF0000).l,a1
lea SaveData_S3LevRef(pc),a2
moveq #5,d0
@@ -15221,12 +15228,12 @@ locret_C31E: Read_SRAM:
- tst.w ($FFFFEF56).w
+ tst.w (SRAM_mask_interrupts_flag).w
beq.s loc_C32A
move #$2700,sr ; Disable interrupts if EF56 is set
loc_C32A:
- move.b #1,($A130F1).l ; Access SRAM
+ move.b #1,(SRAM_access_flag).l ; Access SRAM
movea.l a2,a6
move.w d0,d6
@@ -15235,8 +15242,8 @@ loc_C336: move.w d3,(a2)+ ; Read data from SRAM
addq.w #4,a0
dbf d0,loc_C336
- move.b #0,($A130F1).l ; No longer access SRAM
- tst.w ($FFFFEF56).w
+ move.b #0,(SRAM_access_flag).l ; No longer access SRAM
+ tst.w (SRAM_mask_interrupts_flag).w
beq.s loc_C354
move #$2300,sr ; Restore interrupts if EF56 is set
@@ -15281,12 +15288,12 @@ Write_SRAM: subq.w #1,d6
bsr.s Create_SRAMChecksum
move.w d7,(a6)
- tst.w ($FFFFEF56).w
+ tst.w (SRAM_mask_interrupts_flag).w
beq.s loc_C38A
move #$2700,sr ; If EF56 is set, disable interrupts while saving is occuring
loc_C38A:
- move.b #1,($A130F1).l ; Send I/O signal to SRAM, mapping it to $200001
+ move.b #1,(SRAM_access_flag).l ; Send I/O signal to SRAM, mapping it to $200001
movea.l a2,a3
move.w d0,d1
@@ -15301,8 +15308,8 @@ loc_C3A2: movep.w d2,0(a1) ; Copy data to backup SRAM
addq.w #4,a1
dbf d1,loc_C3A2
- move.b #0,($A130F1).l ; Stop SRAM access
- tst.w ($FFFFEF56).w
+ move.b #0,(SRAM_access_flag).l ; Stop SRAM access
+ tst.w (SRAM_mask_interrupts_flag).w
beq.s locret_C3C0
move #$2300,sr ; Restore interrupts if EF56 was set
@@ -15315,7 +15322,7 @@ locret_C3C0: Write_SaveGeneral:
- st ($FFFFEF56).w
+ st (SRAM_mask_interrupts_flag).w
; End of function Write_SaveGeneral
@@ -15327,7 +15334,7 @@ Write_SaveGeneral2: move.w d7,-(sp)
lea ($200011).l,a0 ; Save general SRAM
lea ($2000BD).l,a1 ; Save general Backup SRAM
- lea ($FFFFE600).w,a2 ; Save general RAM
+ lea (Competition_saved_data).w,a2 ; Save general RAM
moveq #$29,d0
bsr.s Write_SRAM
move.w (sp)+,d7
@@ -15345,7 +15352,7 @@ Write_SaveGame: move.w d7,-(sp)
lea ($200281).l,a0 ; Save game SRAM
lea ($20032D).l,a1 ; Save game backup SRAM
- lea ($FFFFE6AC).w,a2 ; Save game RAM
+ lea (Saved_data).w,a2 ; Save game RAM
moveq #$29,d0
jsr Write_SRAM(pc)
move.w (sp)+,d7
@@ -15363,12 +15370,12 @@ SaveGame_NextLevel: dc.b 1, 1, 2, 2, 3, 3, 4, 4, 8, 8, 5, SaveGame:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.w loc_C4CC ; If this is SK, saving is disabled
move.l ($FFFFE660).w,d0
beq.w loc_C4CC ; If not playing on a save file, get out
movea.l d0,a1
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #7,d0
move.b SaveGame_NextLevel(pc,d0.w),d0
@@ -15381,7 +15388,7 @@ SaveGame: loc_C464:
move.b d0,3(a1) ; Move next level into current level
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_C478
cmpi.b #$C,d0
bcs.s loc_C4B0
@@ -15389,7 +15396,7 @@ loc_C464: ; ---------------------------------------------------------------------------
loc_C478:
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_C488
cmpi.b #$D,d0
bcs.s loc_C4B0
@@ -15400,15 +15407,15 @@ loc_C488: cmpi.b #$D,d0
bhi.s loc_C498 ; If next level above Doomsday's code, make it a completed save file
bne.s loc_C4B0
- cmpi.b #7,($FFFFFFB0).w ; If next level IS Doomsday but the emeralds aren't collected, make it a completed save file
+ cmpi.b #7,(Emerald_count).w ; If next level IS Doomsday but the emeralds aren't collected, make it a completed save file
bcc.s loc_C4B0
loc_C498:
moveq #1,d0
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
bcs.s loc_C4AE ; code 1 is completed without all emeralds
addq.b #1,d0
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcs.s loc_C4AE ; code 2 is completed with all chaos emeralds
addq.b #1,d0 ; code 3 is completed with all super emeralds
@@ -15419,14 +15426,14 @@ loc_C4B0: clr.w 4(a1) ; Clear the special stage ring collection memory
loc_C4B4:
- move.b ($FFFFFE12).w,d0 ; Get number of lives
+ move.b (Life_count).w,d0 ; Get number of lives
cmpi.b #$63,d0
bls.s loc_C4C0
moveq #$63,d0
loc_C4C0:
move.b d0,8(a1) ; Put number of lives into memory
- move.b d0,($FFFFFE12).w
+ move.b d0,(Life_count).w
jsr Write_SaveGame(pc)
loc_C4CC:
@@ -15440,20 +15447,20 @@ loc_C4CC: SaveGame_SpecialStage:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s locret_C530 ; If playing Sonic and Knuckles, don't bother
move.l ($FFFFE660).w,d0
beq.s locret_C530
movea.l d0,a1 ; Get address of save slot
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
bne.s loc_C4F8
andi.b #-$10,2(a1)
- move.b ($FFFFFE16).w,d0
+ move.b (Current_special_stage).w,d0
andi.b #$F,d0
or.b d0,2(a1) ; Write last played special stage only if Sonic 3 special stages are in effect
loc_C4F8:
- lea ($FFFFFFB2).w,a2
+ lea (Collected_emeralds_array).w,a2
moveq #0,d0
moveq #6,d1
@@ -15465,14 +15472,14 @@ loc_C500: dbf d1,loc_C500
move.w d0,6(a1) ; Compress emerald collection RAM and put it into Save Game
move.w ($FFFFFF94).w,4(a1) ; Special stage entry ring memory is copied as well
- move.b ($FFFFFE18).w,d0
+ move.b (Continue_count).w,d0
cmpi.b #$63,d0
bls.s loc_C524
moveq #$63,d0
loc_C524:
move.b d0,9(a1) ; Save number of continues
- move.b d0,($FFFFFE18).w
+ move.b d0,(Continue_count).w
jmp Write_SaveGame(pc)
; ---------------------------------------------------------------------------
@@ -15486,27 +15493,27 @@ locret_C530: SaveGame_LivesContinues:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s locret_C56C ; If playing Sonic and Knuckles, don't bother
move.l ($FFFFE660).w,d0
beq.s locret_C56C
movea.l d0,a1
- move.b ($FFFFFE12).w,d0
+ move.b (Life_count).w,d0
cmpi.b #$63,d0
bls.s loc_C54C
moveq #$63,d0
loc_C54C:
move.b d0,8(a1) ; Save number of lives
- move.b d0,($FFFFFE12).w
- move.b ($FFFFFE18).w,d0
+ move.b d0,(Life_count).w
+ move.b (Continue_count).w,d0
cmpi.b #$63,d0
bls.s loc_C560
moveq #$63,d0
loc_C560:
move.b d0,9(a1) ; Save number of continues
- move.b d0,($FFFFFE18).w
+ move.b d0,(Continue_count).w
jmp Write_SaveGame(pc)
; ---------------------------------------------------------------------------
@@ -15523,23 +15530,23 @@ locret_C56E: SaveScreen:
jsr (Pal_FadeToBlack).l
move #$2700,sr
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
andi.b #$BF,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Clear_DisplayData).l
- lea ($C00004).l,a5
+ lea (VDP_control_port).l,a5
move.w #$8F01,(a5)
move.l #$940F93FF,(a5)
move.w #$9780,(a5)
move.l #$50000083,(a5)
- move.w #0,($C00000).l
+ move.w #0,(VDP_data_port).l
loc_C5B0:
move.w (a5),d1
btst #1,d1
bne.s loc_C5B0
move.w #$8F02,(a5)
- lea ($C00004).l,a6
+ lea (VDP_control_port).l,a6
move.w #$8004,(a6)
move.w #$8238,(a6)
move.w #$8338,(a6)
@@ -15549,41 +15556,41 @@ loc_C5B0: move.w #$8C81,(a6)
move.w #$9003,(a6)
move.w #$9280,(a6)
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_C5F0:
move.l d0,(a1)+
dbf d1,loc_C5F0
- lea ($FFFFB000).w,a1
+ lea (Object_RAM).w,a1
moveq #0,d0
move.w #$7FF,d1
loc_C600:
move.l d0,(a1)+
dbf d1,loc_C600
- clr.w ($FFFFFB00).w
- move.l #$FFFFFB00,($FFFFFBFC).w
- clr.w ($FFFFFE04).w
+ clr.w (DMA_queue).w
+ move.l #$FFFFFB00,(DMA_queue_slot).w
+ clr.w (Level_frame_counter).w
clr.w ($FFFFEEE2).w
clr.w ($FFFFEEE4).w
lea (MapEni_S3MenuBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.w #1,d0
jsr (Eni_Decomp).l
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.l #$60000003,d0
moveq #$27,d1
moveq #$1B,d2
jsr (Plane_Map_To_VRAM).l
lea (MapEni_SaveScreen_Layout).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
move.w #$829F,d0
jsr (Eni_Decomp).l
lea word_CD58(pc),a0
jsr sub_C866(pc)
- move.l #$6C400002,($C00004).l
+ move.l #$6C400002,(VDP_control_port).l
lea (ArtNem_S22POptions).l,a0
jsr (Nem_Decomp).l
lea byte_DB1C(pc),a1
@@ -15594,26 +15601,26 @@ loc_C600: move.w #$CCEC,d0
jsr sub_D9F4(pc)
lea (ArtKos_S3MenuBG).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$20,a2
jsr (KosArt_To_VDP).l
move.l #locret_C56E,($FFFFEF44).w
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (ArtKos_SaveScreenMisc).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$53E0,a2
jsr KosArt_To_VDP(pc)
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (ArtKos_SaveScreen).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
movea.w #$8A80,a2
jsr KosArt_To_VDP(pc)
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
lea (Pal_SaveMenuBG).l,a0
- lea ($FFFFFC80).w,a1
+ lea (Target_palette).w,a1
moveq #7,d0
loc_C710:
@@ -15625,7 +15632,7 @@ loc_C710: loc_C71C:
move.l (a0)+,(a1)+
dbf d0,loc_C71C
- lea ($FFFFB000).w,a0
+ lea (Object_RAM).w,a0
lea ObjDat_SaveScreen(pc),a1
moveq #$B,d0
@@ -15644,8 +15651,8 @@ loc_C72C: jsr (Init_SpriteTable).l
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- lea ($FFFFFC60).w,a0
- lea ($FFFFFCE0).w,a1
+ lea (Normal_palette_line_4).w,a0
+ lea (Target_palette_line_4).w,a1
moveq #7,d0
loc_C77A:
@@ -15653,7 +15660,7 @@ loc_C77A: clr.l (a0)+
dbf d0,loc_C77A
lea (ArtKos_SaveScreenS3Zone).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
jsr (Kos_Decomp).l
lea ($FFFF2BC0).l,a0
lea ($FFFF2300).l,a1
@@ -15676,19 +15683,19 @@ loc_C7CC: moveq #$2F,d0
jsr (Play_Sound).l
move.l #loc_C890,($FFFFEF44).w
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Pal_FadeFromBlack).l
loc_C802:
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
- addq.w #1,($FFFFFE04).w
+ addq.w #1,(Level_frame_counter).w
jsr (Process_Sprites).l
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
neg.w d0
move.w d0,($FFFFE002).w
jsr (Render_Sprites).l
@@ -15717,7 +15724,7 @@ loc_C84E: dbf d0,loc_C84E
loc_C856:
- cmpi.b #$4C,($FFFFF600).w
+ cmpi.b #$4C,(Game_mode).w
beq.s loc_C802
moveq #-$51,d0
jmp (Play_Sound_2).l
@@ -15757,7 +15764,7 @@ sub_C87E: ; ---------------------------------------------------------------------------
loc_C890:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #$C,d0
lea (MapPtrs_SaveScreenStatic).l,a2
movea.l (a2,d0.w),a2
@@ -15767,7 +15774,7 @@ loc_C890: adda.l #0,a2
endif
move.w #$C21A,d7
- lea ($FFFFE6AC).w,a0
+ lea (Saved_data).w,a0
moveq #7,d6
loc_C8B2:
@@ -15787,7 +15794,7 @@ loc_C8BE: dbf d6,loc_C8B2
lea ($FFFFB128).w,a3
move.w #$CA20,d7
- lea ($FFFFE6AC).w,a0
+ lea (Saved_data).w,a0
moveq #7,d3
loc_C8E6:
@@ -15865,7 +15872,7 @@ loc_C97A: lea word_DA8A(pc),a2
lea ($FFFFB128).w,a3
move.w #$D220,d7
- lea ($FFFFE6AC).w,a0
+ lea (Saved_data).w,a0
moveq #7,d6
loc_C98C:
@@ -16168,7 +16175,7 @@ loc_D1DE: loc_D1E6:
move.w d0,$12(a0)
- move.w d1,($FFFFEE80).w
+ move.w d1,(Camera_X_pos_copy).w
neg.w d1
move.w d1,($FFFFE002).w
move.l #loc_D1FA,(a0)
@@ -16176,9 +16183,9 @@ loc_D1E6: loc_D1FA:
tst.w ($FFFFEEE4).w
bne.s loc_D212
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_D212
- move.b #4,($FFFFF600).w
+ move.b #4,(Game_mode).w
bra.w loc_D2CE
; ---------------------------------------------------------------------------
@@ -16189,7 +16196,7 @@ loc_D212: tst.w $30(a0)
bne.s loc_D28A
moveq #0,d0
- btst #2,($FFFFF605).w
+ btst #2,(Ctrl_1_pressed).w
beq.s loc_D254
tst.w ($FFFFEEE4).w
beq.s loc_D238
@@ -16211,7 +16218,7 @@ loc_D24C: loc_D254:
- btst #3,($FFFFF605).w
+ btst #3,(Ctrl_1_pressed).w
beq.s loc_D27A
cmpi.b #9,($FFFFEF4B).w
beq.s loc_D27A
@@ -16240,7 +16247,7 @@ loc_D288: loc_D28A:
move.w $12(a0),d0
- move.w ($FFFFEE80).w,d1
+ move.w (Camera_X_pos_copy).w,d1
move.w $2E(a0),d2
bmi.s loc_D2B0
add.w d2,d0
@@ -16268,7 +16275,7 @@ loc_D2B0: loc_D2C2:
move.w d0,$12(a0)
- move.w d1,($FFFFEE80).w
+ move.w d1,(Camera_X_pos_copy).w
subq.w #1,$30(a0)
loc_D2CE:
@@ -16314,16 +16321,16 @@ Obj_SaveScreen_D30C: move.w ($FFFFB078).w,d0
or.w ($FFFFEEE4).w,d0
bne.s loc_D396
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.w #$E0,d0
beq.s loc_D376
- move.b #$C,($FFFFF600).w
- move.w ($FFFFEF4C).w,($FFFFFF0A).w
- clr.w ($FFFFFE10).w
- clr.w ($FFFFEE4E).w
- clr.w ($FFFFFE16).w
- clr.w ($FFFFFFB0).w
- clr.l ($FFFFFFB2).w
+ move.b #$C,(Game_mode).w
+ move.w ($FFFFEF4C).w,(Player_option).w
+ clr.w (Current_zone_and_act).w
+ clr.w (Apparent_zone_and_act).w
+ clr.w (Current_special_stage).w
+ clr.w (Emerald_count).w
+ clr.l (Collected_emeralds_array).w
clr.w ($FFFFFFB6).w
clr.b ($FFFFFFB8).w
clr.l ($FFFFFF92).w
@@ -16375,7 +16382,7 @@ loc_D3B0: andi.b #3,d0
move.b d0,$3B(a0)
move.w 6(a1),d0
- lea ($FFFFFFB2).w,a2
+ lea (Collected_emeralds_array).w,a2
jsr sub_DA1E(pc)
move.b d1,$3C(a0)
move.b d2,$3D(a0)
@@ -16385,7 +16392,7 @@ loc_D3B0: bcc.s loc_D41A
move.b #3,8(a1)
move.l a1,-(sp)
- st ($FFFFEF56).w
+ st (SRAM_mask_interrupts_flag).w
jsr Write_SaveGame(pc)
movea.l (sp)+,a1
@@ -16473,7 +16480,7 @@ loc_D4EE: moveq #0,d2
move.w $36(a0),d1
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
btst #1,d0
beq.s loc_D508
moveq #$5B,d2
@@ -16514,7 +16521,7 @@ loc_D540: move.w #2,$16(a0)
tst.w ($FFFFEEE4).w
bne.w loc_D44A
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.w #$E0,d0
beq.w loc_D44A
move.w 4(a1),($FFFFFF94).w
@@ -16528,20 +16535,20 @@ loc_D540: loc_D57A:
jsr sub_DA4E(pc)
- move.w d0,($FFFFFE10).w
- move.w d0,($FFFFEE4E).w
+ move.w d0,(Current_zone_and_act).w
+ move.w d0,(Apparent_zone_and_act).w
moveq #0,d0
move.b 2(a1),d0
lsr.b #4,d0
- move.w d0,($FFFFFF0A).w
+ move.w d0,(Player_option).w
move.b 2(a1),d0
andi.b #$F,d0
- move.b d0,($FFFFFE16).w
+ move.b d0,(Current_special_stage).w
move.w 6(a1),d0
- lea ($FFFFFFB2).w,a2
+ lea (Collected_emeralds_array).w,a2
jsr sub_DA1E(pc)
- move.b d1,($FFFFFFB0).w
- move.b d2,($FFFFFFB1).w
+ move.b d1,(Emerald_count).w
+ move.b d2,(Super_emerald_count).w
move.l a1,($FFFFE660).w
jsr (loc_C10C).l
move.b 8(a1),d0
@@ -16559,11 +16566,11 @@ loc_D5CE: loc_D5DE:
- move.b 8(a1),($FFFFFE12).w
- move.b 9(a1),($FFFFFE18).w
- st ($FFFFEF56).w
+ move.b 8(a1),(Life_count).w
+ move.b 9(a1),(Continue_count).w
+ st (SRAM_mask_interrupts_flag).w
jsr Write_SaveGame(pc)
- move.b #$C,($FFFFF600).w
+ move.b #$C,(Game_mode).w
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -16573,29 +16580,29 @@ loc_D5FE: move.w ($FFFFB078).w,d0
or.w ($FFFFEEE4).w,d0
bne.w loc_D44A
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.w #$E0,d0
beq.s loc_D67A
- move.b #$C,($FFFFF600).w
+ move.b #$C,(Game_mode).w
clr.l (a1)
clr.l 4(a1)
move.w #$300,8(a1)
move.w $34(a0),d0
- move.w d0,($FFFFFF0A).w
+ move.w d0,(Player_option).w
lsl.b #4,d0
move.b d0,2(a1)
- clr.w ($FFFFFE10).w
- clr.w ($FFFFEE4E).w
- clr.w ($FFFFFE16).w
- clr.w ($FFFFFFB0).w
- clr.l ($FFFFFFB2).w
+ clr.w (Current_zone_and_act).w
+ clr.w (Apparent_zone_and_act).w
+ clr.w (Current_special_stage).w
+ clr.w (Emerald_count).w
+ clr.l (Collected_emeralds_array).w
clr.w ($FFFFFFB6).w
clr.b ($FFFFFFB8).w
clr.l ($FFFFFF92).w
clr.b ($FFFFFFBA).w
move.l a1,($FFFFE660).w
jsr (loc_C10C).l
- st ($FFFFEF56).w
+ st (SRAM_mask_interrupts_flag).w
jsr Write_SaveGame(pc)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -16614,7 +16621,7 @@ loc_D67A: loc_D69E:
move.w $12(a0),d0
- sub.w ($FFFFEE80).w,d0
+ sub.w (Camera_X_pos_copy).w,d0
move.w d0,$10(a0)
move.w $14(a0),d1
move.w d0,$18(a0)
@@ -16636,7 +16643,7 @@ sub_D6D0: moveq #0,d2
tst.w ($FFFFB07A).w
bne.s loc_D6FA
- move.b ($FFFFF605).w,d1
+ move.b (Ctrl_1_pressed).w,d1
lsr.w #1,d1
bcc.s loc_D6EE
moveq #$5B,d2
@@ -16740,7 +16747,7 @@ loc_D7A4: loc_D7C0:
cmpi.b #9,($FFFFEF4B).w
bne.w loc_D8A0
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.w #$E0,d0
beq.w loc_D8A0
moveq #$63,d0
@@ -16755,7 +16762,7 @@ loc_D7EA: jsr sub_D94A(pc)
tst.w ($FFFFB078).w
bne.s loc_D83C
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
btst #4,d0
bne.s loc_D854
andi.w #$E0,d0
@@ -16794,7 +16801,7 @@ loc_D854: move.b #$D,$22(a0)
move.b #8,$1D(a0)
move.w ($FFFFB05A).w,d0
- add.w ($FFFFEE80).w,d0
+ add.w (Camera_X_pos_copy).w,d0
move.w d0,$12(a0)
addq.b #4,5(a0)
bra.w loc_D69E
@@ -16832,9 +16839,9 @@ loc_D8BE: loc_D8C4:
jsr sub_D912(pc)
- btst #3,($FFFFF605).w
+ btst #3,(Ctrl_1_pressed).w
bne.s loc_D8FE
- btst #2,($FFFFF605).w
+ btst #2,(Ctrl_1_pressed).w
beq.s loc_D90C
moveq #$68,d0
jsr (Play_Sound_2).l
@@ -16843,7 +16850,7 @@ loc_D8C4: clr.l 2(a1)
clr.w 6(a1)
move.w #$300,8(a1)
- st ($FFFFEF56).w
+ st (SRAM_mask_interrupts_flag).w
jsr Write_SaveGame(pc)
loc_D8FE:
@@ -16959,7 +16966,7 @@ loc_D9C8: loc_D9E2:
lsl.w #5,d0
adda.w d0,a2
- lea ($FFFFFC60).w,a3
+ lea (Normal_palette_line_4).w,a3
moveq #7,d0
loc_D9EC:
@@ -16974,9 +16981,9 @@ loc_D9EC: sub_D9F4:
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
jsr sub_C87E(pc)
- move.l d0,4(a6)
+ move.l d0,VDP_control_port-VDP_data_port(a6)
move.w #$A552,d5
moveq #0,d6
@@ -17151,7 +17158,7 @@ byte_DB36: dc.b $20, $29, $22, $1E, $2F, $FF sub_DB3C:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
bne.s sub_DB44
rts
; End of function sub_DB3C
@@ -17162,14 +17169,14 @@ sub_DB3C: sub_DB44:
; Render_Sprites+1Ep
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
bcc.s loc_DB68
- cmpi.b #$13,($FFFFFE10).w
+ cmpi.b #$13,(Current_zone).w
bcs.s loc_DB68
moveq #8,d4
btst #3,($FFFFFE05).w
bne.s loc_DB84
- tst.w ($FFFFFE20).w
+ tst.w (Ring_count).w
bne.s loc_DB84
addq.w #2,d4
bra.s loc_DB84
@@ -17179,21 +17186,21 @@ loc_DB68: moveq #0,d4
btst #3,($FFFFFE05).w
bne.s loc_DB84
- tst.w ($FFFFFE20).w
+ tst.w (Ring_count).w
bne.s loc_DB7A
addq.w #2,d4
loc_DB7A:
- cmpi.b #9,($FFFFFE23).w
+ cmpi.b #9,(Timer_minute).w
bne.s loc_DB84
addq.w #4,d4
loc_DB84:
- move.b ($FFFFF711).w,d0
+ move.b (Level_started_flag).w,d0
ext.w d0
bpl.s loc_DB92
addq.w #8,d0
- move.b d0,($FFFFF711).w
+ move.b d0,(Level_started_flag).w
loc_DB92:
addi.w #$8F,d0
@@ -17407,8 +17414,8 @@ word_DCB6: dc.w 3 HUD_AddToScore:
- move.b #1,($FFFFFE1F).w
- lea ($FFFFFE26).w,a3
+ move.b #1,(Update_HUD_score).w
+ lea (Score).w,a3
add.l d0,(a3) ; Add to score
move.l #$F423F,d1 ; 9999990 maximum points
cmp.l (a3),d1
@@ -17417,11 +17424,11 @@ HUD_AddToScore: loc_DCE2:
move.l (a3),d0
- cmp.l ($FFFFFFC0).w,d0 ; If score is greater than next 50000 point increment
+ cmp.l (Next_extra_life_score).w,d0 ; If score is greater than next 50000 point increment
bcs.s locret_DD04
- addi.l #$1388,($FFFFFFC0).w
- addq.b #1,($FFFFFE12).w ; Give an additional extra life
- addq.b #1,($FFFFFE1C).w
+ addi.l #$1388,(Next_extra_life_score).w
+ addq.b #1,(Life_count).w ; Give an additional extra life
+ addq.b #1,(Update_HUD_life_count).w
move.w #$2A,d0 ; Play the 1up song
jmp (Play_Sound).l
; ---------------------------------------------------------------------------
@@ -17436,43 +17443,43 @@ locret_DD04: UpdateHUD:
nop
- lea ($C00000).l,a6
- tst.w ($FFFFFFE8).w
+ lea (VDP_data_port).l,a6
+ tst.w (Competition_mode).w
bne.w loc_DE7E
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_DDF4
- tst.b ($FFFFFE1F).w
+ tst.b (Update_HUD_score).w
beq.s loc_DD36
- clr.b ($FFFFFE1F).w
+ clr.b (Update_HUD_score).w
move.l #$5C800003,d0
- move.l ($FFFFFE26).w,d1
+ move.l (Score).w,d1
bsr.w DrawSixDigitNumber
loc_DD36:
- tst.b ($FFFFFE1D).w
+ tst.b (Update_HUD_ring_count).w
beq.s loc_DD56
bpl.s loc_DD42
bsr.w HUD_LoadZero
loc_DD42:
- clr.b ($FFFFFE1D).w
+ clr.b (Update_HUD_ring_count).w
move.l #$5F400003,d0
moveq #0,d1
- move.w ($FFFFFE20).w,d1
+ move.w (Ring_count).w,d1
bsr.w DrawThreeDigitNumber
loc_DD56:
- tst.b ($FFFFFE1E).w
+ tst.b (Update_HUD_timer).w
bpl.s loc_DD64
- move.b #1,($FFFFFE1E).w
+ move.b #1,(Update_HUD_timer).w
bra.s loc_DD9E
; ---------------------------------------------------------------------------
loc_DD64:
beq.s loc_DDBE
- tst.w ($FFFFF63A).w
+ tst.w (Game_paused).w
bne.s loc_DDBE
- lea ($FFFFFE22).w,a1
+ lea (Timer).w,a1
cmpi.l #$93B3B,(a1)+
beq.w UpdateHUD_TimeOver
addq.b #1,-(a1)
@@ -17491,17 +17498,17 @@ loc_DD64: loc_DD9E:
move.l #$5E400003,d0
moveq #0,d1
- move.b ($FFFFFE23).w,d1
+ move.b (Timer_minute).w,d1
bsr.w DrawSingleDigitNumber
move.l #$5EC00003,d0
moveq #0,d1
- move.b ($FFFFFE24).w,d1
+ move.b (Timer_second).w,d1
bsr.w DrawTwoDigitNumber
loc_DDBE:
- tst.b ($FFFFFE1C).w
+ tst.b (Update_HUD_life_count).w
beq.s locret_DDCC
- clr.b ($FFFFFE1C).w
+ clr.b (Update_HUD_life_count).w
bsr.w HUD_Lives
locret_DDCC:
@@ -17509,52 +17516,52 @@ locret_DDCC: ; ---------------------------------------------------------------------------
UpdateHUD_TimeOver:
- clr.b ($FFFFFE1E).w
- lea ($FFFFB000).w,a0
+ clr.b (Update_HUD_timer).w
+ lea (Player_1).w,a0
cmpi.b #6,5(a0)
bcc.s loc_DDEC
- cmpi.b #$15,($FFFFFE10).w
+ cmpi.b #$15,(Current_zone).w
beq.s loc_DDEC
movea.l a0,a2
bsr.w Kill_Character
loc_DDEC:
- move.b #1,($FFFFFE1A).w
+ move.b #1,(Time_over_flag).w
rts
; ---------------------------------------------------------------------------
loc_DDF4:
bsr.w sub_DEFC
- tst.b ($FFFFFE1D).w
+ tst.b (Update_HUD_ring_count).w
beq.s loc_DE18
bpl.s loc_DE04
bsr.w HUD_LoadZero
loc_DE04:
- clr.b ($FFFFFE1D).w
+ clr.b (Update_HUD_ring_count).w
move.l #$5F400003,d0
moveq #0,d1
- move.w ($FFFFFE20).w,d1
+ move.w (Ring_count).w,d1
bsr.w DrawThreeDigitNumber
loc_DE18:
move.l #$5E400003,d0
moveq #0,d1
- move.w ($FFFFF628).w,d1
+ move.w (Lag_frame_count).w,d1
bsr.w DrawSingleDigitNumber
move.l #$5EC00003,d0
moveq #0,d1
- move.b ($FFFFF62C).w,d1
+ move.b (Sprites_drawn).w,d1
bsr.w DrawTwoDigitNumber
- tst.b ($FFFFFE1C).w
+ tst.b (Update_HUD_life_count).w
beq.s loc_DE46
- clr.b ($FFFFFE1C).w
+ clr.b (Update_HUD_life_count).w
bsr.w HUD_Lives
loc_DE46:
- tst.w ($FFFFF63A).w
+ tst.w (Game_paused).w
bne.s locret_DE7C
- lea ($FFFFFE22).w,a1
+ lea (Timer).w,a1
cmpi.l #$93B3B,(a1)+
nop
addq.b #1,-(a1)
@@ -17575,7 +17582,7 @@ locret_DE7C: ; ---------------------------------------------------------------------------
loc_DE7E:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
bne.w sub_DEFC
rts
; End of function UpdateHUD
@@ -17585,7 +17592,7 @@ loc_DE7E: HUD_LoadZero:
- move.l #$5F400003,($C00004).l
+ move.l #$5F400003,(VDP_control_port).l
lea byte_DEF8(pc),a2
move.w #2,d2
bra.s loc_DEBE
@@ -17596,11 +17603,11 @@ HUD_LoadZero: sub_DE9C:
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
bsr.w HUD_Lives
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s locret_DEEA
- move.l #$5C400003,($C00004).l
+ move.l #$5C400003,(VDP_control_port).l
lea byte_DEEC(pc),a2
move.w #$E,d2
@@ -17656,12 +17663,12 @@ byte_DEF8: dc.b $FF sub_DEFC:
- move.l #$5C400003,($C00004).l
- move.w ($FFFFEE78).w,d1
+ move.l #$5C400003,(VDP_control_port).l
+ move.w (Camera_X_pos).w,d1
swap d1
move.w ($FFFFB010).w,d1
bsr.s sub_DF1C
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
swap d1
move.w ($FFFFB014).w,d1
; End of function sub_DEFC
@@ -17699,12 +17706,12 @@ loc_DF36: ; End of function sub_DF1C
; ---------------------------------------------------------------------------
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.w ($FFFFB010).w,d3
move.w ($FFFFB014).w,d2
move.w d2,d0
lsr.w #5,d0
- and.w ($FFFFEEAE).w,d0
+ and.w (Layout_row_index_mask).w,d0
move.w 8(a1,d0.w),d0
move.w d3,d1
lsr.w #3,d1
@@ -17786,8 +17793,8 @@ loc_DFDC: ; End of function DrawSixDigitNumber
; ---------------------------------------------------------------------------
- move.l #$5F800003,($C00004).l
- lea ($C00000).l,a6
+ move.l #$5F800003,(VDP_control_port).l
+ lea (VDP_data_port).l,a6
lea (dword_E050).l,a2
moveq #1,d6
moveq #0,d4
@@ -17964,7 +17971,7 @@ HUD_Lives: ; UpdateHUD+13Cp ...
move.l #$7BA00003,d0
moveq #0,d1
- move.b ($FFFFFE12).w,d1
+ move.b (Life_count).w,d1
lea (dword_E050).l,a2
moveq #1,d6
moveq #0,d4
@@ -18121,7 +18128,7 @@ byte_E5CA: dc.b $FF, $11, $1F, $FF, $F1, $FF, $11, $FF, $11, $FF, $F1, $1F, $11 Load_Rings:
moveq #0,d0
- move.b ($FFFFF710).w,d0
+ move.b (Rings_manager_routine).w,d0
move.w off_E8B8(pc,d0.w),d0
jmp off_E8B8(pc,d0.w)
; End of function Load_Rings
@@ -18134,13 +18141,13 @@ off_E8B8: dc.w loc_E8BE-off_E8B8 ; ---------------------------------------------------------------------------
loc_E8BE:
- addq.b #2,($FFFFF710).w
+ addq.b #2,(Rings_manager_routine).w
bsr.w sub_EB1A
- cmpi.b #$14,($FFFFFE10).w
+ cmpi.b #$14,(Current_zone).w
beq.s loc_E904
- movea.l ($FFFFEE42).w,a1
- lea ($FFFFE700).w,a2
- move.w ($FFFFEE78).w,d4
+ movea.l (Ring_start_addr_ROM).w,a1
+ lea (Ring_status_table).w,a2
+ move.w (Camera_X_pos).w,d4
subq.w #8,d4
bhi.s loc_E8E6
moveq #1,d4
@@ -18155,8 +18162,8 @@ loc_E8E6: cmp.w (a1),d4
bhi.s loc_E8E2
- move.l a1,($FFFFEE42).w
- move.w a2,($FFFFEE4A).w
+ move.l a1,(Ring_start_addr_ROM).w
+ move.w a2,(Ring_start_addr_RAM).w
addi.w #$150,d4
bra.s loc_E8FA
; ---------------------------------------------------------------------------
@@ -18167,15 +18174,15 @@ loc_E8F8: loc_E8FA:
cmp.w (a1),d4
bhi.s loc_E8F8
- move.l a1,($FFFFEE46).w
+ move.l a1,(Ring_end_addr_ROM).w
rts
; ---------------------------------------------------------------------------
loc_E904:
- addq.b #2,($FFFFF710).w
- movea.l ($FFFFEE42).w,a1
+ addq.b #2,(Rings_manager_routine).w
+ movea.l (Ring_start_addr_ROM).w,a1
lea ($FFFF8600).w,a2
- move.w ($FFFFEE7C).w,d4
+ move.w (Camera_Y_pos).w,d4
subq.w #8,d4
bhi.s loc_E920
moveq #1,d4
@@ -18190,8 +18197,8 @@ loc_E920: cmp.w 2(a1),d4
bhi.s loc_E91C
- move.l a1,($FFFFEE42).w
- move.w a2,($FFFFEE4A).w
+ move.l a1,(Ring_start_addr_ROM).w
+ move.w a2,(Ring_start_addr_RAM).w
addi.w #$F0,d4
bra.s loc_E936
; ---------------------------------------------------------------------------
@@ -18202,15 +18209,15 @@ loc_E934: loc_E936:
cmp.w 2(a1),d4
bhi.s loc_E934
- move.l a1,($FFFFEE46).w
+ move.l a1,(Ring_end_addr_ROM).w
rts
; ---------------------------------------------------------------------------
loc_E942:
bsr.s sub_E994
- movea.l ($FFFFEE42).w,a1
- movea.w ($FFFFEE4A).w,a2
- move.w ($FFFFEE78).w,d4
+ movea.l (Ring_start_addr_ROM).w,a1
+ movea.w (Ring_start_addr_RAM).w,a2
+ move.w (Camera_X_pos).w,d4
subq.w #8,d4
bhi.s loc_E95C
moveq #1,d4
@@ -18235,9 +18242,9 @@ loc_E962: loc_E966:
cmp.w -4(a1),d4
bls.s loc_E962
- move.l a1,($FFFFEE42).w
- move.w a2,($FFFFEE4A).w
- movea.l ($FFFFEE46).w,a2
+ move.l a1,(Ring_start_addr_ROM).w
+ move.w a2,(Ring_start_addr_RAM).w
+ movea.l (Ring_end_addr_ROM).w,a2
addi.w #$150,d4
bra.s loc_E980
; ---------------------------------------------------------------------------
@@ -18257,7 +18264,7 @@ loc_E986: loc_E988:
cmp.w -4(a2),d4
bls.s loc_E986
- move.l a2,($FFFFEE46).w
+ move.l a2,(Ring_end_addr_ROM).w
rts
; =============== S U B R O U T I N E =======================================
@@ -18265,7 +18272,7 @@ loc_E988: sub_E994:
- lea ($FFFFEF80).w,a2
+ lea (Ring_consumption_table).w,a2
move.w (a2)+,d1
subq.w #1,d1
bcs.s locret_E9C8
@@ -18282,7 +18289,7 @@ loc_E99E: bne.s loc_E9C4
move.w #-1,(a1)
clr.w -2(a2)
- subq.w #1,($FFFFEF80).w
+ subq.w #1,(Ring_consumption_table).w
loc_E9C4:
dbf d1,loc_E99E
@@ -18295,9 +18302,9 @@ locret_E9C8: loc_E9CA:
bsr.s sub_E994
- movea.l ($FFFFEE42).w,a1
- movea.w ($FFFFEE4A).w,a2
- move.w ($FFFFEE7C).w,d4
+ movea.l (Ring_start_addr_ROM).w,a1
+ movea.w (Ring_start_addr_RAM).w,a2
+ move.w (Camera_Y_pos).w,d4
subq.w #8,d4
bhi.s loc_E9E4
moveq #1,d4
@@ -18322,9 +18329,9 @@ loc_E9EC: loc_E9F0:
cmp.w -2(a1),d4
bls.s loc_E9EC
- move.l a1,($FFFFEE42).w
- move.w a2,($FFFFEE4A).w
- movea.l ($FFFFEE46).w,a2
+ move.l a1,(Ring_start_addr_ROM).w
+ move.w a2,(Ring_start_addr_RAM).w
+ movea.l (Ring_end_addr_ROM).w,a2
addi.w #$F0,d4
bra.s loc_EA0A
; ---------------------------------------------------------------------------
@@ -18344,7 +18351,7 @@ loc_EA12: loc_EA14:
cmp.w -2(a2),d4
bls.s loc_EA12
- move.l a2,($FFFFEE46).w
+ move.l a2,(Ring_end_addr_ROM).w
rts
; =============== S U B R O U T I N E =======================================
@@ -18353,11 +18360,11 @@ loc_EA14: Test_Ring_Collisions:
cmpi.b #$5A,$34(a0)
bcc.w locret_EAE4
- movea.l ($FFFFEE42).w,a1
- movea.l ($FFFFEE46).w,a2
+ movea.l (Ring_start_addr_ROM).w,a1
+ movea.l (Ring_end_addr_ROM).w,a2
cmpa.l a1,a2
beq.w locret_EAE4
- movea.w ($FFFFEE4A).w,a4
+ movea.w (Ring_start_addr_RAM).w,a4
btst #5,$2B(a0)
beq.s Test_Ring_Collisions_NoAttraction
move.w $10(a0),d2
@@ -18422,13 +18429,13 @@ loc_EABE: loc_EAC6:
move.w #$604,(a4)
bsr.s sub_EAE6
- lea ($FFFFEF82).w,a3
+ lea (Ring_consumption_list).w,a3
loc_EAD0:
tst.w (a3)+
bne.s loc_EAD0
move.w a4,-(a3)
- addq.w #1,($FFFFEF80).w
+ addq.w #1,(Ring_consumption_table).w
loc_EADA:
; Test_Ring_Collisions+7Cj ...
@@ -18447,7 +18454,7 @@ locret_EAE4: sub_EAE6:
- subq.w #1,($FFFFFF04).w
+ subq.w #1,(Perfect_rings_left).w
jmp (GiveRing).l
; End of function sub_EAE6
@@ -18476,7 +18483,7 @@ sub_EB1A: moveq #0,d0
tst.b ($FFFFFF97).w
bne.s loc_EB30
- lea ($FFFFE700).w,a1
+ lea (Ring_status_table).w,a1
move.w #$FF,d1
loc_EB2A:
@@ -18484,13 +18491,13 @@ loc_EB2A: dbf d1,loc_EB2A
loc_EB30:
- lea ($FFFFEF80).w,a1
+ lea (Ring_consumption_table).w,a1
moveq #$1F,d1
loc_EB36:
move.l d0,(a1)+
dbf d1,loc_EB36
- cmpi.b #$14,($FFFFFE10).w
+ cmpi.b #$14,(Current_zone).w
bne.s loc_EB52
lea ($FFFF8600).w,a1
move.w #$FF,d1
@@ -18500,12 +18507,12 @@ loc_EB4C: dbf d1,loc_EB4C
loc_EB52:
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #5,d0
lea (RingLocPtrs).l,a1
movea.l (a1,d0.w),a1
- move.l a1,($FFFFEE42).w
+ move.l a1,(Ring_start_addr_ROM).w
addq.w #4,a1
moveq #0,d5
move.w #$1FE,d0
@@ -18517,7 +18524,7 @@ loc_EB70: dbf d0,loc_EB70
loc_EB7A:
- move.w d5,($FFFFFF04).w
+ move.w d5,(Perfect_rings_left).w
move.w #0,($FFFFFF06).w
rts
; End of function sub_EB1A
@@ -18527,15 +18534,15 @@ loc_EB7A: sub_EB86:
- movea.l ($FFFFEE42).w,a0
- move.l ($FFFFEE46).w,d2
+ movea.l (Ring_start_addr_ROM).w,a0
+ move.l (Ring_end_addr_ROM).w,d2
sub.l a0,d2
beq.s locret_EBEC
- movea.w ($FFFFEE4A).w,a4
+ movea.w (Ring_start_addr_RAM).w,a4
lea word_EBEE(pc),a1
move.w 4(a3),d4
move.w #$F0,d5
- move.w ($FFFFEEAA).w,d3
+ move.w (Screen_Y_wrap_value).w,d3
loc_EBA6:
tst.w (a4)+
@@ -18552,7 +18559,7 @@ loc_EBA6: addi.w #$80,d0
move.b -1(a4),d6
bne.s loc_EBCE
- move.b ($FFFFFEB3).w,d6
+ move.b (Rings_frame).w,d6
loc_EBCE:
lsl.w #3,d6
@@ -18599,10 +18606,10 @@ word_EBEE: dc.w $FFF8, 5 Player_AnglePos:
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a0)
beq.s loc_EC42
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_EC42:
move.b $46(a0),d5
@@ -18809,7 +18816,7 @@ loc_EE02: ; ---------------------------------------------------------------------------
loc_EE0E:
- tst.w ($FFFFFE10).w
+ tst.w (Current_zone_and_act).w
bne.s locret_EE00
move.b #$C0,$26(a0)
move.b #3,$41(a0)
@@ -18993,10 +19000,10 @@ loc_EFA2: GetFloorPosition_BG:
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.w d2,d0
lsr.w #5,d0
- and.w ($FFFFEEAE).w,d0
+ and.w (Layout_row_index_mask).w,d0
move.w $A(a1,d0.w),d0
move.w d3,d1
lsr.w #3,d1
@@ -19019,10 +19026,10 @@ GetFloorPosition_BG: ; ---------------------------------------------------------------------------
GetFloorPosition_FG:
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.w d2,d0
lsr.w #5,d0
- and.w ($FFFFEEAE).w,d0
+ and.w (Layout_row_index_mask).w,d0
move.w 8(a1,d0.w),d0
move.w d3,d1
lsr.w #3,d1
@@ -19108,7 +19115,7 @@ loc_F274: ; ---------------------------------------------------------------------------
loc_F282:
- movea.l ($FFFFF796).w,a2
+ movea.l (Collision_addr).w,a2
add.w d0,d0
move.b (a2,d0.w),d0
andi.w #$FF,d0
@@ -19190,7 +19197,7 @@ loc_F31C: ; ---------------------------------------------------------------------------
loc_F32A:
- movea.l ($FFFFF796).w,a2
+ movea.l (Collision_addr).w,a2
add.w d0,d0
move.b (a2,d0.w),d0
andi.w #$FF,d0
@@ -19286,7 +19293,7 @@ loc_F3EE: ; ---------------------------------------------------------------------------
loc_F3F4:
- movea.l ($FFFFF796).w,a2
+ movea.l (Collision_addr).w,a2
add.w d0,d0
move.b (a2,d0.w),d0
andi.w #$FF,d0
@@ -19418,7 +19425,7 @@ loc_F4EC: ; ---------------------------------------------------------------------------
loc_F4FA:
- movea.l ($FFFFF796).w,a2
+ movea.l (Collision_addr).w,a2
add.w d0,d0
move.b (a2,d0.w),d0
andi.w #$FF,d0
@@ -19500,7 +19507,7 @@ loc_F594: ; ---------------------------------------------------------------------------
loc_F5A2:
- movea.l ($FFFFF796).w,a2
+ movea.l (Collision_addr).w,a2
add.w d0,d0
move.b (a2,d0.w),d0
andi.w #$FF,d0
@@ -19559,12 +19566,12 @@ loc_F60C: sub_F61C:
; Tails_InputAcceleration_Path+1CCp ...
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.w sub_F6B4
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a0)
beq.s loc_F638
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_F638:
move.b $47(a0),d5
@@ -19575,7 +19582,7 @@ loc_F638: asl.l #8,d1
add.l d1,d3
move.w $1A(a0),d1
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_F65A
neg.w d1
@@ -19614,7 +19621,7 @@ loc_F68A: beq.w loc_F802
cmpi.b #$80,d0
beq.w loc_FBCE
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_F6A8
andi.b #$38,d1
bne.s loc_F6A8
@@ -19631,10 +19638,10 @@ loc_F6A8: sub_F6B4:
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a0)
beq.s loc_F6C8
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_F6C8:
move.b $47(a0),d5
@@ -19688,10 +19695,10 @@ loc_F712: sub_F72E:
; Tails_Jump+2Ap ...
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a0)
beq.s loc_F742
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_F742:
move.b $47(a0),d5
@@ -19712,10 +19719,10 @@ loc_F742: sub_F76E:
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a0)
beq.s loc_F782
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_F782:
move.b $46(a0),d5
@@ -19811,10 +19818,10 @@ sub_F846: move.w $10(a0),d3
move.w $14(a0),d2
subq.w #4,d2
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$D,$47(a0)
beq.s loc_F864
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_F864:
lea ($FFFFF768).w,a4
@@ -19854,10 +19861,10 @@ loc_F898: sub_F8A6:
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a0)
beq.s loc_F8BA
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_F8BA:
lea ($FFFFF768).w,a4
@@ -19889,10 +19896,10 @@ SonicOnObjHitFloor: move.b $1E(a1),d0
ext.w d0
add.w d0,d2
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a1)
beq.s loc_F910
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_F910:
lea ($FFFFF768).w,a4
@@ -20056,7 +20063,7 @@ sub_FA7A: move.w $14(a0),d2
move.w $10(a0),d3
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_FAA4
loc_FA88:
@@ -20257,10 +20264,10 @@ loc_FC4A: sub_FC5C:
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a0)
beq.s loc_FC70
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_FC70:
lea ($FFFFF768).w,a4
@@ -20387,7 +20394,7 @@ sub_FD9A: move.w $14(a0),d2
move.w $10(a0),d3
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_FDC8
loc_FDA8:
@@ -20420,10 +20427,10 @@ loc_FDC8: sub_FDEC:
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a0)
beq.s loc_FE00
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_FE00:
move.w $10(a0),d3
@@ -20544,7 +20551,7 @@ Sprite_Collisions_No_InstaShield: add.w d5,d5
loc_FF06:
- lea ($FFFFE380).w,a4
+ lea (Collision_response_list).w,a4
move.w (a4)+,d6
beq.s locret_FF1C
@@ -20621,7 +20628,7 @@ loc_FFD4: cmpi.b #6,d0
beq.s loc_1001A
move.b ($FFFFB034).w,d0
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s loc_1000A
move.b $34(a0),d0
@@ -20636,7 +20643,7 @@ locret_10018: loc_1001A:
move.w $1A(a0),d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_10026
neg.w d0
@@ -20684,7 +20691,7 @@ loc_10080: cmpa.w #$B000,a0
beq.s loc_1008C
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s locret_100BA
loc_1008C:
@@ -20790,8 +20797,8 @@ loc_1019A: loc_101AC:
bset #7,$2A(a1)
moveq #0,d0
- move.w ($FFFFF7D0).w,d0
- addq.w #2,($FFFFF7D0).w
+ move.w (Chain_bonus_counter).w,d0
+ addq.w #2,(Chain_bonus_counter).w
cmpi.w #6,d0
bcs.s loc_101C4
moveq #6,d0
@@ -20799,7 +20806,7 @@ loc_101AC: loc_101C4:
move.w d0,$3E(a1)
move.w word_10216(pc,d0.w),d0
- cmpi.w #$20,($FFFFF7D0).w
+ cmpi.w #$20,(Chain_bonus_counter).w
bcs.s loc_101DE
move.w #$3E8,d0
move.w #$A,$3E(a1)
@@ -20888,12 +20895,12 @@ HurtSonic: HurtSonic2:
- move.w ($FFFFFE20).w,d0
+ move.w (Ring_count).w,d0
cmpa.w #$B000,a0
beq.s loc_102A8
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s loc_102E0
- move.w ($FFFFFED0).w,d0
+ move.w (Ring_count_P2).w,d0
loc_102A8:
btst #0,$2B(a0)
@@ -20964,7 +20971,7 @@ loc_10364: Kill_Character:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_103B6
moveq #$35,d0
@@ -21005,6 +21012,7 @@ loc_103BA: cmpi.b #$16,d1
beq.s loc_103FA
cmpi.b #$17,d1
+
beq.s loc_103FA
cmpi.b #$18,d1
beq.s loc_103FA
@@ -21031,7 +21039,7 @@ loc_10406: Add_SpriteToCollisionResponseList:
- lea ($FFFFE380).w,a1
+ lea (Collision_response_list).w,a1
cmpi.w #$7E,(a1)
bcc.s locret_1041C
addq.w #2,(a1)
@@ -21056,7 +21064,7 @@ sub_1041E: subi.w #$18,d3
move.w #$30,d4
move.w #$30,d5
- lea ($FFFFE380).w,a4
+ lea (Collision_response_list).w,a4
move.w (a4)+,d6
beq.s locret_1045C
@@ -21144,7 +21152,7 @@ loc_104AA: sub_104EA:
movem.l a2-a4,-(sp)
- lea ($FFFFE380).w,a4
+ lea (Collision_response_list).w,a4
move.w (a4)+,d6
beq.s loc_10506
@@ -21201,8 +21209,8 @@ loc_1052E: loc_10540:
bset #7,$2A(a1)
moveq #0,d0
- move.w ($FFFFF7D0).w,d0
- addq.w #2,($FFFFF7D0).w
+ move.w (Chain_bonus_counter).w,d0
+ addq.w #2,(Chain_bonus_counter).w
cmpi.w #6,d0
bcs.s loc_10558
moveq #6,d0
@@ -21210,7 +21218,7 @@ loc_10540: loc_10558:
move.w d0,$3E(a1)
move.w word_10586(pc,d0.w),d0
- cmpi.w #$20,($FFFFF7D0).w
+ cmpi.w #$20,(Chain_bonus_counter).w
bcs.s loc_10572
move.w #$3E8,d0
move.w #$A,$3E(a1)
@@ -21241,7 +21249,7 @@ loc_10596: loc_1059C:
ori.b #3,$29(a1)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_105B6
move.w $10(a1),($FFFFB05A).w
move.w $14(a1),($FFFFB05E).w
@@ -21257,24 +21265,24 @@ loc_105B6: Obj_Sonic2P:
cmpa.w #$B000,a0
bne.s loc_105F2
- lea ($FFFFF760).w,a4
- lea ($FFFFEE2C).w,a5
- lea ($FFFFCC54).w,a6
+ lea (Sonic_Knux_top_speed).w,a4
+ lea (Distance_from_screen_top).w,a5
+ lea (Dust).w,a6
move.b ($FFFFB082).w,d0
cmp.b $38(a0),d0
bne.s loc_105E6
bchg #3,4(a0)
loc_105E6:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s loc_1060E
jmp (DebugMode).l
; ---------------------------------------------------------------------------
loc_105F2:
lea ($FFFFFEC0).w,a4
- lea ($FFFFEE2E).w,a5
- lea ($FFFFCC9E).w,a6
+ lea (Distance_from_screen_top_P2).w,a5
+ lea (Dust_P2).w,a6
move.b ($FFFFB038).w,d0
cmp.b $38(a0),d0
bne.s loc_1060E
@@ -21314,7 +21322,7 @@ loc_10628: move.w (a1)+,(a4)
move.w (a1)+,2(a4)
move.w (a1)+,4(a4)
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.w loc_10724
move.b #$C,$46(a0)
move.b #$D,$47(a0)
@@ -21328,15 +21336,15 @@ loc_10628: addi.w #$2000,$A(a0)
loc_106B4:
- cmpi.b #$12,($FFFFFE10).w
+ cmpi.b #$12,(Current_zone).w
bne.s loc_106C2
ori.w #$8000,$A(a0)
loc_106C2:
- move.w $10(a0),($FFFFFE2E).w
- move.w $14(a0),($FFFFFE30).w
- move.w $A(a0),($FFFFFE38).w
- move.w $46(a0),($FFFFFE3A).w
+ move.w $10(a0),(Saved_X_pos).w
+ move.w $14(a0),(Saved_Y_pos).w
+ move.w $A(a0),(Saved_art_tile).w
+ move.w $46(a0),(Saved_solid_bits).w
bra.s loc_10724
; ---------------------------------------------------------------------------
@@ -21349,33 +21357,33 @@ loc_106DC: addi.w #$2000,$A(a0)
loc_106FE:
- cmpi.b #$12,($FFFFFE10).w
+ cmpi.b #$12,(Current_zone).w
bne.s loc_1070C
ori.w #$8000,$A(a0)
loc_1070C:
- move.w $10(a0),($FFFFFE4C).w
- move.w $14(a0),($FFFFFE4E).w
- move.w $A(a0),($FFFFFE56).w
- move.w $46(a0),($FFFFFE58).w
+ move.w $10(a0),(Saved2_X_pos).w
+ move.w $14(a0),(Saved2_Y_pos).w
+ move.w $A(a0),(Saved2_art_tile).w
+ move.w $46(a0),(Saved2_solid_bits).w
loc_10724:
move.b #0,$30(a0)
move.b #4,$31(a0)
- move.b #0,($FFFFFE19).w
+ move.b #0,(Super_Sonic_Knux_flag).w
move.b #$1E,$2C(a0)
bsr.w Reset_Player_Position_Array
loc_10740:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_10760
cmpa.w #$B000,a0
bne.s loc_10760
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_10760
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
rts
; ---------------------------------------------------------------------------
@@ -21383,16 +21391,16 @@ loc_10760: cmpa.w #$B000,a0
bne.s loc_10774
- tst.b ($FFFFF7CA).w
+ tst.b (Ctrl_1_locked).w
bne.s loc_10780
- move.w ($FFFFF604).w,($FFFFF602).w
+ move.w (Ctrl_1).w,(Ctrl_1_logical).w
bra.s loc_10780
; ---------------------------------------------------------------------------
loc_10774:
- tst.b ($FFFFF7CB).w
+ tst.b (Ctrl_2_locked).w
bne.s loc_10780
- move.w ($FFFFF606).w,($FFFFF602).w
+ move.w (Ctrl_2).w,(Ctrl_1_logical).w
loc_10780:
@@ -21406,13 +21414,13 @@ loc_10780: jsr off_107EE(pc,d1.w)
loc_1079E:
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
bne.s loc_107AE
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
loc_107AE:
- move.w ($FFFFEEA8).w,d0
+ move.w (Screen_X_wrap_value).w,d0
and.w d0,$10(a0)
addi.w #$400,$10(a0)
bsr.w sub_10D66
@@ -21440,7 +21448,7 @@ off_107EE: dc.w loc_107F6-off_107EE ; ---------------------------------------------------------------------------
loc_107F6:
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
andi.b #$70,d0
bne.s loc_10844
cmpi.b #$A,$20(a0)
@@ -21452,7 +21460,7 @@ loc_107F6: cmpi.b #$1E,$23(a0)
bcs.s loc_10844
bsr.w sub_11DA6
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
andi.b #$7F,d0
beq.s loc_1085E
move.b #$A,$20(a0)
@@ -21539,10 +21547,10 @@ sub_108E6: loc_108F4:
cmpi.w #$80,d0
bcs.s locret_1090C
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
andi.b #$C,d0
bne.s locret_1090C
- btst #1,($FFFFF602).w
+ btst #1,(Ctrl_1_logical).w
bne.s loc_1090E
locret_1090C:
@@ -21581,7 +21589,7 @@ sub_1094C: bne.s loc_10998
cmpi.b #8,$20(a0)
bne.s locret_10996
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
andi.b #$70,d0
beq.w locret_10996
move.b #9,$20(a0)
@@ -21603,7 +21611,7 @@ locret_10996: ; ---------------------------------------------------------------------------
loc_10998:
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
btst #1,d0
bne.w loc_10A38
move.b #7,$1E(a0)
@@ -21621,10 +21629,10 @@ loc_10998: andi.w #$1F00,d0
neg.w d0
addi.w #$2000,d0
- lea ($FFFFEE24).w,a1
+ lea (H_scroll_frame_offset).w,a1
cmpa.w #$B000,a0
beq.s loc_109F0
- lea ($FFFFEE28).w,a1
+ lea (H_scroll_frame_offset_P2).w,a1
loc_109F0:
move.w d0,(a1)
@@ -21670,7 +21678,7 @@ loc_10A38: loc_10A50:
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
andi.b #$70,d0
beq.w loc_10A80
move.w #$900,$20(a0)
@@ -21700,16 +21708,17 @@ loc_10A8E: ; ---------------------------------------------------------------------------
Obj_Sonic:
- lea ($FFFFF760).w,a4
- lea ($FFFFEE2C).w,a5
- lea ($FFFFCC54).w,a6
- tst.w ($FFFFFE08).w
+ lea (Sonic_Knux_top_speed).w,a4
+ lea (Distance_from_screen_top).w,a5
+ lea (Dust).w,a6
+ tst.w (Debug_placement_mode).w
beq.s loc_10ADE
- cmpi.b #1,($FFFFFE09).w
+
+ cmpi.b #1,(Debug_placement_type).w
beq.s loc_10AD8
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_10ABC
- move.w #0,($FFFFFE08).w
+ move.w #0,(Debug_placement_mode).w
loc_10ABC:
addq.b #1,$22(a0)
@@ -21757,23 +21766,23 @@ loc_10AFA: move.w #$600,(a4)
move.w #$C,2(a4)
move.w #$80,4(a4)
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.s loc_10B84
move.w #$680,$A(a0)
move.b #$C,$46(a0)
move.b #$D,$47(a0)
- cmpi.b #2,($FFFFFE48).w
+ cmpi.b #2,(Special_bonus_entry_flag).w
beq.s loc_10B84
- move.w $10(a0),($FFFFFE2E).w
- move.w $14(a0),($FFFFFE30).w
- move.w $A(a0),($FFFFFE38).w
- move.w $46(a0),($FFFFFE3A).w
+ move.w $10(a0),(Saved_X_pos).w
+ move.w $14(a0),(Saved_Y_pos).w
+ move.w $A(a0),(Saved_art_tile).w
+ move.w $46(a0),(Saved_solid_bits).w
loc_10B84:
move.b #0,$30(a0)
move.b #4,$31(a0)
- move.b #0,($FFFFFE19).w
+ move.b #0,(Super_Sonic_Knux_flag).w
move.b #$1E,$2C(a0)
subi.w #$20,$10(a0)
addi.w #4,$14(a0)
@@ -21784,20 +21793,20 @@ loc_10B84: ; ---------------------------------------------------------------------------
loc_10BBA:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_10BF0
- bclr #6,($FFFFF605).w
+ bclr #6,(Ctrl_1_pressed).w
beq.s loc_10BCE
- eori.b #1,($FFFFF7C6).w
+ eori.b #1,(Reverse_gravity_flag).w
loc_10BCE:
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_10BF0
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
- btst #5,($FFFFF604).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
+ btst #5,(Ctrl_1).w
beq.s locret_10BEE
- move.w #2,($FFFFFE08).w
+ move.w #2,(Debug_placement_mode).w
locret_10BEE:
rts
@@ -21805,9 +21814,9 @@ locret_10BEE: loc_10BF0:
- tst.b ($FFFFF7CA).w
+ tst.b (Ctrl_1_locked).w
bne.s loc_10BFC
- move.w ($FFFFF604).w,($FFFFF602).w
+ move.w (Ctrl_1).w,(Ctrl_1_logical).w
loc_10BFC:
btst #0,$2E(a0)
@@ -21826,9 +21835,9 @@ loc_10C0C: movem.l (sp)+,a4-a6
loc_10C26:
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
bne.s loc_10C36
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
loc_10C36:
@@ -21849,7 +21858,7 @@ loc_10C62: btst #1,$2E(a0)
bne.s loc_10C7E
bsr.w Animate_Sonic
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_10C7A
eori.b #2,4(a0)
@@ -21895,11 +21904,11 @@ loc_10CAC: bne.s loc_10CE8
subq.b #1,$35(a0)
bne.s loc_10CE8
- tst.b ($FFFFF7AA).w
+ tst.b (Boss_flag).w
bne.s loc_10CE2
cmpi.b #$C,$2C(a0)
bcs.s loc_10CE2
- move.w ($FFFFFF90).w,d0
+ move.w (Level_music).w,d0
jsr (Play_Sound).l
loc_10CE2:
@@ -21917,12 +21926,12 @@ loc_10CE8: bne.s locret_10D40
subq.b #1,$36(a0)
bne.s locret_10D40
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_10D42
move.w #$600,(a4)
move.w #$C,2(a4)
move.w #$80,4(a4)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_10D32
move.w #$A00,(a4)
move.w #$30,2(a4)
@@ -21958,19 +21967,19 @@ loc_10D42: sub_10D66:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_10DA0
cmpa.w #$B000,a0
bne.s locret_10D9E
- move.w ($FFFFEE26).w,d0
- lea ($FFFFE500).w,a1
+ move.w (Pos_table_index).w,d0
+ lea (Pos_table).w,a1
lea (a1,d0.w),a1
move.w $10(a0),(a1)+
move.w $14(a0),(a1)+
addq.b #4,($FFFFEE27).w
- lea ($FFFFE400).w,a1
+ lea (Stat_table).w,a1
lea (a1,d0.w),a1
- move.w ($FFFFF602).w,(a1)+
+ move.w (Ctrl_1_logical).w,(a1)+
move.b $2A(a0),(a1)+
move.b $A(a0),(a1)+
@@ -21981,8 +21990,8 @@ locret_10D9E: loc_10DA0:
cmpa.w #$B000,a0
bne.s loc_10DC0
- move.w ($FFFFEE26).w,d0
- lea ($FFFFE500).w,a1
+ move.w (Pos_table_index).w,d0
+ lea (Pos_table).w,a1
lea (a1,d0.w),a1
move.w $10(a0),(a1)+
move.w $14(a0),(a1)+
@@ -21991,8 +22000,8 @@ loc_10DA0: ; ---------------------------------------------------------------------------
loc_10DC0:
- move.w ($FFFFEE2A).w,d0
- lea ($FFFFE400).w,a1
+ move.w (Pos_table_index_P2).w,d0
+ lea (Stat_table).w,a1
lea (a1,d0.w),a1
move.w $10(a0),(a1)+
move.w $14(a0),(a1)+
@@ -22008,8 +22017,8 @@ Reset_Player_Position_Array: cmpa.w #$B000,a0
bne.s loc_10E04
- lea ($FFFFE500).w,a1
- lea ($FFFFE400).w,a2
+ lea (Pos_table).w,a1
+ lea (Stat_table).w,a2
move.w #$3F,d0
loc_10DEC:
@@ -22017,19 +22026,19 @@ loc_10DEC: move.w $14(a0),(a1)+
move.l #0,(a2)+
dbf d0,loc_10DEC
- move.w #0,($FFFFEE26).w
+ move.w #0,(Pos_table_index).w
loc_10E04:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s locret_10E24
- lea ($FFFFE400).w,a1
+ lea (Stat_table).w,a1
move.w #$3F,d0
loc_10E12:
move.w $10(a0),(a1)+
move.w $14(a0),(a1)+
dbf d0,loc_10E12
- move.w #0,($FFFFEE2A).w
+ move.w #0,(Pos_table_index_P2).w
locret_10E24:
rts
@@ -22040,7 +22049,7 @@ locret_10E24: sub_10E26:
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
bne.s loc_10E2E
locret_10E2C:
@@ -22049,7 +22058,7 @@ locret_10E2C: ; ---------------------------------------------------------------------------
loc_10E2E:
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
cmp.w $14(a0),d0
bge.s loc_10EA6
bset #6,$2A(a0)
@@ -22057,13 +22066,13 @@ loc_10E2E: addq.b #1,($FFFFF64D).w
movea.l a0,a1
bsr.w Player_ResetAirTimer
- move.l #Obj_Air_CountDown,($FFFFCB2C).w
+ move.l #Obj_Air_CountDown,(Breathing_bubbles).w
move.b #$81,($FFFFCB58).w
move.l a0,($FFFFCB6C).w
move.w #$300,(a4)
move.w #6,2(a4)
move.w #$40,4(a4)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_10E82
move.w #$500,(a4)
move.w #$18,2(a4)
@@ -22090,7 +22099,7 @@ loc_10EA6: move.w #$600,(a4)
move.w #$C,2(a4)
move.w #$80,4(a4)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_10EE0
move.w #$A00,(a4)
move.w #$30,2(a4)
@@ -22162,7 +22171,7 @@ locret_10F82: Call_Player_AnglePos:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.w Player_AnglePos
move.b $26(a0),d0
addi.b #$40,d0
@@ -22257,12 +22266,12 @@ Sonic_InputAcceleration_Path: bmi.w loc_11332
tst.w $32(a0)
bne.w loc_112EA
- btst #2,($FFFFF602).w
+ btst #2,(Ctrl_1_logical).w
beq.s loc_11086
bsr.w sub_113F6
loc_11086:
- btst #3,($FFFFF602).w
+ btst #3,(Ctrl_1_logical).w
beq.s loc_11092
bsr.w sub_11482
@@ -22287,7 +22296,7 @@ loc_11092: subq.w #2,d2
add.w $10(a0),d1
sub.w $10(a1),d1
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bne.w loc_110F6
cmpi.w #2,d1
blt.s loc_11146
@@ -22349,7 +22358,7 @@ loc_11184: bsr.w sub_12006
cmpi.w #$C,d1
blt.w loc_11276
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bne.w loc_11250
cmpi.b #3,$3A(a0)
bne.s loc_111F6
@@ -22427,14 +22436,14 @@ loc_1126E: loc_11276:
; Sonic_InputAcceleration_Path+92j ...
- btst #1,($FFFFF602).w
+ btst #1,(Ctrl_1_logical).w
beq.s loc_112B0
move.b #8,$20(a0)
addq.b #1,$39(a0)
cmpi.b #$78,$39(a0)
bcs.s loc_112F0
move.b #$78,$39(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_112A6
cmpi.w #8,(a5)
beq.s loc_112FC
@@ -22450,14 +22459,14 @@ loc_112A6: ; ---------------------------------------------------------------------------
loc_112B0:
- btst #0,($FFFFF602).w
+ btst #0,(Ctrl_1_logical).w
beq.s loc_112EA
move.b #7,$20(a0)
addq.b #1,$39(a0)
cmpi.b #$78,$39(a0)
bcs.s loc_112F0
move.b #$78,$39(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_112E0
cmpi.w #$C8,(a5)
beq.s loc_112FC
@@ -22488,12 +22497,12 @@ loc_112FA: loc_112FC:
; Sonic_InputAcceleration_Path+244j ...
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_11306
move.w #$C,d5
loc_11306:
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
andi.b #$C,d0
bne.s loc_11332
move.w $1C(a0),d0
@@ -22553,7 +22562,7 @@ loc_1137E: tst.w d1
bpl.s locret_113F4
asl.w #8,d1
- cmpi.b #8,($FFFFFE10).w
+ cmpi.b #8,(Current_zone).w
bne.s loc_113A0
tst.b d0
bpl.s loc_113A0
@@ -22730,7 +22739,7 @@ sub_11508: asl.w #1,d6
move.w 2(a4),d5
asr.w #1,d5
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_1151C
move.w #6,d5
@@ -22742,12 +22751,12 @@ loc_1151C: bmi.w loc_115C6
tst.w $32(a0)
bne.s loc_1154E
- btst #2,($FFFFF602).w
+ btst #2,(Ctrl_1_logical).w
beq.s loc_11542
bsr.w sub_11608
loc_11542:
- btst #3,($FFFFF602).w
+ btst #3,(Ctrl_1_logical).w
beq.s loc_1154E
bsr.w sub_1162C
@@ -22791,7 +22800,7 @@ loc_11578: move.b #5,$20(a0)
sub.b $44(a0),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_115AE
neg.w d0
@@ -22897,7 +22906,7 @@ sub_1164E: btst #4,$2A(a0)
bne.s loc_116A2
move.w $18(a0),d0
- btst #2,($FFFFF602).w
+ btst #2,(Ctrl_1_logical).w
beq.s loc_11682
bset #0,$2A(a0)
sub.w d5,d0
@@ -22912,7 +22921,7 @@ sub_1164E: loc_11682:
- btst #3,($FFFFF602).w
+ btst #3,(Ctrl_1_logical).w
beq.s loc_1169E
bclr #0,$2A(a0)
add.w d5,d0
@@ -22978,11 +22987,11 @@ Player_Check_Screen_Boundaries: asl.l #8,d0
add.l d0,d1
swap d1
- move.w ($FFFFEE14).w,d0
+ move.w (Camera_min_X_pos).w,d0
addi.w #$10,d0
cmp.w d1,d0
bhi.s loc_11732
- move.w ($FFFFEE16).w,d0
+ move.w (Camera_max_X_pos).w,d0
addi.w #$128,d0
cmp.w d1,d0
bcs.s loc_11732
@@ -22990,9 +22999,9 @@ Player_Check_Screen_Boundaries: loc_11706:
tst.b ($FFFFF665).w
bne.s locret_11720
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_11722
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$E0,d0
cmp.w $14(a0),d0
blt.s loc_1172C
@@ -23003,7 +23012,7 @@ locret_11720: ; ---------------------------------------------------------------------------
loc_11722:
- move.w ($FFFFEE18).w,d0
+ move.w (Camera_min_Y_pos).w,d0
cmp.w $14(a0),d0
blt.s locret_11720
@@ -23028,10 +23037,10 @@ Player_Spin: tst.b $2B(a0)
bmi.s locret_1177E
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
andi.b #$C,d0
bne.s locret_1177E
- btst #1,($FFFFF602).w
+ btst #1,(Ctrl_1_logical).w
beq.s loc_11780
move.w $1C(a0),d0
bpl.s loc_1176A
@@ -23068,7 +23077,7 @@ loc_1179A: move.b #7,$1F(a0)
move.b #2,$20(a0)
addq.w #5,$14(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_117C2
subi.w #$A,$14(a0)
@@ -23089,12 +23098,12 @@ locret_117D8: sub_117DA:
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
andi.b #$70,d0
beq.w locret_118B2
moveq #0,d0
move.b $26(a0),d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_117FC
addi.b #$40,d0
neg.b d0
@@ -23108,7 +23117,7 @@ loc_117FC: cmpi.w #6,d1
blt.w locret_118B2
move.w #$680,d2
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_11822
move.w #$800,d2
@@ -23146,7 +23155,7 @@ loc_1182E: move.b $1E(a0),d0
sub.b $44(a0),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_118AE
neg.w d0
@@ -23179,7 +23188,7 @@ Sonic_InstaAndShieldMoves: loc_118D2:
cmp.w $1A(a0),d1
ble.w loc_11900
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
andi.b #$70,d0
bne.s locret_118E8
move.w d1,$1A(a0)
@@ -23203,11 +23212,11 @@ locret_118FE: loc_11900:
tst.b $2F(a0)
bne.w locret_11A14
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
andi.b #$70,d0
beq.w locret_11A14
bclr #4,$2A(a0)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_1192C
bmi.w loc_11A96
move.b #1,$2F(a0)
@@ -23230,7 +23239,7 @@ loc_11958: move.w d0,$18(a0)
move.w d0,$1C(a0)
move.w #0,$1A(a0)
- move.w #$2000,($FFFFEE24).w
+ move.w #$2000,(H_scroll_frame_offset).w
bsr.w Reset_Player_Position_Array
move.w #$43,d0
jmp (Play_Sound_2).l
@@ -23260,17 +23269,17 @@ loc_119A2: ; ---------------------------------------------------------------------------
loc_119D2:
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcc.s loc_119E8
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
bcs.s loc_119F6
tst.b ($FFFFFFBA).w
bne.s loc_119F6
loc_119E8:
- cmpi.w #$32,($FFFFFE20).w
+ cmpi.w #$32,(Ring_count).w
bcs.s loc_119F6
- tst.b ($FFFFFE1E).w
+ tst.b (Update_HUD_timer).w
bne.s loc_11A16
loc_119F6:
@@ -23295,17 +23304,17 @@ loc_11A16: move.l #Map_SuperSonic,$C(a0)
move.b #$81,$2E(a0)
move.b #$1F,$20(a0)
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcs.s loc_11A5C
- move.b #-1,($FFFFFE19).w
- move.l #Obj_HyperSonic_19348,($FFFFCD7C).w
- move.l #Obj_HyperSonicKnux_Trail,($FFFFCBC0).w
+ move.b #-1,(Super_Sonic_Knux_flag).w
+ move.l #Obj_HyperSonic_19348,(Hyper_Sonic_stars).w
+ move.l #Obj_HyperSonicKnux_Trail,(Super_stars).w
bra.s loc_11A6A
; ---------------------------------------------------------------------------
loc_11A5C:
- move.b #1,($FFFFFE19).w
- move.l #Obj_SuperSonicKnux_Stars,($FFFFCBC0).w
+ move.b #1,(Super_Sonic_Knux_flag).w
+ move.l #Obj_SuperSonicKnux_Stars,(Super_stars).w
loc_11A6A:
move.w #$A00,(a4)
@@ -23321,13 +23330,13 @@ loc_11A6A: loc_11A96:
bsr.w sub_104EA
- move.w #$2000,($FFFFEE24).w
+ move.w #$2000,(H_scroll_frame_offset).w
bsr.w Reset_Player_Position_Array
move.b #1,$2F(a0)
move.b #1,($FFFFCD9C).w
moveq #-$4A,d0
jsr (Play_Sound_2).l
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
andi.w #$F,d0
beq.s loc_11AE0
cmpi.b #$B,d0
@@ -23372,7 +23381,7 @@ loc_11AF6: ; ---------------------------------------------------------------------------
loc_11B26:
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
beq.w locret_11BDC
bra.s loc_11B38
@@ -23381,39 +23390,39 @@ loc_11B26: sub_11B30:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.w locret_11BDC
loc_11B38:
- tst.b ($FFFFFE1E).w
+ tst.b (Update_HUD_timer).w
beq.s loc_11B7C
subq.w #1,($FFFFF670).w
bpl.w locret_11BDC
move.w #$3C,($FFFFF670).w
- tst.w ($FFFFFE20).w
+ tst.w (Ring_count).w
beq.s loc_11B7C
- ori.b #1,($FFFFFE1D).w
- cmpi.w #1,($FFFFFE20).w
+ ori.b #1,(Update_HUD_ring_count).w
+ cmpi.w #1,(Ring_count).w
beq.s loc_11B70
- cmpi.w #$A,($FFFFFE20).w
+ cmpi.w #$A,(Ring_count).w
beq.s loc_11B70
- cmpi.w #$64,($FFFFFE20).w
+ cmpi.w #$64,(Ring_count).w
bne.s loc_11B76
loc_11B70:
- ori.b #$80,($FFFFFE1D).w
+ ori.b #$80,(Update_HUD_ring_count).w
loc_11B76:
- subq.w #1,($FFFFFE20).w
+ subq.w #1,(Ring_count).w
bne.s locret_11BDC
loc_11B7C:
move.b #2,($FFFFF65F).w
move.w #$1E,($FFFFF65C).w
- move.b #0,($FFFFFE19).w
- move.b #0,($FFFFF667).w
+ move.b #0,(Super_Sonic_Knux_flag).w
+ move.b #0,(Super_Tails_flag).w
move.b #-1,($FFFFF766).w
tst.b $38(a0)
bne.s loc_11BA8
@@ -23446,7 +23455,7 @@ Player_Spindash: bne.s loc_11C5E
cmpi.b #8,$20(a0)
bne.s locret_11C5C
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
andi.b #$70,d0
beq.w locret_11C5C
move.b #9,$20(a0)
@@ -23488,14 +23497,14 @@ locret_11C5C: ; ---------------------------------------------------------------------------
loc_11C5E:
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
btst #1,d0
bne.w loc_11D16
move.b #$E,$1E(a0)
move.b #7,$1F(a0)
move.b #2,$20(a0)
addq.w #5,$14(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_11C8C
subi.w #$A,$14(a0)
@@ -23505,7 +23514,7 @@ loc_11C8C: move.b $3E(a0),d0
add.w d0,d0
move.w word_11CF2(pc,d0.w),$1C(a0)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_11CAC
move.w word_11D04(pc,d0.w),$1C(a0)
@@ -23516,10 +23525,10 @@ loc_11CAC: andi.w #$1F00,d0
neg.w d0
addi.w #$2000,d0
- lea ($FFFFEE24).w,a1
+ lea (H_scroll_frame_offset).w,a1
cmpa.w #$B000,a0
beq.s loc_11CCE
- lea ($FFFFEE28).w,a1
+ lea (H_scroll_frame_offset_P2).w,a1
loc_11CCE:
move.w d0,(a1)
@@ -23565,7 +23574,7 @@ loc_11D16: loc_11D2E:
; Player_Spindash+148j
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
andi.b #$70,d0
beq.w loc_11D5E
move.w #$900,$20(a0)
@@ -23818,10 +23827,10 @@ locret_11EEA: sub_11EEC:
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a0)
beq.s loc_11F00
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_11F00:
move.b $47(a0),d5
@@ -23863,7 +23872,7 @@ loc_11F56: loc_11F6E:
move.b d3,$26(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_11F7A
neg.w d1
@@ -23913,7 +23922,7 @@ locret_11FD4: sub_11FD6:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.w sub_F76E
bsr.w sub_FAF2
addi.b #$40,d3
@@ -23928,7 +23937,7 @@ sub_11FD6: sub_11FEE:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.w sub_FAF2
bsr.w sub_F76E
addi.b #$40,d3
@@ -23943,7 +23952,7 @@ sub_11FEE: sub_12006:
; Sonic_InputAcceleration_Path+158p ...
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.w loc_F898
bra.w loc_FC4A
; End of function sub_12006
@@ -23965,7 +23974,7 @@ loc_1202A: neg.w d1
cmpi.w #$14,d1
bcc.s loc_12054
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_12042
neg.w d1
@@ -24000,7 +24009,7 @@ loc_12074: bsr.w sub_11FD6
tst.w d1
bpl.s locret_1209C
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_12084
neg.w d1
@@ -24034,7 +24043,7 @@ loc_120C2: bsr.w sub_11FEE
tst.w d1
bpl.s locret_12100
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_120D2
neg.w d1
@@ -24073,7 +24082,7 @@ loc_1211A: bsr.w sub_11FEE
tst.w d1
bpl.s loc_1213C
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1212A
neg.w d1
@@ -24097,7 +24106,7 @@ loc_12148: bsr.w sub_11FD6
tst.w d1
bpl.s locret_12170
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_12158
neg.w d1
@@ -24141,7 +24150,7 @@ Player_TouchFloor: move.b #0,$20(a0)
sub.b $44(a0),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_121C4
neg.w d0
@@ -24161,7 +24170,7 @@ loc_121D8: bclr #5,$2A(a0)
bclr #4,$2A(a0)
move.b #0,$40(a0)
- move.w #0,($FFFFF7D0).w
+ move.w #0,(Chain_bonus_counter).w
move.b #0,$27(a0)
move.b #0,$2D(a0)
move.b #0,$30(a0)
@@ -24170,7 +24179,7 @@ loc_121D8: beq.s locret_12230
tst.b $38(a0)
bne.s loc_1222A
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bne.s loc_1222A
btst #6,$2B(a0)
beq.s loc_1222A
@@ -24217,7 +24226,7 @@ loc_12246: move.b $1E(a0),d0
sub.b $44(a0),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_122AA
neg.w d0
@@ -24232,12 +24241,12 @@ loc_122AA: loc_122BE:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_122D8
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_122D8
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
rts
; ---------------------------------------------------------------------------
@@ -24250,9 +24259,9 @@ loc_122D8: subi.w #$20,$1A(a0)
loc_122F2:
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
bne.s loc_12302
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
loc_12302:
@@ -24268,9 +24277,9 @@ loc_12302: sub_12318:
tst.b ($FFFFF665).w
bne.s loc_12344
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_12336
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$E0,d0
cmp.w $14(a0),d0
blt.w loc_1238A
@@ -24278,7 +24287,7 @@ sub_12318: ; ---------------------------------------------------------------------------
loc_12336:
- move.w ($FFFFEE18).w,d0
+ move.w (Camera_min_Y_pos).w,d0
cmp.w $14(a0),d0
blt.s loc_12344
bra.w loc_1238A
@@ -24315,12 +24324,12 @@ loc_1238A: loc_12390:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_123AA
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_123AA
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
rts
; ---------------------------------------------------------------------------
@@ -24339,18 +24348,18 @@ sub_123C2: cmpa.w #$B000,a0
bne.s loc_123D4
- move.w ($FFFFEE7C).w,d0
- move.b #1,($FFFFEE0A).w
+ move.w (Camera_Y_pos).w,d0
+ move.b #1,(Scroll_lock).w
bra.s loc_123DE
; ---------------------------------------------------------------------------
loc_123D4:
- move.w ($FFFFEE7C).w,d0
- move.b #1,($FFFFEE0B).w
+ move.w (Camera_Y_pos).w,d0
+ move.b #1,(Scroll_lock_P2).w
loc_123DE:
move.b #0,$3D(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_123FA
subi.w #$10,d0
cmp.w $14(a0),d0
@@ -24360,7 +24369,7 @@ loc_123DE: loc_123FA:
addi.w #$100,d0
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s loc_12408
subi.w #$70,d0
@@ -24369,11 +24378,11 @@ loc_12408: bge.w locret_124C6
loc_12410:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.w loc_124C8
cmpi.b #1,$38(a0)
bne.s loc_12432
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
beq.s loc_12432
move.b #2,5(a0)
bra.w sub_13ECA
@@ -24384,19 +24393,19 @@ loc_12432: move.b #8,5(a0)
move.w #$3C,$3E(a0)
move.b #0,($FFFFFF97).w
- addq.b #1,($FFFFFE1C).w
- subq.b #1,($FFFFFE12).w
+ addq.b #1,(Update_HUD_life_count).w
+ subq.b #1,(Life_count).w
bne.s loc_12498
move.w #0,$3E(a0)
- move.l #loc_2D5C6,($FFFFB094).w
- move.l #loc_2D5C6,($FFFFB0DE).w
+ move.l #loc_2D5C6,(Reserved_object_3).w
+ move.l #loc_2D5C6,(Dynamic_object_RAM).w
move.b #0,($FFFFB0B6).w
move.b #1,($FFFFB100).w
move.w a0,($FFFFB0D2).w
- clr.b ($FFFFFE1A).w
+ clr.b (Time_over_flag).w
loc_12478:
- clr.b ($FFFFFE1E).w
+ clr.b (Update_HUD_timer).w
clr.b ($FFFFFEC7).w
move.b #8,5(a0)
move.w #$27,d0
@@ -24406,11 +24415,11 @@ loc_12478: ; ---------------------------------------------------------------------------
loc_12498:
- tst.b ($FFFFFE1A).w
+ tst.b (Time_over_flag).w
beq.s locret_124C6
move.w #0,$3E(a0)
- move.l #loc_2D5C6,($FFFFB094).w
- move.l #loc_2D5C6,($FFFFB0DE).w
+ move.l #loc_2D5C6,(Reserved_object_3).w
+ move.l #loc_2D5C6,(Dynamic_object_RAM).w
move.b #2,($FFFFB0B6).w
move.b #3,($FFFFB100).w
move.w a0,($FFFFB0D2).w
@@ -24426,24 +24435,24 @@ loc_124C8: move.b #2,5(a0)
cmpa.w #$B000,a0
bne.s loc_12502
- move.b #0,($FFFFEE0A).w
- move.w ($FFFFFE2E).w,$10(a0)
- move.w ($FFFFFE30).w,$14(a0)
- move.w ($FFFFFE38).w,$A(a0)
- move.w ($FFFFFE3A).w,$46(a0)
- clr.w ($FFFFFE20).w
- clr.b ($FFFFFE1B).w
+ move.b #0,(Scroll_lock).w
+ move.w (Saved_X_pos).w,$10(a0)
+ move.w (Saved_Y_pos).w,$14(a0)
+ move.w (Saved_art_tile).w,$A(a0)
+ move.w (Saved_solid_bits).w,$46(a0)
+ clr.w (Ring_count).w
+ clr.b (Extra_life_flags).w
move.b #1,($FFFFF74A).w
bra.s loc_1252A
; ---------------------------------------------------------------------------
loc_12502:
- move.b #0,($FFFFEE0B).w
- move.w ($FFFFFE4C).w,$10(a0)
- move.w ($FFFFFE4E).w,$14(a0)
- move.w ($FFFFFE56).w,$A(a0)
- move.w ($FFFFFE58).w,$46(a0)
- clr.w ($FFFFFED0).w
+ move.b #0,(Scroll_lock_P2).w
+ move.w (Saved2_X_pos).w,$10(a0)
+ move.w (Saved2_Y_pos).w,$14(a0)
+ move.w (Saved2_art_tile).w,$A(a0)
+ move.w (Saved2_solid_bits).w,$46(a0)
+ clr.w (Ring_count_P2).w
move.b #1,($FFFFF74B).w
loc_1252A:
@@ -24475,7 +24484,7 @@ loc_1257C: beq.s locret_1258E
subq.w #1,$3E(a0)
bne.s locret_1258E
- move.w #1,($FFFFFE02).w
+ move.w #1,(Restart_level_flag).w
locret_1258E:
@@ -24484,9 +24493,9 @@ locret_1258E: loc_12590:
- tst.w ($FFFFEE00).w
+ tst.w (Camera_RAM).w
bne.s loc_125A2
- tst.w ($FFFFEE02).w
+ tst.w (V_scroll_amount).w
bne.s loc_125A2
move.b #2,5(a0)
@@ -24497,12 +24506,12 @@ loc_125A2: ; ---------------------------------------------------------------------------
loc_125AC:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_125C6
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_125C6
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
rts
; ---------------------------------------------------------------------------
@@ -24519,10 +24528,10 @@ loc_125C6: sub_125E0:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_125F8
bsr.s Animate_Sonic
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_125F4
eori.b #2,4(a0)
@@ -24542,7 +24551,7 @@ loc_125F8: Animate_Sonic:
lea (AniSonic).l,a1
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_12612
lea (AniSuperSonic).l,a1
@@ -24658,7 +24667,7 @@ loc_12700: add.w d2,d2
loc_1270A:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bne.s loc_12766
lea (byte_12AF8).l,a1
cmpi.w #$600,d2
@@ -24751,9 +24760,9 @@ loc_127C0: andi.b #-4,4(a0)
tst.b $2D(a0)
bpl.s loc_12806
- cmpi.b #$B,($FFFFFE10).w
+ cmpi.b #$B,(Current_zone).w
beq.s loc_1280A
- cmpi.b #4,($FFFFFE10).w
+ cmpi.b #4,(Current_zone).w
beq.s loc_1280A
ori.b #2,4(a0)
neg.b d0
@@ -24777,11 +24786,11 @@ loc_1281E: andi.b #-4,4(a0)
tst.b $2D(a0)
bpl.s loc_1284E
- cmpi.b #4,($FFFFFE10).w
+ cmpi.b #4,(Current_zone).w
beq.s loc_12842
- cmpi.b #$B,($FFFFFE10).w
+ cmpi.b #$B,(Current_zone).w
beq.s loc_12842
- cmpi.b #7,($FFFFFE10).w
+ cmpi.b #7,(Current_zone).w
bne.s loc_1284E
loc_12842:
@@ -25010,7 +25019,7 @@ loc_12A8A: lsr.w #6,d2
move.b d2,$24(a0)
lea (byte_12B16).l,a1
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_12AA2
lea (byte_12C8E).l,a1
@@ -25034,7 +25043,7 @@ Sonic_Load_PLC2: beq.s locret_12D20
move.b d0,($FFFFF766).w
lea (PLC_Sonic).l,a2
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_12CD6
lea (PLC_SuperSonic).l,a2
@@ -25390,24 +25399,24 @@ locret_13100: Obj_Tails2P:
cmpa.w #$B000,a0
bne.s loc_13130
- lea ($FFFFF760).w,a4
- lea ($FFFFEE2C).w,a5
- lea ($FFFFCC54).w,a6
+ lea (Sonic_Knux_top_speed).w,a4
+ lea (Distance_from_screen_top).w,a5
+ lea (Dust).w,a6
move.b ($FFFFB082).w,d0
cmp.b $38(a0),d0
bne.s loc_13124
bchg #3,4(a0)
loc_13124:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s loc_1314C
jmp (DebugMode).l
; ---------------------------------------------------------------------------
loc_13130:
lea ($FFFFFEC0).w,a4
- lea ($FFFFEE2E).w,a5
- lea ($FFFFCC9E).w,a6
+ lea (Distance_from_screen_top_P2).w,a5
+ lea (Dust_P2).w,a6
move.b ($FFFFB038).w,d0
cmp.b $38(a0),d0
bne.s loc_1314C
@@ -25449,39 +25458,39 @@ loc_13166: move.w (a1)+,(a4)
move.w (a1)+,2(a4)
move.w (a1)+,4(a4)
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.w loc_13250
move.b #$C,$46(a0)
move.b #$D,$47(a0)
cmpa.w #$B000,a0
bne.s loc_13218
move.w #$680,$A(a0)
- cmpi.b #$12,($FFFFFE10).w
+ cmpi.b #$12,(Current_zone).w
bne.s loc_131F2
ori.w #$8000,$A(a0)
loc_131F2:
- move.w $10(a0),($FFFFFE2E).w
- move.w $14(a0),($FFFFFE30).w
- move.w $A(a0),($FFFFFE38).w
- move.w $46(a0),($FFFFFE3A).w
- move.l #Obj_Tails2P_Tail,($FFFFCBC0).w
+ move.w $10(a0),(Saved_X_pos).w
+ move.w $14(a0),(Saved_Y_pos).w
+ move.w $A(a0),(Saved_art_tile).w
+ move.w $46(a0),(Saved_solid_bits).w
+ move.l #Obj_Tails2P_Tail,(Super_stars).w
move.w a0,($FFFFCBF0).w
bra.s loc_13250
; ---------------------------------------------------------------------------
loc_13218:
move.w #$6A0,$A(a0)
- cmpi.b #$12,($FFFFFE10).w
+ cmpi.b #$12,(Current_zone).w
bne.s loc_1322C
ori.w #$8000,$A(a0)
loc_1322C:
- move.w $10(a0),($FFFFFE4C).w
- move.w $14(a0),($FFFFFE4E).w
- move.w $A(a0),($FFFFFE56).w
- move.w $46(a0),($FFFFFE58).w
- move.l #Obj_Tails2P_Tail,($FFFFCC0A).w
+ move.w $10(a0),(Saved2_X_pos).w
+ move.w $14(a0),(Saved2_Y_pos).w
+ move.w $A(a0),(Saved2_art_tile).w
+ move.w $46(a0),(Saved2_solid_bits).w
+ move.l #Obj_Tails2P_Tail,(Tails_tails).w
move.w a0,($FFFFCC3A).w
loc_13250:
@@ -25494,14 +25503,14 @@ loc_13250: move.w #0,($FFFFF704).w
loc_13274:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_13294
cmpa.w #$B000,a0
bne.s loc_13294
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_13294
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
rts
; ---------------------------------------------------------------------------
@@ -25509,18 +25518,18 @@ loc_13294: cmpa.w #$B000,a0
bne.s loc_132B4
- move.w ($FFFFF602).w,($FFFFF66A).w
- tst.b ($FFFFF7CA).w
+ move.w (Ctrl_1_logical).w,(Ctrl_2_logical).w
+ tst.b (Ctrl_1_locked).w
bne.s loc_132C0
- move.w ($FFFFF604).w,($FFFFF66A).w
- move.w ($FFFFF604).w,($FFFFF602).w
+ move.w (Ctrl_1).w,(Ctrl_2_logical).w
+ move.w (Ctrl_1).w,(Ctrl_1_logical).w
bra.s loc_132C0
; ---------------------------------------------------------------------------
loc_132B4:
- tst.b ($FFFFF7CB).w
+ tst.b (Ctrl_2_locked).w
bne.s loc_132C0
- move.w ($FFFFF606).w,($FFFFF66A).w
+ move.w (Ctrl_2).w,(Ctrl_2_logical).w
loc_132C0:
@@ -25534,13 +25543,13 @@ loc_132C0: jsr off_1332E(pc,d1.w)
loc_132DE:
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
bne.s loc_132EE
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
loc_132EE:
- move.w ($FFFFEEA8).w,d0
+ move.w (Screen_X_wrap_value).w,d0
and.w d0,$10(a0)
addi.w #$400,$10(a0)
bsr.w sub_10D66
@@ -25636,7 +25645,7 @@ loc_133EA: ; ---------------------------------------------------------------------------
loc_133EC:
- move.b ($FFFFF66B).w,d0
+ move.b (Ctrl_2_pressed_logical).w,d0
andi.b #$70,d0
beq.s loc_13418
cmpi.w #-$100,$1A(a0)
@@ -25645,7 +25654,7 @@ loc_133EC: beq.s loc_13418
btst #6,$2A(a0)
beq.s loc_13412
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
bne.s loc_13418
loc_13412:
@@ -25656,7 +25665,7 @@ loc_13418: addi.w #8,$1A(a0)
loc_1341E:
- move.w ($FFFFEE18).w,d0
+ move.w (Camera_min_Y_pos).w,d0
addi.w #$10,d0
cmp.w $14(a0),d0
blt.s loc_13438
@@ -25735,10 +25744,10 @@ sub_134BA: loc_134C8:
cmpi.w #$80,d0
bcs.s locret_134E0
- move.b ($FFFFF66A).w,d0
+ move.b (Ctrl_2_logical).w,d0
andi.b #$C,d0
bne.s locret_134E0
- btst #1,($FFFFF66A).w
+ btst #1,(Ctrl_2_logical).w
bne.s loc_134E2
locret_134E0:
@@ -25777,7 +25786,7 @@ sub_13520: bne.s loc_13570
cmpi.b #8,$20(a0)
bne.s locret_1356E
- move.b ($FFFFF66B).w,d0
+ move.b (Ctrl_2_pressed_logical).w,d0
andi.b #$70,d0
beq.w locret_1356E
move.b #9,$20(a0)
@@ -25800,7 +25809,7 @@ locret_1356E: ; ---------------------------------------------------------------------------
loc_13570:
- move.b ($FFFFF66A).w,d0
+ move.b (Ctrl_2_logical).w,d0
btst #1,d0
bne.w loc_13600
move.b #7,$1E(a0)
@@ -25818,10 +25827,10 @@ loc_13570: andi.w #$1F00,d0
neg.w d0
addi.w #$2000,d0
- lea ($FFFFEE24).w,a1
+ lea (H_scroll_frame_offset).w,a1
cmpa.w #$B000,a0
beq.s loc_135C8
- lea ($FFFFEE28).w,a1
+ lea (H_scroll_frame_offset_P2).w,a1
loc_135C8:
move.w d0,(a1)
@@ -25858,7 +25867,7 @@ loc_13600: loc_13618:
- move.b ($FFFFF66B).w,d0
+ move.b (Ctrl_2_pressed_logical).w,d0
andi.b #$70,d0
beq.w loc_13648
move.w #$900,$20(a0)
@@ -25890,17 +25899,17 @@ loc_13656: Obj_Tails:
; SpawnLevelMainSprites_SpawnPlayers+78o ...
lea ($FFFFFEC0).w,a4
- lea ($FFFFEE2E).w,a5
- lea ($FFFFCC9E).w,a6
- cmpi.w #2,($FFFFFF08).w
+ lea (Distance_from_screen_top_P2).w,a5
+ lea (Dust_P2).w,a6
+ cmpi.w #2,(Player_mode).w
bne.s loc_136AE
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s loc_136AE
- cmpi.b #1,($FFFFFE09).w
+ cmpi.b #1,(Debug_placement_type).w
beq.s loc_136A8
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_1368C
- move.w #0,($FFFFFE08).w
+ move.w #0,(Debug_placement_mode).w
loc_1368C:
addq.b #1,$22(a0)
@@ -25949,19 +25958,19 @@ loc_136CA: move.w #$600,(a4)
move.w #$C,2(a4)
move.w #$80,4(a4)
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_1375E
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.s loc_13776
move.w #$6A0,$A(a0)
move.b #$C,$46(a0)
move.b #$D,$47(a0)
- cmpi.b #2,($FFFFFE48).w
+ cmpi.b #2,(Special_bonus_entry_flag).w
beq.s loc_13776
- move.w $10(a0),($FFFFFE2E).w
- move.w $14(a0),($FFFFFE30).w
- move.w $A(a0),($FFFFFE38).w
- move.w $46(a0),($FFFFFE3A).w
+ move.w $10(a0),(Saved_X_pos).w
+ move.w $14(a0),(Saved_Y_pos).w
+ move.w $A(a0),(Saved_art_tile).w
+ move.w $46(a0),(Saved_solid_bits).w
bra.s loc_13776
; ---------------------------------------------------------------------------
@@ -25976,7 +25985,7 @@ loc_13776: move.b #0,$30(a0)
move.b #4,$31(a0)
- move.b #0,($FFFFF667).w
+ move.b #0,(Super_Tails_flag).w
move.b #$1E,$2C(a0)
cmpi.w #$20,($FFFFF708).w
beq.s loc_137A4
@@ -25988,29 +25997,29 @@ loc_137A4: move.w #0,($FFFFF702).w
move.w #0,($FFFFF704).w
- move.l #Obj_Tails_Tail,($FFFFCC0A).w
+ move.l #Obj_Tails_Tail,(Tails_tails).w
move.w a0,($FFFFCC3A).w
- move.b ($FFFFFE2A).w,($FFFFF746).w
+ move.b (Last_star_post_hit).w,($FFFFF746).w
rts
; ---------------------------------------------------------------------------
loc_137C4:
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_13808
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_13808
- bclr #6,($FFFFF605).w
+ bclr #6,(Ctrl_1_pressed).w
beq.s loc_137E0
- eori.b #1,($FFFFF7C6).w
+ eori.b #1,(Reverse_gravity_flag).w
loc_137E0:
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_13808
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
- btst #5,($FFFFF604).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
+ btst #5,(Ctrl_1).w
beq.s locret_13806
- move.w #2,($FFFFFE08).w
+ move.w #2,(Debug_placement_mode).w
move.b #0,$20(a0)
locret_13806:
@@ -26021,29 +26030,29 @@ loc_13808: cmpa.w #$B000,a0
bne.s loc_13830
- move.w ($FFFFF602).w,($FFFFF66A).w
- tst.b ($FFFFF7CA).w
+ move.w (Ctrl_1_logical).w,(Ctrl_2_logical).w
+ tst.b (Ctrl_1_locked).w
bne.s loc_1384A
- move.w ($FFFFF604).w,($FFFFF66A).w
- move.w ($FFFFF604).w,($FFFFF602).w
+ move.w (Ctrl_1).w,(Ctrl_2_logical).w
+ move.w (Ctrl_1).w,(Ctrl_1_logical).w
cmpi.w #$1A,($FFFFF708).w
bcc.s loc_13840
bra.s loc_1384A
; ---------------------------------------------------------------------------
loc_13830:
- tst.b ($FFFFF7CB).w
+ tst.b (Ctrl_2_locked).w
beq.s loc_1383A
bpl.s loc_13840
bra.s loc_1384A
; ---------------------------------------------------------------------------
loc_1383A:
- move.w ($FFFFF606).w,($FFFFF66A).w
+ move.w (Ctrl_2).w,(Ctrl_2_logical).w
loc_13840:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_1384A
bsr.w sub_139CC
@@ -26052,12 +26061,12 @@ loc_1384A: btst #0,$2E(a0)
beq.s loc_13872
move.b #0,$2F(a0)
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
beq.s loc_1388C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
clr.b $2E(a1)
bset #1,$2A(a1)
- clr.w ($FFFFF73E).w
+ clr.w (Flying_carrying_Sonic_flag).w
bra.s loc_1388C
; ---------------------------------------------------------------------------
@@ -26072,9 +26081,9 @@ loc_13872: loc_1388C:
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
bne.s loc_1389C
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
loc_1389C:
@@ -26095,7 +26104,7 @@ loc_138C8: btst #1,$2E(a0)
bne.s loc_138E4
bsr.w Animate_Tails
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_138E0
eori.b #2,4(a0)
@@ -26139,11 +26148,11 @@ loc_13912: bne.s loc_1394E
subq.b #1,$35(a0)
bne.s loc_1394E
- tst.b ($FFFFF7AA).w
+ tst.b (Boss_flag).w
bne.s loc_13948
cmpi.b #$C,$2C(a0)
bcs.s loc_13948
- move.w ($FFFFFF90).w,d0
+ move.w (Level_music).w,d0
jsr (Play_Sound).l
loc_13948:
@@ -26161,12 +26170,12 @@ loc_1394E: bne.s locret_139A6
subq.b #1,$36(a0)
bne.s locret_139A6
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_139A8
move.w #$600,(a4)
move.w #$C,2(a4)
move.w #$80,4(a4)
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
beq.s loc_13998
move.w #$800,(a4)
move.w #$18,2(a4)
@@ -26199,13 +26208,13 @@ loc_139A8: sub_139CC:
- move.b ($FFFFF66A).w,d0
+ move.b (Ctrl_2_logical).w,d0
andi.b #$7F,d0
beq.s loc_139DC
move.w #$258,($FFFFF702).w
loc_139DC:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w ($FFFFF708).w,d0
move.w off_139EC(pc,d0.w),d0
jmp off_139EC(pc,d0.w)
@@ -26236,7 +26245,7 @@ off_139EC: dc.w loc_13A10-off_139EC loc_13A10:
tst.b ($FFFFF746).w
bne.w loc_13AF4
- cmpi.w #0,($FFFFFE10).w
+ cmpi.w #0,(Current_zone_and_act).w
bne.s loc_13A32
bsr.w sub_13ECA
move.w #$A,($FFFFF708).w
@@ -26245,11 +26254,11 @@ loc_13A10: ; ---------------------------------------------------------------------------
loc_13A32:
- cmpi.w #$100,($FFFFFE10).w
+ cmpi.w #$100,(Current_zone_and_act).w
beq.w loc_13B12
- cmpi.w #$200,($FFFFFE10).w
+ cmpi.w #$200,(Current_zone_and_act).w
beq.w loc_13B12
- cmpi.w #$300,($FFFFFE10).w
+ cmpi.w #$300,(Current_zone_and_act).w
bne.s loc_13A74
move.w #$18,$10(a0)
move.w #$600,$14(a0)
@@ -26263,7 +26272,7 @@ loc_13A5A: ; ---------------------------------------------------------------------------
loc_13A74:
- cmpi.w #$500,($FFFFFE10).w
+ cmpi.w #$500,(Current_zone_and_act).w
bne.s loc_13A8E
bsr.w sub_13ECA
move.w #$A,($FFFFF708).w
@@ -26272,11 +26281,11 @@ loc_13A74: ; ---------------------------------------------------------------------------
loc_13A8E:
- cmpi.w #$600,($FFFFFE10).w
+ cmpi.w #$600,(Current_zone_and_act).w
beq.w loc_13B12
- cmpi.w #$700,($FFFFFE10).w
+ cmpi.w #$700,(Current_zone_and_act).w
bne.s loc_13AB4
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_13AB4
move.w #$D8,$10(a0)
move.w #$500,$14(a0)
@@ -26285,11 +26294,11 @@ loc_13A8E: loc_13AB4:
- cmpi.w #$800,($FFFFFE10).w
+ cmpi.w #$800,(Current_zone_and_act).w
beq.w loc_13B18
- cmpi.w #$900,($FFFFFE10).w
+ cmpi.w #$900,(Current_zone_and_act).w
beq.w loc_13B12
- cmpi.w #$A00,($FFFFFE10).w
+ cmpi.w #$A00,(Current_zone_and_act).w
bne.s loc_13AE2
bsr.w sub_13ECA
move.w #$A,($FFFFF708).w
@@ -26298,9 +26307,9 @@ loc_13AB4: ; ---------------------------------------------------------------------------
loc_13AE2:
- cmpi.w #$1600,($FFFFFE10).w
+ cmpi.w #$1600,(Current_zone_and_act).w
beq.w loc_13B12
- cmpi.b #$17,($FFFFFE10).w
+ cmpi.b #$17,(Current_zone).w
beq.s loc_13B18
loc_13AF4:
@@ -26322,10 +26331,10 @@ loc_13B18: ; ---------------------------------------------------------------------------
Tails_Catch_Up_Flying:
- move.b ($FFFFF66A).w,d0
+ move.b (Ctrl_2_logical).w,d0
andi.b #$F0,d0
bne.s loc_13B50
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #$3F,d0
bne.w locret_13BF6
tst.b $2E(a1)
@@ -26342,7 +26351,7 @@ loc_13B50: move.w $14(a1),d0
move.w d0,($FFFFF70C).w
subi.w #$C0,d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_13B78
addi.w #$180,d0
@@ -26406,11 +26415,11 @@ loc_13C3A: move.w #0,($FFFFF704).w
loc_13C50:
- lea ($FFFFE500).w,a2
+ lea (Pos_table).w,a2
move.w #$10,d2
lsl.b #2,d2
addq.b #4,d2
- move.w ($FFFFEE26).w,d3
+ move.w (Pos_table_index).w,d3
sub.b d2,d3
move.w (a2,d3.w),($FFFFF70A).w
move.w 2(a2,d3.w),($FFFFF70C).w
@@ -26472,7 +26481,7 @@ loc_13CCE: add.w d2,$14(a0)
loc_13CD2:
- lea ($FFFFE400).w,a2
+ lea (Stat_table).w,a2
move.b 2(a2,d3.w),d2
andi.b #$80,d2
bne.s loc_13D42
@@ -26534,11 +26543,11 @@ loc_13D78: loc_13DA6:
- lea ($FFFFE500).w,a2
+ lea (Pos_table).w,a2
move.w #$10,d1
lsl.b #2,d1
addq.b #4,d1
- move.w ($FFFFEE26).w,d0
+ move.w (Pos_table_index).w,d0
sub.b d1,d0
move.w (a2,d0.w),d2
btst #3,$2A(a1)
@@ -26550,7 +26559,7 @@ loc_13DA6: loc_13DD0:
move.w 2(a2,d0.w),d3
- lea ($FFFFE400).w,a2
+ lea (Stat_table).w,a2
move.w (a2,d0.w),d1
move.b 2(a2,d0.w),d4
move.w d1,d0
@@ -26614,7 +26623,7 @@ loc_13E64: move.b #0,($FFFFF70F).w
loc_13E7C:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #$FF,d0
beq.s loc_13E8C
cmpi.w #$40,d2
@@ -26632,6 +26641,7 @@ loc_13E9C: move.b ($FFFFFE05).w,d0
andi.b #$3F,d0
bne.s loc_13EB8
+
cmpi.b #8,$20(a0)
beq.s loc_13EB8
ori.w #$7070,d1
@@ -26639,7 +26649,7 @@ loc_13E9C: loc_13EB8:
- move.w d1,($FFFFF66A).w
+ move.w d1,(Ctrl_2_logical).w
rts
; ---------------------------------------------------------------------------
@@ -26725,24 +26735,24 @@ loc_13F40: bset #0,$2A(a0)
loc_13F74:
- move.w #$202,($FFFFF66A).w
+ move.w #$202,(Ctrl_2_logical).w
move.b ($FFFFFE05).w,d0
andi.b #$7F,d0
beq.s loc_13FA4
cmpi.b #8,$20(a0)
bne.s locret_13FBE
- move.w #$7272,($FFFFF66A).w
+ move.w #$7272,(Ctrl_2_logical).w
rts
; ---------------------------------------------------------------------------
loc_13F94:
- move.w #$202,($FFFFF66A).w
+ move.w #$202,(Ctrl_2_logical).w
move.b ($FFFFFE05).w,d0
andi.b #$7F,d0
bne.s loc_13FB2
loc_13FA4:
- move.w #0,($FFFFF66A).w
+ move.w #0,(Ctrl_2_logical).w
move.w #6,($FFFFF708).w
rts
; ---------------------------------------------------------------------------
@@ -26750,7 +26760,7 @@ loc_13FA4: loc_13FB2:
andi.b #$1F,d0
bne.s locret_13FBE
- ori.w #$7070,($FFFFF66A).w
+ ori.w #$7070,(Ctrl_2_logical).w
locret_13FBE:
@@ -26768,22 +26778,22 @@ loc_13FC2: move.w #$100,$18(a0)
move.w #0,$1A(a0)
move.w #0,$1C(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_1459E
- move.b #1,($FFFFF73E).w
+ move.b #1,(Flying_carrying_Sonic_flag).w
move.w #$E,($FFFFF708).w
loc_13FFA:
move.w #0,($FFFFF702).w
- move.w #0,($FFFFF66A).w
+ move.w #0,(Ctrl_2_logical).w
move.b ($FFFFFE05).w,d0
andi.b #$1F,d0
bne.s loc_14016
- ori.w #$808,($FFFFF66A).w
+ ori.w #$808,(Ctrl_2_logical).w
loc_14016:
- lea ($FFFFF73E).w,a2
- lea ($FFFFB000).w,a1
+ lea (Flying_carrying_Sonic_flag).w,a2
+ lea (Player_1).w,a1
btst #1,$2A(a1)
bne.s loc_14082
move.w #6,($FFFFF708).w
@@ -26802,24 +26812,24 @@ loc_14016: loc_14068:
move.b $46(a1),$46(a0)
move.b $47(a1),$47(a0)
- cmpi.w #1,($FFFFFF08).w
+ cmpi.w #1,(Player_mode).w
bne.s loc_14082
move.w #$10,($FFFFF708).w
loc_14082:
- move.w ($FFFFF604).w,d0
+ move.w (Ctrl_1).w,d0
bra.w Tails_Carry_Sonic
; ---------------------------------------------------------------------------
loc_1408A:
move.w #0,($FFFFF702).w
move.b #-$10,$25(a0)
- move.w #0,($FFFFF66A).w
+ move.w #0,(Ctrl_2_logical).w
move.b ($FFFFFE05).w,d0
andi.b #$F,d0
bne.s loc_140AC
- ori.w #$7878,($FFFFF66A).w
+ ori.w #$7878,(Ctrl_2_logical).w
loc_140AC:
tst.b 4(a0)
@@ -26835,7 +26845,7 @@ locret_140C4: ; ---------------------------------------------------------------------------
loc_140C6:
- move.w #0,($FFFFF66A).w
+ move.w #0,(Ctrl_2_logical).w
rts
; ---------------------------------------------------------------------------
@@ -26846,31 +26856,31 @@ loc_140CE: move.w #0,$18(a0)
move.w #0,$1A(a0)
move.w #0,$1C(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_1459E
- move.b #1,($FFFFF73E).w
+ move.b #1,(Flying_carrying_Sonic_flag).w
move.w #$16,($FFFFF708).w
loc_14106:
move.w #0,($FFFFF702).w
move.b #-$10,$25(a0)
- move.w #0,($FFFFF66A).w
+ move.w #0,(Ctrl_2_logical).w
move.b ($FFFFFE05).w,d0
andi.b #7,d0
bne.s loc_14128
- ori.w #$7070,($FFFFF66A).w
+ ori.w #$7070,(Ctrl_2_logical).w
loc_14128:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$90,d0
cmp.w $14(a0),d0
bcs.s loc_1413C
move.w #$18,($FFFFF708).w
loc_1413C:
- lea ($FFFFF73E).w,a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF604).w,d0
+ lea (Flying_carrying_Sonic_flag).w,a2
+ lea (Player_1).w,a1
+ move.w (Ctrl_1).w,d0
bra.w Tails_Carry_Sonic
; ---------------------------------------------------------------------------
@@ -26878,34 +26888,34 @@ loc_1414C: move.b #-$10,$25(a0)
tst.w ($FFFFF702).w
beq.s loc_14164
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
bne.w loc_141E2
bra.w loc_142E2
; ---------------------------------------------------------------------------
loc_14164:
- move.w #0,($FFFFF66A).w
- tst.b ($FFFFF73E).w
+ move.w #0,(Ctrl_2_logical).w
+ tst.b (Flying_carrying_Sonic_flag).w
beq.w loc_142E2
clr.b ($FFFFFAAC).w
- btst #1,($FFFFF604).w
+ btst #1,(Ctrl_1).w
beq.s loc_14198
addq.b #1,($FFFFF70E).w
cmpi.b #-$40,($FFFFF70E).w
bcs.s loc_141D2
move.b #0,($FFFFF70E).w
- ori.w #$7070,($FFFFF66A).w
+ ori.w #$7070,(Ctrl_2_logical).w
bra.s loc_141D2
; ---------------------------------------------------------------------------
loc_14198:
- btst #0,($FFFFF604).w
+ btst #0,(Ctrl_1).w
beq.s loc_141BA
addq.b #1,($FFFFF70E).w
cmpi.b #$20,($FFFFF70E).w
bcs.s loc_141D2
move.b #0,($FFFFF70E).w
- ori.w #$7070,($FFFFF66A).w
+ ori.w #$7070,(Ctrl_2_logical).w
bra.s loc_141D2
; ---------------------------------------------------------------------------
@@ -26914,19 +26924,19 @@ loc_141BA: cmpi.b #$58,($FFFFF70E).w
bcs.s loc_141D2
move.b #0,($FFFFF70E).w
- ori.w #$7070,($FFFFF66A).w
+ ori.w #$7070,(Ctrl_2_logical).w
loc_141D2:
- move.b ($FFFFF604).w,d0
+ move.b (Ctrl_1).w,d0
andi.b #$C,d0
- or.b ($FFFFF66A).w,d0
- move.b d0,($FFFFF66A).w
+ or.b (Ctrl_2_logical).w,d0
+ move.b d0,(Ctrl_2_logical).w
loc_141E2:
- lea ($FFFFF73E).w,a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF604).w,d0
+ lea (Flying_carrying_Sonic_flag).w,a2
+ lea (Player_1).w,a1
+ move.w (Ctrl_1).w,d0
bra.w Tails_Carry_Sonic
; ---------------------------------------------------------------------------
@@ -26942,14 +26952,14 @@ loc_141F2: loc_1421C:
move.w #0,($FFFFF702).w
move.b #-$10,$25(a0)
- move.w #0,($FFFFF66A).w
+ move.w #0,(Ctrl_2_logical).w
move.b ($FFFFFE05).w,d0
andi.b #7,d0
bne.s loc_1423E
- ori.w #$7070,($FFFFF66A).w
+ ori.w #$7070,(Ctrl_2_logical).w
loc_1423E:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$90,d0
cmp.w $14(a0),d0
bcs.s locret_14252
@@ -26975,11 +26985,11 @@ loc_1425C: loc_14286:
move.w #0,($FFFFF702).w
- move.w #0,($FFFFF66A).w
+ move.w #0,(Ctrl_2_logical).w
move.b ($FFFFFE05).w,d0
andi.b #$1F,d0
bne.s loc_142A2
- ori.w #$808,($FFFFF66A).w
+ ori.w #$808,(Ctrl_2_logical).w
loc_142A2:
btst #1,$2A(a0)
@@ -27002,7 +27012,7 @@ loc_142E2: tst.b ($FFFFFAAC).w
bne.s loc_14362
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b 4(a1)
bpl.s loc_14330
tst.w ($FFFFF702).w
@@ -27010,7 +27020,7 @@ loc_142E2: cmpi.w #$300,$1A(a1)
bge.s loc_14330
move.w #0,$18(a0)
- move.w #0,($FFFFF66A).w
+ move.w #0,(Ctrl_2_logical).w
cmpi.w #$200,$1A(a0)
bge.s loc_14328
addq.b #1,($FFFFF70E).w
@@ -27019,7 +27029,7 @@ loc_142E2: move.b #0,($FFFFF70E).w
loc_14328:
- ori.w #$7070,($FFFFF66A).w
+ ori.w #$7070,(Ctrl_2_logical).w
loc_1432E:
bra.s loc_143AA
@@ -27051,8 +27061,8 @@ loc_14358: ; ---------------------------------------------------------------------------
loc_14362:
- move.w #0,($FFFFF66A).w
- lea ($FFFFB000).w,a1
+ move.w #0,(Ctrl_2_logical).w
+ lea (Player_1).w,a1
move.w $10(a0),d0
move.w $14(a0),d1
subi.w #$10,d1
@@ -27077,9 +27087,9 @@ loc_143A6: loc_143AA:
- lea ($FFFFF73E).w,a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF604).w,d0
+ lea (Flying_carrying_Sonic_flag).w,a2
+ lea (Player_1).w,a1
+ move.w (Ctrl_1).w,d0
bra.w *+4
; =============== S U B R O U T I N E =======================================
@@ -27151,7 +27161,7 @@ loc_14474: move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
addi.w #$1C,$14(a1)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_14492
subi.w #$38,$14(a1)
@@ -27162,7 +27172,7 @@ loc_14492: andi.b #1,d0
or.b d0,4(a1)
or.b d0,$2A(a1)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_144BA
eori.b #2,4(a1)
@@ -27193,7 +27203,7 @@ loc_144F8: move.w $1A(a0),($FFFFB01A).w
move.w $1A(a0),($FFFFF74C).w
movem.l d0-a6,-(sp)
- lea ($FFFFB000).w,a0
+ lea (Player_1).w,a0
bsr.w sub_11EEC
movem.l (sp)+,d0-a6
rts
@@ -27233,7 +27243,7 @@ loc_14542: move.w $14(a1),d1
sub.w $14(a0),d1
subi.w #$20,d1
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1456C
addi.w #$50,d1
@@ -27244,7 +27254,7 @@ loc_1456C: bne.s locret_1459C
cmpi.b #4,5(a1)
bcc.s locret_1459C
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_1459C
tst.b $3D(a1)
bne.s locret_1459C
@@ -27288,7 +27298,7 @@ sub_1459E: move.w $18(a0),$18(a1)
move.w $1A(a0),($FFFFF74C).w
move.w $1A(a0),$1A(a1)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s locret_14630
subi.w #$38,$14(a1)
eori.b #2,4(a1)
@@ -27302,7 +27312,7 @@ locret_14630: sub_14632:
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
bne.s loc_1463A
locret_14638:
@@ -27311,7 +27321,7 @@ locret_14638: ; ---------------------------------------------------------------------------
loc_1463A:
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
cmp.w $14(a0),d0
bge.s loc_146BA
bset #6,$2A(a0)
@@ -27319,13 +27329,13 @@ loc_1463A: addq.b #1,($FFFFF64D).w
movea.l a0,a1
bsr.w Player_ResetAirTimer
- move.l #Obj_Air_CountDown,($FFFFCB76).w
+ move.l #Obj_Air_CountDown,(Breathing_bubbles_P2).w
move.b #-$7F,($FFFFCBA2).w
move.l a0,($FFFFCBB6).w
move.w #$300,(a4)
move.w #6,2(a4)
move.w #$40,4(a4)
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
beq.s loc_1468E
move.w #$400,(a4)
move.w #$C,2(a4)
@@ -27356,7 +27366,7 @@ loc_146BA: move.w #$600,(a4)
move.w #$C,2(a4)
move.w #$80,4(a4)
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
beq.s loc_146F4
move.w #$800,(a4)
move.w #$18,2(a4)
@@ -27395,12 +27405,12 @@ loc_1473E: ; ---------------------------------------------------------------------------
Tails_Stand_Path:
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
beq.s loc_14760
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
clr.b $2E(a1)
bset #1,$2A(a1)
- clr.w ($FFFFF73E).w
+ clr.w (Flying_carrying_Sonic_flag).w
loc_14760:
bsr.w Tails_Spindash
@@ -27462,11 +27472,11 @@ Tails_FlyingSwimming: movem.l a4-a6,-(sp)
bsr.w sub_153C2
movem.l (sp)+,a4-a6
- tst.w ($FFFFFF08).w
+ tst.w (Player_mode).w
bne.s locret_14820
- lea ($FFFFF73E).w,a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF604).w,d0
+ lea (Flying_carrying_Sonic_flag).w,a2
+ lea (Player_1).w,a1
+ move.w (Ctrl_1).w,d0
bsr.w Tails_Carry_Sonic
locret_14820:
@@ -27502,7 +27512,7 @@ loc_1485E: ; ---------------------------------------------------------------------------
loc_14860:
- move.b ($FFFFF66B).w,d0
+ move.b (Ctrl_2_pressed_logical).w,d0
andi.b #$70,d0
beq.s loc_1488C
cmpi.w #-$100,$1A(a0)
@@ -27511,7 +27521,7 @@ loc_14860: beq.s loc_1488C
btst #6,$2A(a0)
beq.s loc_14886
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
bne.s loc_1488C
loc_14886:
@@ -27522,7 +27532,7 @@ loc_1488C: addi.w #8,$1A(a0)
loc_14892:
- move.w ($FFFFEE18).w,d0
+ move.w (Camera_min_Y_pos).w,d0
addi.w #$10,d0
cmp.w $14(a0),d0
blt.s Tails_Set_Flying_Animation
@@ -27540,14 +27550,14 @@ Tails_Set_Flying_Animation: btst #6,$2A(a0)
bne.s loc_14914
moveq #$20,d0
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_148F4
tst.w $1A(a0)
bpl.s loc_148C4
moveq #$21,d0
loc_148C4:
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
beq.s loc_148CC
addq.b #2,d0
@@ -27594,7 +27604,7 @@ loc_14914: moveq #$26,d0
loc_1491E:
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
beq.s loc_14926
moveq #$27,d0
@@ -27611,12 +27621,12 @@ loc_1492E: ; ---------------------------------------------------------------------------
Tails_Spin_Path:
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
beq.s loc_1494C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
clr.b $2E(a1)
bset #1,$2A(a1)
- clr.w ($FFFFF73E).w
+ clr.w (Flying_carrying_Sonic_flag).w
loc_1494C:
tst.b $3D(a0)
@@ -27655,12 +27665,12 @@ locret_149A0: ; ---------------------------------------------------------------------------
Tails_Spin_Freespace:
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
beq.s loc_149BA
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
clr.b $2E(a1)
bset #1,$2A(a1)
- clr.w ($FFFFF73E).w
+ clr.w (Flying_carrying_Sonic_flag).w
loc_149BA:
bsr.w Tails_JumpHeight
@@ -27688,12 +27698,12 @@ Tails_InputAcceleration_Path: bmi.w loc_14B5C
tst.w $32(a0)
bne.w loc_14B14
- btst #2,($FFFFF66A).w
+ btst #2,(Ctrl_2_logical).w
beq.s loc_14A0A
bsr.w sub_14C20
loc_14A0A:
- btst #3,($FFFFF66A).w
+ btst #3,(Ctrl_2_logical).w
beq.s loc_14A16
bsr.w sub_14CAC
@@ -27752,14 +27762,14 @@ loc_14A98: loc_14AA0:
; Tails_InputAcceleration_Path+86j ...
- btst #1,($FFFFF66A).w
+ btst #1,(Ctrl_2_logical).w
beq.s loc_14ADA
move.b #8,$20(a0)
addq.b #1,$39(a0)
cmpi.b #$78,$39(a0)
bcs.s loc_14B1A
move.b #$78,$39(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_14AD0
cmpi.w #8,(a5)
beq.s loc_14B26
@@ -27775,14 +27785,14 @@ loc_14AD0: ; ---------------------------------------------------------------------------
loc_14ADA:
- btst #0,($FFFFF66A).w
+ btst #0,(Ctrl_2_logical).w
beq.s loc_14B14
move.b #7,$20(a0)
addq.b #1,$39(a0)
cmpi.b #$78,$39(a0)
bcs.s loc_14B1A
move.b #$78,$39(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_14B0A
cmpi.w #$C8,(a5)
beq.s loc_14B26
@@ -27813,12 +27823,12 @@ loc_14B24: loc_14B26:
; Tails_InputAcceleration_Path+EAj ...
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
beq.s loc_14B30
move.w #$C,d5
loc_14B30:
- move.b ($FFFFF66A).w,d0
+ move.b (Ctrl_2_logical).w,d0
andi.b #$C,d0
bne.s loc_14B5C
move.w $1C(a0),d0
@@ -27878,7 +27888,7 @@ loc_14BA8: tst.w d1
bpl.s locret_14C1E
asl.w #8,d1
- cmpi.b #8,($FFFFFE10).w
+ cmpi.b #8,(Current_zone).w
bne.s loc_14BCA
tst.b d0
bpl.s loc_14BCA
@@ -28055,7 +28065,7 @@ sub_14D32: asl.w #1,d6
move.w 2(a4),d5
asr.w #1,d5
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
beq.s loc_14D46
move.w #6,d5
@@ -28067,12 +28077,12 @@ loc_14D46: bmi.w loc_14DF0
tst.w $32(a0)
bne.s loc_14D78
- btst #2,($FFFFF66A).w
+ btst #2,(Ctrl_2_logical).w
beq.s loc_14D6C
bsr.w sub_14E32
loc_14D6C:
- btst #3,($FFFFF66A).w
+ btst #3,(Ctrl_2_logical).w
beq.s loc_14D78
bsr.w sub_14E56
@@ -28116,7 +28126,7 @@ loc_14DA2: move.b #5,$20(a0)
sub.b $44(a0),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_14DD8
neg.w d0
@@ -28222,7 +28232,7 @@ Tails_InputAcceleration_Freespace: btst #4,$2A(a0)
bne.s loc_14ECC
move.w $18(a0),d0
- btst #2,($FFFFF66A).w
+ btst #2,(Ctrl_2_logical).w
beq.s loc_14EAC
bset #0,$2A(a0)
sub.w d5,d0
@@ -28237,7 +28247,7 @@ Tails_InputAcceleration_Freespace: loc_14EAC:
; Tails_InputAcceleration_Freespace+2Aj ...
- btst #3,($FFFFF66A).w
+ btst #3,(Ctrl_2_logical).w
beq.s loc_14EC8
bclr #0,$2A(a0)
add.w d5,d0
@@ -28303,11 +28313,11 @@ Tails_Check_Screen_Boundaries: asl.l #8,d0
add.l d0,d1
swap d1
- move.w ($FFFFEE14).w,d0
+ move.w (Camera_min_X_pos).w,d0
addi.w #$10,d0
cmp.w d1,d0
bhi.s loc_14F5C
- move.w ($FFFFEE16).w,d0
+ move.w (Camera_max_X_pos).w,d0
addi.w #$128,d0
cmp.w d1,d0
bcs.s loc_14F5C
@@ -28315,9 +28325,9 @@ Tails_Check_Screen_Boundaries: loc_14F30:
tst.b ($FFFFF665).w
bne.s locret_14F4A
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_14F4C
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$E0,d0
cmp.w $14(a0),d0
blt.s loc_14F56
@@ -28328,7 +28338,7 @@ locret_14F4A: ; ---------------------------------------------------------------------------
loc_14F4C:
- move.w ($FFFFEE18).w,d0
+ move.w (Camera_min_Y_pos).w,d0
cmp.w $14(a0),d0
blt.s locret_14F4A
@@ -28352,10 +28362,10 @@ loc_14F5C: Tails_Spin:
tst.b $2B(a0)
bmi.s locret_14FA8
- move.b ($FFFFF66A).w,d0
+ move.b (Ctrl_2_logical).w,d0
andi.b #$C,d0
bne.s locret_14FA8
- btst #1,($FFFFF66A).w
+ btst #1,(Ctrl_2_logical).w
beq.s loc_14FAA
move.w $1C(a0),d0
bpl.s loc_14F94
@@ -28391,7 +28401,7 @@ loc_14FC4: move.b #7,$1F(a0)
move.b #2,$20(a0)
addq.w #1,$14(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_14FEA
subq.w #2,$14(a0)
@@ -28412,12 +28422,12 @@ locret_15000: Tails_Jump:
- move.b ($FFFFF66B).w,d0
+ move.b (Ctrl_2_pressed_logical).w,d0
andi.b #$70,d0
beq.w locret_150D0
moveq #0,d0
move.b $26(a0),d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_15024
addi.b #$40,d0
neg.b d0
@@ -28464,7 +28474,7 @@ loc_1504C: move.b $1E(a0),d0
sub.b $44(a0),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_150CC
neg.w d0
@@ -28496,7 +28506,7 @@ Tails_JumpHeight: loc_150F0:
cmp.w $1A(a0),d1
ble.s Tails_Test_For_Flight
- move.b ($FFFFF66A).w,d0
+ move.b (Ctrl_2_logical).w,d0
andi.b #$70,d0
bne.s locret_15104
move.w d1,$1A(a0)
@@ -28520,18 +28530,18 @@ locret_1511A: Tails_Test_For_Flight:
tst.b $2F(a0)
bne.w locret_151A2
- move.b ($FFFFF66B).w,d0
+ move.b (Ctrl_2_pressed_logical).w,d0
andi.b #$70,d0
beq.w locret_151A2
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_15156
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
bne.s loc_1515C
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcs.s loc_1515C
- cmpi.w #$32,($FFFFFE20).w
+ cmpi.w #$32,(Ring_count).w
bcs.s loc_1515C
- tst.b ($FFFFFE1E).w
+ tst.b (Update_HUD_timer).w
bne.s loc_151A4
bra.s loc_1515C
; ---------------------------------------------------------------------------
@@ -28549,7 +28559,7 @@ loc_1515C: move.b $45(a0),$1F(a0)
sub.b $44(a0),d1
ext.w d1
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_15188
neg.w d0
@@ -28570,11 +28580,11 @@ locret_151A2: loc_151A4:
move.b #1,($FFFFF65F).w
move.b #$F,($FFFFF65E).w
- move.b #1,($FFFFF667).w
+ move.b #1,(Super_Tails_flag).w
move.w #$3C,($FFFFF670).w
move.b #-$7F,$2E(a0)
move.b #$29,$20(a0)
- move.l #Obj_HyperTails_Birds,($FFFFCD7C).w
+ move.l #Obj_HyperTails_Birds,(Hyper_Sonic_stars).w
move.w #$800,(a4)
move.w #$18,2(a4)
move.w #$C0,4(a4)
@@ -28595,7 +28605,7 @@ Tails_Spindash: bne.s loc_1527C
cmpi.b #8,$20(a0)
bne.s locret_1527A
- move.b ($FFFFF66B).w,d0
+ move.b (Ctrl_2_pressed_logical).w,d0
andi.b #$70,d0
beq.w locret_1527A
move.b #9,$20(a0)
@@ -28637,14 +28647,14 @@ locret_1527A: ; ---------------------------------------------------------------------------
loc_1527C:
- move.b ($FFFFF66A).w,d0
+ move.b (Ctrl_2_logical).w,d0
btst #1,d0
bne.w loc_15332
move.b #$E,$1E(a0)
move.b #7,$1F(a0)
move.b #2,$20(a0)
addq.w #1,$14(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_152A8
subq.w #2,$14(a0)
@@ -28654,7 +28664,7 @@ loc_152A8: move.b $3E(a0),d0
add.w d0,d0
move.w word_1530E(pc,d0.w),$1C(a0)
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
beq.s loc_152C8
move.w word_15320(pc,d0.w),$1C(a0)
@@ -28665,10 +28675,10 @@ loc_152C8: andi.w #$1F00,d0
neg.w d0
addi.w #$2000,d0
- lea ($FFFFEE24).w,a1
+ lea (H_scroll_frame_offset).w,a1
cmpa.w #$B000,a0
beq.s loc_152EA
- lea ($FFFFEE28).w,a1
+ lea (H_scroll_frame_offset_P2).w,a1
loc_152EA:
move.w d0,(a1)
@@ -28714,8 +28724,9 @@ loc_15332: loc_1534A:
; Tails_Spindash+146j
- move.b ($FFFFF66B).w,d0
+ move.b (Ctrl_2_pressed_logical).w,d0
andi.b #$70,d0
+
beq.w loc_1537A
move.w #$900,$20(a0)
move.w #$FFAB,d0
@@ -28769,10 +28780,10 @@ locret_153C0: sub_153C2:
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a0)
beq.s loc_153D6
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_153D6:
move.b $47(a0),d5
@@ -28814,7 +28825,7 @@ loc_1542C: loc_15444:
move.b d3,$26(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_15450
neg.w d1
@@ -28873,7 +28884,7 @@ loc_154C4: neg.w d1
cmpi.w #$14,d1
bcc.s loc_154EE
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_154DC
neg.w d1
@@ -28908,7 +28919,7 @@ loc_1550E: bsr.w sub_11FD6
tst.w d1
bpl.s locret_15536
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1551E
neg.w d1
@@ -28942,7 +28953,7 @@ loc_1555C: bsr.w sub_11FEE
tst.w d1
bpl.s locret_1559A
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1556C
neg.w d1
@@ -28981,7 +28992,7 @@ loc_155B4: bsr.w sub_11FEE
tst.w d1
bpl.s loc_155D6
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_155C4
neg.w d1
@@ -29005,7 +29016,7 @@ loc_155E2: bsr.w sub_11FD6
tst.w d1
bpl.s locret_1560A
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_155F2
neg.w d1
@@ -29045,7 +29056,7 @@ Tails_TouchFloor: move.b #0,$20(a0)
sub.b $44(a0),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1564A
neg.w d0
@@ -29066,7 +29077,7 @@ loc_1565E: bclr #5,$2A(a0)
bclr #4,$2A(a0)
move.b #0,$40(a0)
- move.w #0,($FFFFF7D0).w
+ move.w #0,(Chain_bonus_counter).w
move.b #0,$27(a0)
move.b #0,$2D(a0)
move.b #0,$30(a0)
@@ -29079,25 +29090,25 @@ loc_1565E: loc_1569C:
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_156BE
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_156BE
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_156BE
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
rts
; ---------------------------------------------------------------------------
loc_156BE:
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
beq.s loc_156D6
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
clr.b $2E(a1)
bset #1,$2A(a1)
- clr.w ($FFFFF73E).w
+ clr.w (Flying_carrying_Sonic_flag).w
loc_156D6:
jsr (MoveSprite_TestGravity2).l
@@ -29107,9 +29118,9 @@ loc_156D6: subi.w #$20,$1A(a0)
loc_156F0:
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
bne.s loc_15700
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
loc_15700:
@@ -29125,9 +29136,9 @@ loc_15700: sub_15716:
tst.b ($FFFFF665).w
bne.s loc_15742
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_15734
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$E0,d0
cmp.w $14(a0),d0
blt.w loc_15788
@@ -29135,7 +29146,7 @@ sub_15716: ; ---------------------------------------------------------------------------
loc_15734:
- move.w ($FFFFEE18).w,d0
+ move.w (Camera_min_Y_pos).w,d0
cmp.w $14(a0),d0
blt.s loc_15742
bra.w loc_15788
@@ -29172,25 +29183,25 @@ loc_15788: loc_1578E:
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_157B0
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_157B0
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_157B0
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
rts
; ---------------------------------------------------------------------------
loc_157B0:
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
beq.s loc_157C8
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
clr.b $2E(a1)
bset #1,$2A(a1)
- clr.w ($FFFFF73E).w
+ clr.w (Flying_carrying_Sonic_flag).w
loc_157C8:
bsr.w sub_123C2
@@ -29206,7 +29217,7 @@ loc_157E0: beq.s locret_157F2
subq.w #1,$3E(a0)
bne.s locret_157F2
- move.w #1,($FFFFFE02).w
+ move.w #1,(Restart_level_flag).w
locret_157F2:
@@ -29215,9 +29226,9 @@ locret_157F2: loc_157F4:
- tst.w ($FFFFEE04).w
+ tst.w (H_scroll_amount_P2).w
bne.s loc_15806
- tst.w ($FFFFEE06).w
+ tst.w (V_scroll_amount_P2).w
bne.s loc_15806
move.b #2,5(a0)
@@ -29228,12 +29239,12 @@ loc_15806: ; ---------------------------------------------------------------------------
loc_15810:
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
beq.s loc_15828
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
clr.b $2E(a1)
bset #1,$2A(a1)
- clr.w ($FFFFF73E).w
+ clr.w (Flying_carrying_Sonic_flag).w
loc_15828:
jsr (MoveSprite_TestGravity2).l
@@ -29247,10 +29258,10 @@ loc_15828: sub_15842:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_1585A
bsr.s Animate_Tails
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_15856
eori.b #2,4(a0)
@@ -29489,9 +29500,9 @@ loc_15A3C: move.w $18(a2),d1
move.w $1A(a2),d2
jsr (GetArcTan).l
- cmpi.b #$15,($FFFFFE10).w
+ cmpi.b #$15,(Current_zone).w
bne.s loc_15A5E
- add.b ($FFFFE400).w,d0
+ add.b (Stat_table).w,d0
loc_15A5E:
moveq #0,d1
@@ -29514,7 +29525,7 @@ loc_15A7A: andi.b #-4,4(a0)
eor.b d1,d2
or.b d2,4(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_15A92
eori.b #2,4(a0)
@@ -29579,6 +29590,7 @@ loc_15CA6: move.w d1,d3
lsr.w #8,d3
andi.w #$F0,d3
+
addi.w #$10,d3
andi.w #$FFF,d1
lsl.l #5,d1
@@ -29993,7 +30005,7 @@ loc_1612C: loc_1613C:
lea (AniTails_Tail).l,a1
bsr.w loc_15868
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1615A
cmpi.b #3,$20(a0)
beq.s loc_1615A
@@ -30067,23 +30079,23 @@ Ani_Tails2P_Tail:include "General\Sprites\Tails\Anim - Tails 2P Tail.asm" ; ---------------------------------------------------------------------------
Obj_MGZ2_BossTransition:
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
beq.w loc_163D0
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$40,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$100,d0
move.w d0,$14(a0)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.b 4(a1)
bmi.s loc_16328
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
subq.w #1,$14(a1)
- move.l #Obj_Tails,($FFFFB04A).w
+ move.l #Obj_Tails,(Player_2).w
move.w #$12,($FFFFF708).w
- move.w #0,($FFFFF73E).w
+ move.w #0,(Flying_carrying_Sonic_flag).w
loc_16328:
move.w #$168,$30(a0)
@@ -30096,9 +30108,9 @@ loc_16334: loc_16340:
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
bne.s loc_16384
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $14(a0),d0
cmp.w $14(a1),d0
bcc.s loc_16384
@@ -30120,7 +30132,7 @@ loc_16384: bmi.s locret_163CE
cmpi.b #2,($FFFFB005).w
bne.s locret_163CE
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w $14(a0),d0
cmp.w $14(a1),d0
bcc.s locret_163CE
@@ -30140,10 +30152,10 @@ locret_163CE: ; ---------------------------------------------------------------------------
loc_163D0:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$40,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$100,d0
move.w d0,$14(a0)
move.w #$168,$30(a0)
@@ -30153,12 +30165,12 @@ loc_163F4: subq.w #1,$30(a0)
bne.s loc_1640A
move.l #loc_1640A,(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),$10(a1)
loc_1640A:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $14(a0),d0
cmp.w $14(a1),d0
bcc.s locret_16442
@@ -30178,16 +30190,16 @@ locret_16442: ; ---------------------------------------------------------------------------
Obj_Knuckles:
- lea ($FFFFF760).w,a4
- lea ($FFFFEE2C).w,a5
- lea ($FFFFCC54).w,a6
- tst.w ($FFFFFE08).w
+ lea (Sonic_Knux_top_speed).w,a4
+ lea (Distance_from_screen_top).w,a5
+ lea (Dust).w,a6
+ tst.w (Debug_placement_mode).w
beq.s loc_1648E
- cmpi.b #1,($FFFFFE09).w
+ cmpi.b #1,(Debug_placement_type).w
beq.s loc_16488
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_1646C
- move.w #0,($FFFFFE08).w
+ move.w #0,(Debug_placement_mode).w
loc_1646C:
addq.b #1,$22(a0)
@@ -30235,23 +30247,23 @@ loc_164AA: move.w #$600,(a4)
move.w #$C,2(a4)
move.w #$80,4(a4)
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.s loc_16534
move.w #$680,$A(a0)
move.b #$C,$46(a0)
move.b #$D,$47(a0)
- cmpi.b #2,($FFFFFE48).w
+ cmpi.b #2,(Special_bonus_entry_flag).w
beq.s loc_16534
- move.w $10(a0),($FFFFFE2E).w
- move.w $14(a0),($FFFFFE30).w
- move.w $A(a0),($FFFFFE38).w
- move.w $46(a0),($FFFFFE3A).w
+ move.w $10(a0),(Saved_X_pos).w
+ move.w $14(a0),(Saved_Y_pos).w
+ move.w $A(a0),(Saved_art_tile).w
+ move.w $46(a0),(Saved_solid_bits).w
loc_16534:
move.b #0,$30(a0)
move.b #4,$31(a0)
- move.b #0,($FFFFFE19).w
+ move.b #0,(Super_Sonic_Knux_flag).w
move.b #$1E,$2C(a0)
subi.w #$20,$10(a0)
addi.w #4,$14(a0)
@@ -30262,20 +30274,20 @@ loc_16534: ; ---------------------------------------------------------------------------
loc_1656C:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_165A2
- bclr #6,($FFFFF605).w
+ bclr #6,(Ctrl_1_pressed).w
beq.s loc_16580
- eori.b #1,($FFFFF7C6).w
+ eori.b #1,(Reverse_gravity_flag).w
loc_16580:
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_165A2
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
- btst #5,($FFFFF604).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
+ btst #5,(Ctrl_1).w
beq.s locret_165A0
- move.w #2,($FFFFFE08).w
+ move.w #2,(Debug_placement_mode).w
locret_165A0:
rts
@@ -30283,9 +30295,9 @@ locret_165A0: loc_165A2:
- tst.b ($FFFFF7CA).w
+ tst.b (Ctrl_1_locked).w
bne.s loc_165AE
- move.w ($FFFFF604).w,($FFFFF602).w
+ move.w (Ctrl_1).w,(Ctrl_1_logical).w
loc_165AE:
btst #0,$2E(a0)
@@ -30304,9 +30316,9 @@ loc_165BE: movem.l (sp)+,a4-a6
loc_165D8:
- cmpi.w #$FF00,($FFFFEE18).w
+ cmpi.w #$FF00,(Camera_min_Y_pos).w
bne.s loc_165E8
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
loc_165E8:
@@ -30327,7 +30339,7 @@ loc_16614: btst #1,$2E(a0)
bne.s loc_16630
bsr.w Animate_Knuckles
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1662C
eori.b #2,4(a0)
@@ -30372,11 +30384,11 @@ loc_1665E: bne.s loc_1669A
subq.b #1,$35(a0)
bne.s loc_1669A
- tst.b ($FFFFF7AA).w
+ tst.b (Boss_flag).w
bne.s loc_16694
cmpi.b #$C,$2C(a0)
bcs.s loc_16694
- move.w ($FFFFFF90).w,d0
+ move.w (Level_music).w,d0
jsr (Play_Sound).l
loc_16694:
@@ -30397,7 +30409,7 @@ loc_1669A: move.w #$600,(a4)
move.w #$C,2(a4)
move.w #$80,4(a4)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_166DE
move.w #$800,(a4)
move.w #$18,2(a4)
@@ -30419,7 +30431,7 @@ locret_166EC: sub_166EE:
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
bne.s loc_166F6
locret_166F4:
@@ -30428,7 +30440,7 @@ locret_166F4: ; ---------------------------------------------------------------------------
loc_166F6:
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
cmp.w $14(a0),d0
bge.s loc_1676E
bset #6,$2A(a0)
@@ -30436,13 +30448,13 @@ loc_166F6: addq.b #1,($FFFFF64D).w
movea.l a0,a1
bsr.w Player_ResetAirTimer
- move.l #Obj_Air_CountDown,($FFFFCB2C).w
+ move.l #Obj_Air_CountDown,(Breathing_bubbles).w
move.b #-$7F,($FFFFCB58).w
move.l a0,($FFFFCB6C).w
move.w #$300,(a4)
move.w #6,2(a4)
move.w #$40,4(a4)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_1674A
move.w #$400,(a4)
move.w #$C,2(a4)
@@ -30469,7 +30481,7 @@ loc_1676E: move.w #$600,(a4)
move.w #$C,2(a4)
move.w #$80,4(a4)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_167A8
move.w #$800,(a4)
move.w #$18,2(a4)
@@ -30582,7 +30594,7 @@ sub_16890: beq.s loc_1690E
btst #5,($FFFFF74E).w
bne.w loc_1696C
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
andi.b #$70,d0
bne.s loc_1690A
move.b #2,$2F(a0)
@@ -30658,7 +30670,7 @@ loc_16996: loc_169A6:
moveq #$4A,d0
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bpl.s loc_169C2
cmpi.w #$480,$1C(a0)
bcs.s loc_169C2
@@ -30687,7 +30699,7 @@ loc_16A00: ext.w d0
sub.w d0,d3
subq.w #1,d3
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_16A34
loc_16A14:
@@ -30722,7 +30734,7 @@ loc_16A58: ext.w d0
add.w d0,d3
addq.w #1,d3
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_16A34
bra.s loc_16A14
; ---------------------------------------------------------------------------
@@ -30754,7 +30766,7 @@ loc_16AA6: move.b $1E(a0),d0
sub.b $44(a0),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_16AD6
neg.w d0
@@ -30779,7 +30791,7 @@ locret_16B04: ; ---------------------------------------------------------------------------
loc_16B06:
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
andi.b #$70,d0
beq.s loc_16B2A
tst.w $18(a0)
@@ -30805,7 +30817,7 @@ loc_16B2A: move.b $1E(a0),d0
sub.b $44(a0),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_16B4E
neg.w d0
@@ -30823,7 +30835,7 @@ loc_16B64: bsr.w sub_11FD6
cmpi.w #$E,d1
bge.s loc_16B96
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_16B7A
neg.w d1
@@ -30860,17 +30872,17 @@ loc_16BB6: move.w #0,$1C(a0)
move.w #0,$18(a0)
move.w #0,$1A(a0)
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$D,$47(a0)
beq.s loc_16BFA
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_16BFA:
move.b $47(a0),d5
moveq #0,d1
- btst #0,($FFFFF602).w
+ btst #0,(Ctrl_1_logical).w
beq.w loc_16D10
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.w loc_16DA8
move.w $14(a0),d2
subi.w #$B,d2
@@ -30893,13 +30905,13 @@ loc_16BFA: loc_16C4C:
subq.w #1,$14(a0)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_16C5A
subq.w #1,$14(a0)
loc_16C5A:
moveq #1,d1
- move.w ($FFFFEE18).w,d0
+ move.w (Camera_min_Y_pos).w,d0
cmpi.w #-$100,d0
beq.w loc_16E10
addi.w #$10,d0
@@ -30949,7 +30961,7 @@ loc_16C9E: loc_16CFC:
subq.w #1,$14(a0)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_16D0A
subq.w #1,$14(a0)
@@ -30959,9 +30971,9 @@ loc_16D0A: ; ---------------------------------------------------------------------------
loc_16D10:
- btst #1,($FFFFF602).w
+ btst #1,(Ctrl_1_logical).w
beq.w loc_16E10
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.w loc_16C7C
cmpi.b #$BD,$22(a0)
bne.s loc_16D44
@@ -31000,7 +31012,7 @@ loc_16D6E: loc_16D96:
addq.w #1,$14(a0)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_16DA4
addq.w #1,$14(a0)
@@ -31031,15 +31043,15 @@ loc_16DA8: loc_16DE2:
addq.w #1,$14(a0)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_16DF0
addq.w #1,$14(a0)
loc_16DF0:
moveq #1,d1
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
beq.w loc_16E10
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$D0,d0
cmp.w $14(a0),d0
bge.w loc_16E10
@@ -31047,7 +31059,7 @@ loc_16DF0: loc_16E10:
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
andi.b #3,d0
bne.s loc_16E34
move.b $46(a0),d5
@@ -31081,7 +31093,7 @@ loc_16E60: move.b #$20,$24(a0)
move.b #0,$23(a0)
- move.w ($FFFFF602).w,d0
+ move.w (Ctrl_1_logical).w,d0
andi.w #$70,d0
beq.s locret_16EB8
move.w #-$380,$1A(a0)
@@ -31147,7 +31159,7 @@ loc_16F1A: add.w d0,$10(a0)
move.b (a1)+,d1
ext.w d1
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_16F2A
neg.w d1
@@ -31258,7 +31270,7 @@ loc_1700E: andi.b #$7F,d1
bne.s loc_17028
addq.w #4,d0
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_17028
addq.w #8,d0
@@ -31266,7 +31278,7 @@ loc_17028: move.w d0,$1C(a0)
move.b $25(a0),d0
- btst #2,($FFFFF602).w
+ btst #2,(Ctrl_1_logical).w
beq.s loc_17048
cmpi.b #$80,d0
beq.s loc_17048
@@ -31281,7 +31293,7 @@ loc_17044: loc_17048:
- btst #3,($FFFFF602).w
+ btst #3,(Ctrl_1_logical).w
beq.s loc_1705C
tst.b d0
beq.s loc_1705C
@@ -31320,7 +31332,7 @@ loc_1708E: addi.w #$20,$1A(a0)
loc_17094:
- move.w ($FFFFEE18).w,d0
+ move.w (Camera_min_Y_pos).w,d0
cmpi.w #-$100,d0
beq.w loc_170B4
addi.w #$10,d0
@@ -31406,12 +31418,12 @@ Knux_InputAcceleration_Path: bmi.w loc_17364
tst.w $32(a0)
bne.w loc_1731C
- btst #2,($FFFFF602).w
+ btst #2,(Ctrl_1_logical).w
beq.s loc_17168
bsr.w sub_17428
loc_17168:
- btst #3,($FFFFF602).w
+ btst #3,(Ctrl_1_logical).w
beq.s loc_17174
bsr.w sub_174B4
@@ -31513,14 +31525,14 @@ loc_1728C: loc_172A8:
; Knux_InputAcceleration_Path+8Aj ...
- btst #1,($FFFFF602).w
+ btst #1,(Ctrl_1_logical).w
beq.s loc_172E2
move.b #8,$20(a0)
addq.b #1,$39(a0)
cmpi.b #$78,$39(a0)
bcs.s loc_17322
move.b #$78,$39(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_172D8
cmpi.w #8,(a5)
beq.s loc_1732E
@@ -31536,14 +31548,14 @@ loc_172D8: ; ---------------------------------------------------------------------------
loc_172E2:
- btst #0,($FFFFF602).w
+ btst #0,(Ctrl_1_logical).w
beq.s loc_1731C
move.b #7,$20(a0)
addq.b #1,$39(a0)
cmpi.b #$78,$39(a0)
bcs.s loc_17322
move.b #$78,$39(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_17312
cmpi.w #$C8,(a5)
beq.s loc_1732E
@@ -31574,12 +31586,12 @@ loc_1732C: loc_1732E:
; Knux_InputAcceleration_Path+194j ...
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_17338
move.w #$C,d5
loc_17338:
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
andi.b #$C,d0
bne.s loc_17364
move.w $1C(a0),d0
@@ -31639,7 +31651,7 @@ loc_173B0: tst.w d1
bpl.s locret_17426
asl.w #8,d1
- cmpi.b #8,($FFFFFE10).w
+ cmpi.b #8,(Current_zone).w
bne.s loc_173D2
tst.b d0
bpl.s loc_173D2
@@ -31815,7 +31827,7 @@ sub_1753A: asl.w #1,d6
move.w 2(a4),d5
asr.w #1,d5
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_1754E
move.w #6,d5
@@ -31827,12 +31839,12 @@ loc_1754E: bmi.w loc_175F8
tst.w $32(a0)
bne.s loc_17580
- btst #2,($FFFFF602).w
+ btst #2,(Ctrl_1_logical).w
beq.s loc_17574
bsr.w sub_1763A
loc_17574:
- btst #3,($FFFFF602).w
+ btst #3,(Ctrl_1_logical).w
beq.s loc_17580
bsr.w sub_1765E
@@ -31876,7 +31888,7 @@ loc_175AA: move.b #5,$20(a0)
sub.b $44(a0),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_175E0
neg.w d0
@@ -31982,7 +31994,7 @@ sub_17680: btst #4,$2A(a0)
bne.s loc_176D4
move.w $18(a0),d0
- btst #2,($FFFFF602).w
+ btst #2,(Ctrl_1_logical).w
beq.s loc_176B4
bset #0,$2A(a0)
sub.w d5,d0
@@ -31997,7 +32009,7 @@ sub_17680: loc_176B4:
- btst #3,($FFFFF602).w
+ btst #3,(Ctrl_1_logical).w
beq.s loc_176D0
bclr #0,$2A(a0)
add.w d5,d0
@@ -32057,12 +32069,12 @@ locret_1770E: Knux_Jump:
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
andi.b #$70,d0
beq.w locret_177E0
moveq #0,d0
move.b $26(a0),d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_17732
addi.b #$40,d0
neg.b d0
@@ -32109,7 +32121,7 @@ loc_1775C: move.b $1E(a0),d0
sub.b $44(a0),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_177DC
neg.w d0
@@ -32142,7 +32154,7 @@ Knux_JumpHeight: loc_17800:
cmp.w $1A(a0),d1
ble.w Knux_Test_For_Glide
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
andi.b #$70,d0
bne.s locret_17816
move.w d1,$1A(a0)
@@ -32166,22 +32178,22 @@ locret_1782C: Knux_Test_For_Glide:
tst.b $2F(a0)
bne.w locret_178CC
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
andi.b #$70,d0
beq.w locret_178CC
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bne.s loc_1786C
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcc.s loc_1785E
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
bcs.s loc_1786C
tst.b ($FFFFFFBA).w
bne.s loc_1786C
loc_1785E:
- cmpi.w #$32,($FFFFFE20).w
+ cmpi.w #$32,(Ring_count).w
bcs.s loc_1786C
- tst.b ($FFFFFE1E).w
+ tst.b (Update_HUD_timer).w
bne.s loc_178CE
loc_1786C:
@@ -32222,16 +32234,16 @@ loc_178CE: move.w #$3C,($FFFFF670).w
move.b #-$7F,$2E(a0)
move.b #$1F,$20(a0)
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcs.s loc_17904
- move.b #-1,($FFFFFE19).w
- move.l #Obj_HyperSonicKnux_Trail,($FFFFCBC0).w
+ move.b #-1,(Super_Sonic_Knux_flag).w
+ move.l #Obj_HyperSonicKnux_Trail,(Super_stars).w
bra.s loc_17912
; ---------------------------------------------------------------------------
loc_17904:
- move.b #1,($FFFFFE19).w
- move.l #Obj_SuperSonicKnux_Stars,($FFFFCBC0).w
+ move.b #1,(Super_Sonic_Knux_flag).w
+ move.l #Obj_SuperSonicKnux_Stars,(Super_stars).w
loc_17912:
move.w #$800,(a4)
@@ -32251,10 +32263,10 @@ loc_17912: sub_1793E:
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a0)
beq.s loc_17952
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_17952:
move.b $47(a0),d5
@@ -32288,7 +32300,7 @@ loc_179B4: bsr.w sub_11FD6
tst.w d1
bpl.s locret_179D8
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_179C4
neg.w d1
@@ -32317,7 +32329,7 @@ loc_179F2: neg.w d1
cmpi.w #$14,d1
bcc.s loc_17A1C
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_17A0A
neg.w d1
@@ -32349,7 +32361,7 @@ loc_17A36: bsr.w sub_11FD6
tst.w d1
bpl.s locret_17A60
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_17A4C
neg.w d1
@@ -32384,7 +32396,7 @@ loc_17A94: bsr.w sub_11FEE
tst.w d1
bpl.s locret_17AAE
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_17AA4
neg.w d1
@@ -32408,7 +32420,7 @@ loc_17ACA: bsr.w sub_11FEE
tst.w d1
bpl.s loc_17AEC
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_17ADA
neg.w d1
@@ -32428,7 +32440,7 @@ loc_17AEC: bsr.w sub_11FD6
tst.w d1
bpl.s locret_17B16
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_17B02
neg.w d1
@@ -32461,7 +32473,7 @@ sub_17B24: move.b #0,$20(a0)
sub.b $44(a0),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_17B56
neg.w d0
@@ -32482,7 +32494,7 @@ loc_17B6A: bclr #5,$2A(a0)
bclr #4,$2A(a0)
move.b #0,$40(a0)
- move.w #0,($FFFFF7D0).w
+ move.w #0,(Chain_bonus_counter).w
move.b #0,$27(a0)
move.b #0,$2D(a0)
move.b #0,$30(a0)
@@ -32499,12 +32511,12 @@ locret_17BB4: ; ---------------------------------------------------------------------------
loc_17BB6:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_17BD0
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_17BD0
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
rts
; ---------------------------------------------------------------------------
@@ -32517,9 +32529,9 @@ loc_17BD0: subi.w #$20,$1A(a0)
loc_17BEA:
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
bne.s loc_17BFA
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
loc_17BFA:
@@ -32535,9 +32547,9 @@ loc_17BFA: sub_17C10:
tst.b ($FFFFF665).w
bne.s loc_17C3C
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_17C2E
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$E0,d0
cmp.w $14(a0),d0
blt.w loc_17C82
@@ -32545,7 +32557,7 @@ sub_17C10: ; ---------------------------------------------------------------------------
loc_17C2E:
- move.w ($FFFFEE18).w,d0
+ move.w (Camera_min_Y_pos).w,d0
cmp.w $14(a0),d0
blt.s loc_17C3C
bra.w loc_17C82
@@ -32581,12 +32593,12 @@ loc_17C82: ; ---------------------------------------------------------------------------
loc_17C88:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_17CA2
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_17CA2
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
rts
; ---------------------------------------------------------------------------
@@ -32604,7 +32616,7 @@ loc_17CBA: beq.s locret_17CCC
subq.w #1,$3E(a0)
bne.s locret_17CCC
- move.w #1,($FFFFFE02).w
+ move.w #1,(Restart_level_flag).w
locret_17CCC:
@@ -32612,9 +32624,9 @@ locret_17CCC: ; ---------------------------------------------------------------------------
loc_17CCE:
- tst.w ($FFFFEE00).w
+ tst.w (Camera_RAM).w
bne.s loc_17CE0
- tst.w ($FFFFEE02).w
+ tst.w (V_scroll_amount).w
bne.s loc_17CE0
move.b #2,5(a0)
@@ -32625,12 +32637,12 @@ loc_17CE0: ; ---------------------------------------------------------------------------
loc_17CEA:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
beq.s loc_17D04
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_17D04
- move.w #1,($FFFFFE08).w
- clr.b ($FFFFF7CA).w
+ move.w #1,(Debug_placement_mode).w
+ clr.b (Ctrl_1_locked).w
rts
; ---------------------------------------------------------------------------
@@ -32648,7 +32660,7 @@ loc_17D04: sub_17D1E:
bsr.s Animate_Knuckles
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_17D2C
eori.b #2,4(a0)
@@ -32956,7 +32968,7 @@ loc_181DC: jsr (Animate_Sprite).l
loc_181E8:
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
cmp.w $14(a0),d0
bcs.s loc_1820E
move.b #6,5(a0)
@@ -33056,11 +33068,11 @@ sub_182D2: clr.w $1A(a0)
move.b #-$80,4(a0)
move.w $10(a0),d0
- sub.w ($FFFFEE78).w,d0
+ sub.w (Camera_X_pos).w,d0
addi.w #$80,d0
move.w d0,$10(a0)
move.w $14(a0),d0
- sub.w ($FFFFEE7C).w,d0
+ sub.w (Camera_Y_pos).w,d0
addi.w #$80,d0
move.w d0,$14(a0)
move.b #$C,5(a0)
@@ -33134,7 +33146,7 @@ Player_TestAirTimer: bcc.w locret_18680
btst #6,$2B(a2)
bne.w locret_18680
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bmi.w locret_18680
btst #6,$2A(a2)
beq.w locret_18680
@@ -33202,7 +33214,7 @@ loc_1850A: movea.l (sp)+,a0
cmpa.w #$B000,a2
bne.s locret_1857A
- move.b #1,($FFFFEE30).w
+ move.b #1,(Drowned_flag).w
locret_1857A:
rts
@@ -33260,7 +33272,7 @@ loc_185D8: move.w d0,$14(a1)
jsr (Random_Number).l
move.b d0,$26(a1)
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.b #3,d0
bne.s loc_18676
move.b #$E,$2C(a1)
@@ -33310,18 +33322,18 @@ Player_ResetAirTimer: bhi.s loc_186BC
cmpa.w #$B000,a1
bne.s loc_186BC
- move.w ($FFFFFF90).w,d0
+ move.w (Level_music).w,d0
btst #1,$2B(a1)
beq.s loc_186A0
move.w #$2C,d0
loc_186A0:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.w loc_186AC
move.w #$2C,d0
loc_186AC:
- tst.b ($FFFFF7AA).w
+ tst.b (Boss_flag).w
beq.s loc_186B6
move.w #$18,d0
@@ -33424,9 +33436,9 @@ loc_1880E: move.b #4,$34(a0)
loc_18868:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bne.w Delete_Current_Sprite
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
bne.w Delete_Current_Sprite
movea.w $42(a0),a1
btst #1,$2B(a1)
@@ -33471,15 +33483,15 @@ loc_188E0: ; ---------------------------------------------------------------------------
Obj_188E8:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bne.w Delete_Current_Sprite
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
bne.w Delete_Current_Sprite
movea.w $42(a0),a1
btst #1,$2B(a1)
beq.w Delete_Current_Sprite
- lea ($FFFFEE26).w,a5
- lea ($FFFFE500).w,a6
+ lea (Pos_table_index).w,a5
+ lea (Pos_table).w,a6
move.b $36(a0),d1
lsl.b #2,d1
move.w d1,d2
@@ -33594,7 +33606,7 @@ loc_18B54: cmpa.w #$CC54,a0
beq.s loc_18BAA
move.b #1,$38(a0)
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
beq.s loc_18BAA
move.w #$7F0,$A(a0)
move.w #$B04A,$42(a0)
@@ -33619,7 +33631,7 @@ off_18BBE: dc.w loc_18C94-off_18BBE ; ---------------------------------------------------------------------------
loc_18BC8:
- move.w ($FFFFF646).w,$14(a0)
+ move.w (Water_level).w,$14(a0)
tst.b $21(a0)
bne.w loc_18C94
move.w $10(a2),$10(a0)
@@ -33655,7 +33667,7 @@ loc_18C20: move.b $2A(a2),$2A(a0)
andi.b #1,$2A(a0)
moveq #4,d1
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_18C60
ori.b #2,$2A(a0)
neg.w d1
@@ -33733,7 +33745,7 @@ loc_18CE4: subq.w #4,d1
loc_18D14:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_18D1C
neg.w d1
@@ -33962,7 +33974,7 @@ loc_1919E: move.l #loc_191A4,(a0)
loc_191A4:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.w loc_19230
tst.b $20(a0)
beq.s loc_191B6
@@ -34026,7 +34038,7 @@ loc_19230: sub_19236:
move.b #0,$20(a0)
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
moveq #$F,d5
move.w #$488,d4
@@ -34107,7 +34119,7 @@ loc_19360: dbf d1,loc_19360
loc_1937C:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
beq.s loc_19384
locret_19382:
@@ -34141,12 +34153,12 @@ loc_193CA: move.w ($FFFFB014).w,$14(a0)
moveq #2,d2
bsr.w HyperSonic_Create_Spark
- move.b #4,($FFFFF666).w
+ move.b #4,(Hyper_Sonic_flash_timer).w
loc_193EC:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.w loc_19486
subq.b #1,$24(a0)
bpl.s loc_1941C
@@ -34229,7 +34241,7 @@ loc_1952A: move.w $14(a2),$14(a0)
move.b $2A(a2),$2A(a0)
andi.b #1,$2A(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1955A
ori.b #2,$2A(a0)
@@ -34302,7 +34314,7 @@ loc_19602: bne.s loc_19666
move.b $2A(a2),$2A(a0)
andi.b #1,$2A(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_19654
ori.b #2,$2A(a0)
@@ -34384,7 +34396,7 @@ loc_19732: move.w $14(a2),$14(a0)
move.b $2A(a2),$2A(a0)
andi.b #1,$2A(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1977C
ori.b #2,$2A(a0)
@@ -34419,7 +34431,7 @@ locret_197C4: ; ---------------------------------------------------------------------------
loc_197C6:
- tst.w ($FFFFEE50).w
+ tst.w (Palette_fade_timer).w
beq.s LightningShield_FlashWater
loc_197CC:
@@ -34431,8 +34443,8 @@ loc_197CC: LightningShield_FlashWater:
move.l #LightningShield_Destroy,(a0)
andi.b #$8E,$2B(a2)
- lea ($FFFFF080).w,a1
- lea ($FFFFF000).w,a2
+ lea (Water_palette).w,a1
+ lea (Target_water_palette).w,a2
move.w #$1F,d0
loc_197F2:
@@ -34504,8 +34516,8 @@ LightningShield_Destroy: subq.b #1,$24(a0)
bpl.s locret_198BC
move.l #Obj_Insta_Shield,(a0)
- lea ($FFFFF000).w,a1
- lea ($FFFFF080).w,a2
+ lea (Target_water_palette).w,a1
+ lea (Water_palette).w,a2
move.w #$1F,d0
loc_198B6:
@@ -34550,7 +34562,7 @@ loc_19922: move.w $14(a2),$14(a0)
move.b $2A(a2),$2A(a0)
andi.b #1,$2A(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_19962
ori.b #2,$2A(a0)
@@ -34660,7 +34672,7 @@ loc_1A186: dbf d1,loc_1A186
loc_1A19C:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
beq.s loc_1A1A4
rts
; ---------------------------------------------------------------------------
@@ -34681,7 +34693,7 @@ loc_1A1A4: move.l #loc_1A1F4,(a0)
loc_1A1F4:
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
bne.s loc_1A226
moveq #0,d0
move.w d0,($FFFFB05A).w
@@ -34716,7 +34728,7 @@ loc_1A242: loc_1A248:
andi.b #-3,4(a0)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1A25A
ori.b #2,4(a0)
@@ -34765,7 +34777,7 @@ loc_1A2AC: move.w ($FFFFB010).w,d2
move.w ($FFFFB014).w,d3
subi.w #$20,d3
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1A2D0
addi.w #$40,d3
@@ -34874,7 +34886,7 @@ loc_1A392: loc_1A39C:
add.w d1,$18(a0)
- and.w ($FFFFEEAA).w,d3
+ and.w (Screen_Y_wrap_value).w,d3
move.w #$20,d1
sub.w $14(a0),d3
bcc.s loc_1A3CA
@@ -34914,7 +34926,7 @@ loc_1A3E2: jsr (MoveSprite2).l
move.w ($FFFFEEBC).w,d0
sub.w d0,$10(a0)
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
rts
; End of function sub_1A37A
@@ -34925,7 +34937,7 @@ loc_1A3E2: sub_1A3FE:
moveq #0,d1
- lea ($FFFFE380).w,a4
+ lea (Collision_response_list).w,a4
move.w (a4)+,d6
beq.s locret_1A432
moveq #0,d0
@@ -34989,7 +35001,7 @@ Map_SuperTails_Birds:include "General\Sprites\Tails\Map - Super Tails birds.asm" Obj_HyperSonicKnux_Trail:
; Knux_JumpHeight+110o ...
move.l #Map_Knuckles,$C(a0)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_1A4AC
move.l #Map_SuperSonic,$C(a0)
@@ -35002,7 +35014,7 @@ loc_1A4AC: move.l #loc_1A4D0,(a0)
loc_1A4D0:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.w Delete_Current_Sprite
moveq #$C,d1
btst #0,($FFFFFE05).w
@@ -35010,13 +35022,13 @@ loc_1A4D0: moveq #$14,d1
loc_1A4E4:
- move.w ($FFFFEE26).w,d0
- lea ($FFFFE500).w,a1
+ move.w (Pos_table_index).w,d0
+ lea (Pos_table).w,a1
sub.b d1,d0
lea (a1,d0.w),a1
move.w (a1)+,$10(a0)
move.w (a1)+,$14(a0)
- lea ($FFFFE400).w,a1
+ lea (Stat_table).w,a1
loc_1A4FE:
move.b 3(a1,d0.w),$A(a0)
@@ -35049,13 +35061,13 @@ loc_1A532: move.w #$100,8(a0)
move.b #$47,$28(a0)
move.b #8,7(a0)
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s loc_1A568
move.w #$63D2,$A(a0)
loc_1A568:
- move.b ($FFFFFEB3).w,$22(a0)
+ move.b (Rings_frame).w,$22(a0)
bra.w loc_1B662
; ---------------------------------------------------------------------------
@@ -35078,28 +35090,28 @@ loc_1A592: GiveRing:
- cmpi.w #999,($FFFFFEC8).w
+ cmpi.w #999,(Total_ring_count).w
bcc.s loc_1A5A2
- addq.w #1,($FFFFFEC8).w
+ addq.w #1,(Total_ring_count).w
loc_1A5A2:
move.w #$33,d0
- cmpi.w #999,($FFFFFE20).w
+ cmpi.w #999,(Ring_count).w
bcc.s loc_1A5E8
- addq.w #1,($FFFFFE20).w
- ori.b #1,($FFFFFE1D).w
- cmpi.w #100,($FFFFFE20).w
+ addq.w #1,(Ring_count).w
+ ori.b #1,(Update_HUD_ring_count).w
+ cmpi.w #100,(Ring_count).w
bcs.s loc_1A5E8
- bset #1,($FFFFFE1B).w
+ bset #1,(Extra_life_flags).w
beq.s loc_1A5D8
- cmpi.w #200,($FFFFFE20).w
+ cmpi.w #200,(Ring_count).w
bcs.s loc_1A5E8
- bset #2,($FFFFFE1B).w
+ bset #2,(Extra_life_flags).w
bne.s loc_1A5E8
loc_1A5D8:
- addq.b #1,($FFFFFE12).w
- addq.b #1,($FFFFFE1C).w
+ addq.b #1,(Life_count).w
+ addq.b #1,(Update_HUD_life_count).w
moveq #$2A,d0
jmp (Play_Sound).l
; ---------------------------------------------------------------------------
@@ -35113,31 +35125,31 @@ loc_1A5E8: ; ---------------------------------------------------------------------------
loc_1A5F0:
- cmpi.w #999,($FFFFFECA).w
+ cmpi.w #999,(Total_ring_count_P2).w
bcc.s loc_1A5FC
- addq.w #1,($FFFFFECA).w
+ addq.w #1,(Total_ring_count_P2).w
loc_1A5FC:
- cmpi.w #999,($FFFFFED0).w
+ cmpi.w #999,(Ring_count_P2).w
bcc.s loc_1A608
- addq.w #1,($FFFFFED0).w
+ addq.w #1,(Ring_count_P2).w
loc_1A608:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s loc_1A5A2
ori.b #1,($FFFFFEBE).w
move.w #$33,d0
- cmpi.w #100,($FFFFFED0).w
+ cmpi.w #100,(Ring_count_P2).w
bcs.s loc_1A644
bset #1,($FFFFFEBF).w
beq.s loc_1A638
- cmpi.w #200,($FFFFFED0).w
+ cmpi.w #200,(Ring_count_P2).w
bcs.s loc_1A644
bset #2,($FFFFFEBF).w
bne.s loc_1A644
loc_1A638:
- addq.b #1,($FFFFFEC6).w
+ addq.b #1,(Life_count_P2).w
moveq #$2A,d0
jmp (Play_Sound).l
; ---------------------------------------------------------------------------
@@ -35179,17 +35191,17 @@ off_1A670: dc.w loc_1A67A-off_1A670 loc_1A67A:
move.l #Obj_Bouncing_Ring,d6
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1A68C
move.l #Obj_Bouncing_Ring_Reverse_Gravity,d6
loc_1A68C:
movea.l a0,a1
moveq #0,d5
- move.w ($FFFFFE20).w,d5
+ move.w (Ring_count).w,d5
tst.b $3F(a0)
beq.s loc_1A69E
- move.w ($FFFFFED0).w,d5
+ move.w (Ring_count_P2).w,d5
loc_1A69E:
moveq #$20,d0
@@ -35220,7 +35232,7 @@ loc_1A6B6: move.w #$180,8(a1)
move.b #$47,$28(a1)
move.b #8,7(a1)
- move.b #-1,($FFFFFEB6).w
+ move.b #-1,(Ring_spill_anim_counter).w
tst.w d4
bmi.s loc_1A728
move.w d4,d0
@@ -35248,14 +35260,14 @@ loc_1A728: loc_1A738:
move.w #$FFB9,d0
jsr (Play_Sound_2).l
- move.w #0,($FFFFFE20).w
- move.b #$80,($FFFFFE1D).w
- move.b #0,($FFFFFE1B).w
- tst.b ($FFFFF7C6).w
+ move.w #0,(Ring_count).w
+ move.b #$80,(Update_HUD_ring_count).w
+ move.b #0,(Extra_life_flags).w
+ tst.b (Reverse_gravity_flag).w
bne.w loc_1A7E8
loc_1A75C:
- move.b ($FFFFFEB7).w,$22(a0)
+ move.b (Ring_spill_anim_frame).w,$22(a0)
bsr.w MoveSprite2
addi.w #$18,$1A(a0)
bmi.s loc_1A7B0
@@ -35276,9 +35288,9 @@ loc_1A75C: loc_1A79C:
- tst.b ($FFFFFEB6).w
+ tst.b (Ring_spill_anim_counter).w
beq.s loc_1A7E4
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$E0,d0
cmp.w $14(a0),d0
bcs.s loc_1A7E4
@@ -35312,7 +35324,7 @@ loc_1A7E4: loc_1A7E8:
- move.b ($FFFFFEB7).w,$22(a0)
+ move.b (Ring_spill_anim_frame).w,$22(a0)
bsr.w MoveSprite_TestGravity2
addi.w #$18,$1A(a0)
bmi.s loc_1A83C
@@ -35333,9 +35345,9 @@ loc_1A7E8: loc_1A828:
- tst.b ($FFFFFEB6).w
+ tst.b (Ring_spill_anim_counter).w
beq.s loc_1A7E4
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$E0,d0
cmp.w $14(a0),d0
bcs.s loc_1A7E4
@@ -35368,7 +35380,7 @@ loc_1A88C: bne.s loc_1A8B0
move.l #Obj_Bouncing_Ring,(a0)
move.b #2,5(a0)
- move.b #-1,($FFFFFEB6).w
+ move.b #-1,(Ring_spill_anim_counter).w
loc_1A8B0:
subq.b #1,$24(a0)
@@ -35380,7 +35392,7 @@ loc_1A8B0: loc_1A8C6:
move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1A8E4
jsr (Add_SpriteToCollisionResponseList).l
@@ -35406,7 +35418,7 @@ loc_1A8FC: AttractedRing_GiveRing:
move.b #0,$28(a0)
move.w #$80,8(a0)
- subq.w #1,($FFFFFF04).w
+ subq.w #1,(Perfect_rings_left).w
bsr.w GiveRing
move.l #loc_1A920,(a0)
move.b #0,5(a0)
@@ -35533,23 +35545,23 @@ Ani_Ring: include "General\Sprites\Ring\Anim - Ring.asm" Init_SpriteTable:
clr.w ($FFFFEF3A).w
- clr.l ($FFFFEF3C).w
- tst.w ($FFFFFFE8).w
+ clr.l (Use_normal_sprite_table).w
+ tst.w (Competition_mode).w
beq.s loc_1AA9E
- lea ($FFFFF800).w,a0
+ lea (Sprite_table_buffer).w,a0
bsr.s Init_SpriteTable2
bsr.s Init_SpriteTable_2Player
- lea ($FF7880).l,a0
+ lea (Sprite_table_buffer_2).l,a0
bsr.s Init_SpriteTable2
bsr.s Init_SpriteTable_2Player
- lea ($FF7B00).l,a0
+ lea (Sprite_table_buffer_P2).l,a0
bsr.s Init_SpriteTable2
- lea ($FF7D80).l,a0
+ lea (Sprite_table_buffer_P2_2).l,a0
bra.s Init_SpriteTable2
; ---------------------------------------------------------------------------
loc_1AA9E:
- lea ($FFFFF800).w,a0
+ lea (Sprite_table_buffer).w,a0
; End of function Init_SpriteTable
@@ -35592,10 +35604,10 @@ Init_SpriteTable_2Player: Process_Sprites:
- tst.b ($FFFFF623).w
+ tst.b (Teleport_active_flag).w
bne.s locret_1AB0C
- lea ($FFFFB000).w,a0
- tst.w ($FFFFFFE8).w
+ lea (Object_RAM).w,a0
+ tst.w (Competition_mode).w
bne.s loc_1AAFA
cmpi.b #$C,($FFFFB005).w
beq.s loc_1AAFA
@@ -35694,7 +35706,7 @@ MoveSprite2: MoveSprite_TestGravity:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s MoveSprite
move.w $18(a0),d0
ext.l d0
@@ -35715,7 +35727,7 @@ MoveSprite_TestGravity: MoveSprite_TestGravity2:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s MoveSprite2
move.w $18(a0),d0
ext.l d0
@@ -35760,7 +35772,7 @@ loc_1ABBC: Draw_Sprite:
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
adda.w 8(a0),a1
loc_1ABCE:
@@ -35947,14 +35959,14 @@ locret_1AD1E: Render_Sprites:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.w loc_1B1F4
moveq #$4F,d7
moveq #0,d6
- lea ($FFFFAC00).w,a5
- lea ($FFFFEE80).w,a3
- lea ($FFFFF800).w,a6
- tst.b ($FFFFF711).w
+ lea (Sprite_table_input).w,a5
+ lea (Camera_X_pos_copy).w,a3
+ lea (Sprite_table_buffer).w,a6
+ tst.b (Level_started_flag).w
beq.s loc_1AD4A
jsr (sub_DB44).l
jsr (sub_EB86).l
@@ -35988,7 +36000,7 @@ loc_1AD54: sub.w 4(a3),d1
move.b 6(a0),d2
add.w d2,d1
- and.w ($FFFFEEAA).w,d1
+ and.w (Screen_Y_wrap_value).w,d1
move.w d2,d3
add.w d2,d2
addi.w #$E0,d2
@@ -36024,7 +36036,7 @@ loc_1ADE0: loc_1ADE6:
cmpa.l #$FFFFAC00,a5
bne.s loc_1ADFC
- cmpi.b #9,($FFFFFE10).w
+ cmpi.b #9,(Current_zone).w
bne.s loc_1ADFC
jsr (sub_1CB68).l
@@ -36045,7 +36057,7 @@ loc_1AE10: loc_1AE18:
subi.w #$4F,d6
neg.w d6
- move.b d6,($FFFFF62C).w
+ move.b d6,(Sprites_drawn).w
tst.w ($FFFFEF3A).w
beq.s locret_1AE56
cmpi.b #6,($FFFFB005).w
@@ -36115,7 +36127,7 @@ loc_1AEA2: sub.w 4(a3),d1
move.b 6(a0),d2
add.w d2,d1
- and.w ($FFFFEEAA).w,d1
+ and.w (Screen_Y_wrap_value).w,d1
move.w d2,d3
add.w d2,d2
addi.w #$E0,d2
@@ -36161,7 +36173,7 @@ loc_1AF2A: addi.w #$80,d0
sub.w 4(a3),d1
addi.w #$80,d1
- and.w ($FFFFEEAA).w,d1
+ and.w (Screen_Y_wrap_value).w,d1
loc_1AF46:
addq.w #1,a0
@@ -36582,15 +36594,15 @@ loc_1B1EC: loc_1B1F4:
moveq #$4D,d7
moveq #0,d6
- lea ($FFFFAC00).w,a5
- lea ($FFFFEE80).w,a3
+ lea (Sprite_table_input).w,a5
+ lea (Camera_X_pos_copy).w,a3
lea ($FFFFF810).w,a6
- tst.w ($FFFFEF3C).w
+ tst.w (Use_normal_sprite_table).w
beq.s loc_1B210
lea ($FF7890).l,a6
loc_1B210:
- tst.b ($FFFFF711).w
+ tst.b (Level_started_flag).w
beq.s loc_1B21C
jsr (sub_DB3C).l
@@ -36616,7 +36628,7 @@ loc_1B228: sub.w (a3),d0
move.b 7(a0),d2
add.w d2,d0
- and.w ($FFFFEEA8).w,d0
+ and.w (Screen_X_wrap_value).w,d0
move.w d2,d3
add.w d2,d2
addi.w #$140,d2
@@ -36628,7 +36640,7 @@ loc_1B228: sub.w 4(a3),d1
move.b 6(a0),d2
add.w d2,d1
- and.w ($FFFFEEAA).w,d1
+ and.w (Screen_Y_wrap_value).w,d1
move.w d2,d3
add.w d2,d2
addi.w #$70,d2
@@ -36683,15 +36695,15 @@ loc_1B2E4: loc_1B2F6:
moveq #$4F,d7
- lea ($FFFFAC00).w,a5
- lea ($FFFFEE68).w,a3
- lea ($FF7B00).l,a6
- tst.w ($FFFFEF3C).w
+ lea (Sprite_table_input).w,a5
+ lea (Camera_X_pos_P2_copy).w,a3
+ lea (Sprite_table_buffer_P2).l,a6
+ tst.w (Use_normal_sprite_table).w
beq.s loc_1B312
- lea ($FF7D80).l,a6
+ lea (Sprite_table_buffer_P2_2).l,a6
loc_1B312:
- tst.b ($FFFFF711).w
+ tst.b (Level_started_flag).w
beq.s loc_1B31E
jsr (nullsub_2).l
@@ -36716,7 +36728,7 @@ loc_1B32A: sub.w (a3),d0
move.b 7(a0),d2
add.w d2,d0
- and.w ($FFFFEEA8).w,d0
+ and.w (Screen_X_wrap_value).w,d0
move.w d2,d3
add.w d2,d2
addi.w #$140,d2
@@ -36728,7 +36740,7 @@ loc_1B32A: sub.w 4(a3),d1
move.b 6(a0),d2
add.w d2,d1
- and.w ($FFFFEEAA).w,d1
+ and.w (Screen_Y_wrap_value).w,d1
move.w d2,d3
add.w d2,d2
addi.w #$70,d2
@@ -36785,7 +36797,7 @@ loc_1B3EC: sub.w (a3),d0
move.b 7(a0),d2
add.w d2,d0
- and.w ($FFFFEEA8).w,d0
+ and.w (Screen_X_wrap_value).w,d0
move.w d2,d3
add.w d2,d2
addi.w #$140,d2
@@ -36797,7 +36809,7 @@ loc_1B3EC: sub.w 4(a3),d1
move.b 6(a0),d2
add.w d2,d1
- and.w ($FFFFEEAA).w,d1
+ and.w (Screen_Y_wrap_value).w,d1
move.w d2,d3
add.w d2,d2
addi.w #$70,d2
@@ -36836,11 +36848,11 @@ loc_1B478: move.w (a0)+,d0
sub.w (a3),d0
addi.w #$80,d0
- and.w ($FFFFEEA8).w,d0
+ and.w (Screen_X_wrap_value).w,d0
move.w (a0)+,d1
sub.w 4(a3),d1
addi.w #$80,d1
- and.w ($FFFFEEAA).w,d1
+ and.w (Screen_Y_wrap_value).w,d1
addq.w #1,a0
moveq #0,d4
move.b (a0)+,d4
@@ -36865,7 +36877,7 @@ loc_1B4B8: sub.w (a3),d0
move.b 7(a0),d2
add.w d2,d0
- and.w ($FFFFEEA8).w,d0
+ and.w (Screen_X_wrap_value).w,d0
move.w d2,d3
add.w d2,d2
addi.w #$140,d2
@@ -36877,7 +36889,7 @@ loc_1B4B8: sub.w 4(a3),d1
move.b 6(a0),d2
add.w d2,d1
- and.w ($FFFFEEAA).w,d1
+ and.w (Screen_Y_wrap_value).w,d1
move.w d2,d3
add.w d2,d2
addi.w #$70,d2
@@ -36916,11 +36928,11 @@ loc_1B544: move.w (a0)+,d0
sub.w (a3),d0
addi.w #$80,d0
- and.w ($FFFFEEA8).w,d0
+ and.w (Screen_X_wrap_value).w,d0
move.w (a0)+,d1
sub.w 4(a3),d1
addi.w #$80,d1
- and.w ($FFFFEEAA).w,d1
+ and.w (Screen_Y_wrap_value).w,d1
addi.w #$70,d1
addq.w #1,a0
moveq #0,d4
@@ -36945,7 +36957,7 @@ Sprite_OnScreen_Test: move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1B5A0
bra.w Draw_Sprite
@@ -36964,7 +36976,7 @@ loc_1B5AC: Sprite_OnScreen_Test2:
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1B5C4
bra.w Draw_Sprite
@@ -36986,7 +36998,7 @@ Delete_Sprite_If_Not_In_Range: move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1B5EA
rts
@@ -37003,11 +37015,11 @@ loc_1B5F6: ; End of function Delete_Sprite_If_Not_In_Range
; ---------------------------------------------------------------------------
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_1B628
move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1B618
bra.w Draw_Sprite
@@ -37027,7 +37039,7 @@ loc_1B628: move.w $10(a0),d0
andi.w #$FF00,d0
move.w d0,d1
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$300,d0
bhi.w loc_1B642
bra.w Draw_Sprite
@@ -37057,7 +37069,7 @@ loc_1B662: loc_1B666:
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1B680
jsr (Add_SpriteToCollisionResponseList).l
@@ -37079,7 +37091,7 @@ loc_1B68C: Load_Sprites:
moveq #0,d0
- move.b ($FFFFF76C).w,d0
+ move.b (Object_load_routine).w,d0
jmp loc_1B69A(pc,d0.w)
; End of function Load_Sprites
@@ -37097,7 +37109,7 @@ loc_1B69A: loc_1B6A8:
move.l #Sprite_ListingK,d0
- move.b ($FFFFFE10).w,d1
+ move.b (Current_zone).w,d1
cmpi.b #$16,d1
bcc.s loc_1B6CA
cmpi.b #$E,d1
@@ -37110,11 +37122,11 @@ loc_1B6C4: loc_1B6CA:
- move.l d0,($FFFFEF5A).w
- addq.b #4,($FFFFF76C).w
+ move.l d0,(Object_index_addr).w
+ addq.b #4,(Object_load_routine).w
tst.b ($FFFFFF97).w
bne.s loc_1B6E8
- lea ($FFFFEB00).w,a0
+ lea (Object_respawn_table).w,a0
moveq #0,d0
move.w #$BF,d1
@@ -37123,35 +37135,35 @@ loc_1B6E2: dbf d1,loc_1B6E2
loc_1B6E8:
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #5,d0
loc_1B6F0:
lea (SpriteLocPtrs).l,a0
movea.l (a0,d0.w),a0
- cmpi.w #$1701,($FFFFFE10).w
+ cmpi.w #$1701,(Current_zone_and_act).w
beq.s loc_1B720
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
bcc.s loc_1B76A
loc_1B70A:
- cmpi.b #$14,($FFFFFE10).w
+ cmpi.b #$14,(Current_zone).w
beq.s loc_1B76A
- cmpi.b #$13,($FFFFFE10).w
+ cmpi.b #$13,(Current_zone).w
bcc.s loc_1B720
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s loc_1B76A
loc_1B720:
- addq.b #8,($FFFFF76C).w
+ addq.b #8,(Object_load_routine).w
jsr Create_New_Sprite(pc)
bne.s loc_1B74C
lea ($FFFFF712).w,a3
- movea.l ($FFFFEF5A).w,a4
+ movea.l (Object_index_addr).w,a4
move.w #$800,d6
- cmpi.w #$1701,($FFFFFE10).w
+ cmpi.w #$1701,(Current_zone_and_act).w
bne.s loc_1B742
move.w #$1780,d6
@@ -37164,13 +37176,13 @@ loc_1B742: loc_1B74C:
- clr.w ($FFFFF7DA).w
- cmpi.w #$1701,($FFFFFE10).w
+ clr.w (Camera_X_pos_coarse_back).w
+ cmpi.w #$1701,(Current_zone_and_act).w
bne.s locret_1B768
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
subi.w #$80,d1
andi.w #$FF80,d1
- move.w d1,($FFFFF7DA).w
+ move.w d1,(Camera_X_pos_coarse_back).w
locret_1B768:
rts
@@ -37178,10 +37190,10 @@ locret_1B768: loc_1B76A:
- move.l a0,($FFFFF772).w
- move.l a0,($FFFFF776).w
- lea ($FFFFEB00).w,a3
- cmpi.b #$14,($FFFFFE10).w
+ move.l a0,(Object_load_addr_front).w
+ move.l a0,(Object_load_addr_back).w
+ lea (Object_respawn_table).w,a3
+ cmpi.b #$14,(Current_zone).w
bne.s loc_1B78E
lea ($FFFF8400).w,a3
moveq #$7F,d6
@@ -37192,14 +37204,14 @@ loc_1B784: lea ($FFFF8400).w,a3
loc_1B78E:
- move.w ($FFFFEE78).w,d6
+ move.w (Camera_X_pos).w,d6
subi.w #$80,d6
bcc.s loc_1B79A
moveq #0,d6
loc_1B79A:
andi.w #$FF80,d6
- movea.l ($FFFFF772).w,a0
+ movea.l (Object_load_addr_front).w,a0
loc_1B7A2:
cmp.w (a0),d6
@@ -37210,15 +37222,15 @@ loc_1B7A2: ; ---------------------------------------------------------------------------
loc_1B7AC:
- move.l a0,($FFFFF772).w
- move.w a3,($FFFFF77A).w
- lea ($FFFFEB00).w,a3
- cmpi.b #$14,($FFFFFE10).w
+ move.l a0,(Object_load_addr_front).w
+ move.w a3,(Object_respawn_index_front).w
+ lea (Object_respawn_table).w,a3
+ cmpi.b #$14,(Current_zone).w
bne.s loc_1B7C4
lea ($FFFF8400).w,a3
loc_1B7C4:
- movea.l ($FFFFF776).w,a0
+ movea.l (Object_load_addr_back).w,a0
subi.w #$80,d6
bcs.s loc_1B7D8
@@ -37232,48 +37244,48 @@ loc_1B7CE: loc_1B7D8:
- move.l a0,($FFFFF776).w
- move.w a3,($FFFFF77C).w
- move.w #-1,($FFFFF76E).w
- move.w ($FFFFEE7C).w,d0
+ move.l a0,(Object_load_addr_back).w
+ move.w a3,(Object_respawn_index_back).w
+ move.w #-1,(Camera_X_pos_coarse).w
+ move.w (Camera_Y_pos).w,d0
andi.w #$FF80,d0
- move.w d0,($FFFFF770).w
+ move.w d0,(Camera_Y_pos_coarse).w
loc_1B7F2:
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
subi.w #$80,d1
andi.w #$FF80,d1
- move.w d1,($FFFFEF64).w
- move.w ($FFFFEE78).w,d1
+ move.w d1,(Camera_Y_pos_coarse_back).w
+ move.w (Camera_X_pos).w,d1
subi.w #$80,d1
andi.w #$FF80,d1
- move.w d1,($FFFFF7DA).w
- movea.l ($FFFFEF5A).w,a4
- tst.w ($FFFFEE18).w
+ move.w d1,(Camera_X_pos_coarse_back).w
+ movea.l (Object_index_addr).w,a4
+ tst.w (Camera_min_Y_pos).w
bpl.s loc_1B84A
lea loc_1BA40(pc),a6
- move.w ($FFFFEE7C).w,d3
+ move.w (Camera_Y_pos).w,d3
andi.w #$FF80,d3
move.w d3,d4
addi.w #$200,d4
subi.w #$80,d3
bpl.s loc_1B83A
- and.w ($FFFFEEAA).w,d3
+ and.w (Screen_Y_wrap_value).w,d3
bra.s loc_1B864
; ---------------------------------------------------------------------------
loc_1B83A:
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
addq.w #1,d0
cmp.w d0,d4
bls.s loc_1B860
- and.w ($FFFFEEAA).w,d4
+ and.w (Screen_Y_wrap_value).w,d4
bra.s loc_1B864
; ---------------------------------------------------------------------------
loc_1B84A:
- move.w ($FFFFEE7C).w,d3
+ move.w (Camera_Y_pos).w,d3
andi.w #-$80,d3
move.w d3,d4
addi.w #$200,d4
@@ -37283,19 +37295,20 @@ loc_1B84A: loc_1B860:
+
lea loc_1BA92(pc),a6
loc_1B864:
move.w #$FFF,d5
- move.w ($FFFFEE78).w,d6
+ move.w (Camera_X_pos).w,d6
andi.w #$FF80,d6
- cmp.w ($FFFFF76E).w,d6
+ cmp.w (Camera_X_pos_coarse).w,d6
beq.w loc_1B91A
bge.s loc_1B8D2
- move.w d6,($FFFFF76E).w
- movea.l ($FFFFF776).w,a0
- movea.w ($FFFFF77C).w,a3
+ move.w d6,(Camera_X_pos_coarse).w
+ movea.l (Object_load_addr_back).w,a0
+ movea.w (Object_respawn_index_back).w,a3
subi.w #$80,d6
bcs.s loc_1B8A8
jsr Create_New_Sprite(pc)
@@ -37318,10 +37331,10 @@ loc_1B8A4: loc_1B8A8:
- move.l a0,($FFFFF776).w
- move.w a3,($FFFFF77C).w
- movea.l ($FFFFF772).w,a0
- movea.w ($FFFFF77A).w,a3
+ move.l a0,(Object_load_addr_back).w
+ move.w a3,(Object_respawn_index_back).w
+ movea.l (Object_load_addr_front).w,a0
+ movea.w (Object_respawn_index_front).w,a3
addi.w #$300,d6
loc_1B8BC:
@@ -37333,15 +37346,15 @@ loc_1B8BC: ; ---------------------------------------------------------------------------
loc_1B8C8:
- move.l a0,($FFFFF772).w
- move.w a3,($FFFFF77A).w
+ move.l a0,(Object_load_addr_front).w
+ move.w a3,(Object_respawn_index_front).w
bra.s loc_1B91A
; ---------------------------------------------------------------------------
loc_1B8D2:
- move.w d6,($FFFFF76E).w
- movea.l ($FFFFF772).w,a0
- movea.w ($FFFFF77A).w,a3
+ move.w d6,(Camera_X_pos_coarse).w
+ movea.l (Object_load_addr_front).w,a0
+ movea.w (Object_respawn_index_front).w,a3
addi.w #$280,d6
jsr Create_New_Sprite(pc)
bne.s loc_1B8F2
@@ -37355,10 +37368,10 @@ loc_1B8E8: loc_1B8F2:
- move.l a0,($FFFFF772).w
- move.w a3,($FFFFF77A).w
- movea.l ($FFFFF776).w,a0
- movea.w ($FFFFF77C).w,a3
+ move.l a0,(Object_load_addr_front).w
+ move.w a3,(Object_respawn_index_front).w
+ movea.l (Object_load_addr_back).w,a0
+ movea.w (Object_respawn_index_back).w,a3
subi.w #$300,d6
bcs.s loc_1B912
@@ -37372,29 +37385,29 @@ loc_1B908: loc_1B912:
- move.l a0,($FFFFF776).w
- move.w a3,($FFFFF77C).w
+ move.l a0,(Object_load_addr_back).w
+ move.w a3,(Object_respawn_index_back).w
loc_1B91A:
- move.w ($FFFFEE7C).w,d6
+ move.w (Camera_Y_pos).w,d6
andi.w #$FF80,d6
move.w d6,d3
- cmp.w ($FFFFF770).w,d6
+ cmp.w (Camera_Y_pos_coarse).w,d6
beq.w loc_1B9FA
bge.s loc_1B956
- tst.w ($FFFFEE18).w
+ tst.w (Camera_min_Y_pos).w
bpl.s loc_1B94C
tst.w d6
bne.s loc_1B940
- cmpi.w #$80,($FFFFF770).w
+ cmpi.w #$80,(Camera_Y_pos_coarse).w
bne.s loc_1B968
loc_1B940:
subi.w #$80,d3
bpl.s loc_1B982
- and.w ($FFFFEEAA).w,d3
+ and.w (Screen_Y_wrap_value).w,d3
bra.s loc_1B982
; ---------------------------------------------------------------------------
@@ -37405,9 +37418,9 @@ loc_1B94C: ; ---------------------------------------------------------------------------
loc_1B956:
- tst.w ($FFFFEE18).w
+ tst.w (Camera_min_Y_pos).w
bpl.s loc_1B978
- tst.w ($FFFFF770).w
+ tst.w (Camera_Y_pos_coarse).w
bne.s loc_1B968
cmpi.w #$80,d6
bne.s loc_1B940
@@ -37415,15 +37428,15 @@ loc_1B956: loc_1B968:
addi.w #$180,d3
- cmp.w ($FFFFEEAA).w,d3
+ cmp.w (Screen_Y_wrap_value).w,d3
bcs.s loc_1B982
- and.w ($FFFFEEAA).w,d3
+ and.w (Screen_Y_wrap_value).w,d3
bra.s loc_1B982
; ---------------------------------------------------------------------------
loc_1B978:
addi.w #$180,d3
- cmp.w ($FFFFEEAA).w,d3
+ cmp.w (Screen_Y_wrap_value).w,d3
bhi.s loc_1B9FA
loc_1B982:
@@ -37433,9 +37446,9 @@ loc_1B982: move.w d3,d4
addi.w #$80,d4
move.w #$FFF,d5
- movea.l ($FFFFF776).w,a0
- movea.w ($FFFFF77C).w,a3
- move.l ($FFFFF772).w,d7
+ movea.l (Object_load_addr_back).w,a0
+ movea.w (Object_respawn_index_back).w,a3
+ move.l (Object_load_addr_front).w,d7
sub.l a0,d7
beq.s loc_1B9FA
addq.w #2,a0
@@ -37477,7 +37490,7 @@ loc_1B9F2: loc_1B9FA:
- move.w d6,($FFFFF770).w
+ move.w d6,(Camera_Y_pos_coarse).w
rts
; ---------------------------------------------------------------------------
bset #7,(a3)
@@ -37616,7 +37629,7 @@ locret_1BAF0: Create_New_Sprite:
- lea ($FFFFB0DE).w,a1
+ lea (Dynamic_object_RAM).w,a1
moveq #$59,d0
bra.s loc_1BB0A
; ---------------------------------------------------------------------------
@@ -37650,7 +37663,7 @@ byte_1BB16: dc.b $FF, 0, 1, 2, 3, 4, 5, 5, 6, 7, 8, 9, $ Clear_SpriteRingMem:
- lea ($FFFFB0DE).w,a1
+ lea (Dynamic_object_RAM).w,a1
moveq #$59,d1
loc_1BB84:
@@ -37665,7 +37678,7 @@ loc_1BB84: loc_1BB98:
dbf d1,loc_1BB84
- lea ($FFFFEF80).w,a2
+ lea (Ring_consumption_table).w,a2
move.w (a2)+,d1
subq.w #1,d1
bcs.s locret_1BBBC
@@ -37677,7 +37690,7 @@ loc_1BBA6: movea.w d0,a1
move.w #-1,(a1)
clr.w -2(a2)
- subq.w #1,($FFFFEF80).w
+ subq.w #1,(Ring_consumption_table).w
dbf d1,loc_1BBA6
locret_1BBBC:
@@ -37685,15 +37698,15 @@ locret_1BBBC: ; ---------------------------------------------------------------------------
loc_1BBBE:
- move.w ($FFFFEE78).w,d6
+ move.w (Camera_X_pos).w,d6
addi.w #$400,d6
andi.w #$FF80,d6
- cmp.w ($FFFFF76E).w,d6
+ cmp.w (Camera_X_pos_coarse).w,d6
beq.w locret_1BC5E
bge.s loc_1BC1C
- move.w d6,($FFFFF76E).w
- movea.l ($FFFFF776).w,a1
- movea.w ($FFFFF77C).w,a3
+ move.w d6,(Camera_X_pos_coarse).w
+ movea.l (Object_load_addr_back).w,a1
+ movea.w (Object_respawn_index_back).w,a3
subi.w #$80,d6
bcs.s loc_1BBF2
@@ -37707,10 +37720,10 @@ loc_1BBE6: loc_1BBF2:
- move.l a1,($FFFFF776).w
- move.w a3,($FFFFF77C).w
- movea.l ($FFFFF772).w,a1
- movea.w ($FFFFF77A).w,a3
+ move.l a1,(Object_load_addr_back).w
+ move.w a3,(Object_respawn_index_back).w
+ movea.l (Object_load_addr_front).w,a1
+ movea.w (Object_respawn_index_front).w,a3
addi.w #$300,d6
loc_1BC06:
@@ -37722,15 +37735,15 @@ loc_1BC06: ; ---------------------------------------------------------------------------
loc_1BC12:
- move.l a1,($FFFFF772).w
- move.w a3,($FFFFF77A).w
+ move.l a1,(Object_load_addr_front).w
+ move.w a3,(Object_respawn_index_front).w
bra.s locret_1BC5E
; ---------------------------------------------------------------------------
loc_1BC1C:
- move.w d6,($FFFFF76E).w
- movea.l ($FFFFF772).w,a1
- movea.w ($FFFFF77A).w,a3
+ move.w d6,(Camera_X_pos_coarse).w
+ movea.l (Object_load_addr_front).w,a1
+ movea.w (Object_respawn_index_front).w,a3
addi.w #$280,d6
loc_1BC2C:
@@ -37742,10 +37755,10 @@ loc_1BC2C: ; ---------------------------------------------------------------------------
loc_1BC36:
- move.l a1,($FFFFF772).w
- move.w a3,($FFFFF77A).w
- movea.l ($FFFFF776).w,a1
- movea.w ($FFFFF77C).w,a3
+ move.l a1,(Object_load_addr_front).w
+ move.w a3,(Object_respawn_index_front).w
+ movea.l (Object_load_addr_back).w,a1
+ movea.w (Object_respawn_index_back).w,a3
subi.w #$300,d6
bcs.s loc_1BC56
@@ -37759,8 +37772,8 @@ loc_1BC4C: loc_1BC56:
- move.l a1,($FFFFF776).w
- move.w a3,($FFFFF77C).w
+ move.l a1,(Object_load_addr_back).w
+ move.w a3,(Object_respawn_index_back).w
locret_1BC5E:
@@ -37770,31 +37783,31 @@ locret_1BC5E: Get_LevelSizeStart:
- clr.b ($FFFFEE30).w
+ clr.b (Drowned_flag).w
clr.b ($FFFFEE08).w
- clr.b ($FFFFEE0A).w
- clr.b ($FFFFEE0B).w
- clr.b ($FFFFEE39).w
+ clr.b (Scroll_lock).w
+ clr.b (Scroll_lock_P2).w
+ clr.b (Fast_V_scroll_flag).w
moveq #0,d0
- move.b d0,($FFFFEE33).w
+ move.b d0,(Dynamic_resize_routine).w
move.w d0,($FFFFF660).w
move.w d0,($FFFFF662).w
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #4,d0
lea LevelSizes(pc,d0.w),a0
move.l (a0)+,d0
- move.l d0,($FFFFEE14).w
- move.l d0,($FFFFEE0C).w
- move.l d0,($FFFFEE1C).w
+ move.l d0,(Camera_min_X_pos).w
+ move.l d0,(Camera_target_min_X_pos).w
+ move.l d0,(Camera_min_X_pos_P2).w
move.l (a0)+,d0
- move.l d0,($FFFFEE18).w
- move.l d0,($FFFFEE10).w
- move.l d0,($FFFFEE20).w
- move.w #$60,($FFFFEE2C).w
- move.w #$60,($FFFFEE2E).w
- move.w #-1,($FFFFEEA8).w
- move.w #-1,($FFFFEEAA).w
+ move.l d0,(Camera_min_Y_pos).w
+ move.l d0,(Camera_target_min_Y_pos).w
+ move.l d0,(Camera_min_Y_pos_P2).w
+ move.w #$60,(Distance_from_screen_top).w
+ move.w #$60,(Distance_from_screen_top_P2).w
+ move.w #-1,(Screen_X_wrap_value).w
+ move.w #-1,(Screen_Y_wrap_value).w
bra.w loc_1BE46
; ---------------------------------------------------------------------------
LevelSizes: dc.l $13086000, $390 ; AIZ1
@@ -37848,7 +37861,7 @@ LevelSizes: dc.l $13086000, $390 ; AIZ1 ; ---------------------------------------------------------------------------
loc_1BE46:
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
beq.s loc_1BE5E
jsr (Load_Starpost_Settings).l
move.w ($FFFFB010).w,d1
@@ -37857,11 +37870,11 @@ loc_1BE46: ; ---------------------------------------------------------------------------
loc_1BE5E:
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #5,d0
lea (Sonic_Start_Locations).l,a1
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_1BE7A
lea (Knux_Start_Locations).l,a1
@@ -37873,75 +37886,75 @@ loc_1BE7A: moveq #0,d0
move.w (a1),d0
move.w d0,($FFFFB014).w
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.w loc_1BF74
- cmpi.w #0,($FFFFFE10).w
+ cmpi.w #0,(Current_zone_and_act).w
bne.s loc_1BEC6
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcc.s loc_1BEC6
move.w #$40,d1 ; If in Angel Island Zone and playing as Sonic, the start position is overridden for the intro
move.w d1,($FFFFB010).w
move.w #$420,d0
move.w d0,($FFFFB014).w
move.w #0,d1
- move.w d1,($FFFFEE14).w
- move.w d1,($FFFFEE0C).w
- move.w d1,($FFFFEE1C).w
+ move.w d1,(Camera_min_X_pos).w
+ move.w d1,(Camera_target_min_X_pos).w
+ move.w d1,(Camera_min_X_pos_P2).w
loc_1BEC6:
- cmpi.w #$500,($FFFFFE10).w
+ cmpi.w #$500,(Current_zone_and_act).w
bne.s loc_1BF1E
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcs.s loc_1BF1E
bne.s loc_1BF1E
move.w #$35A0,d1 ; If in Ice Cap Act 1 and playing as Tails,
- move.w d1,($FFFFEE14).w ; we use a different start position and different level sizes
- move.w d1,($FFFFEE0C).w ; to skip the snowboarding sequence
- move.w d1,($FFFFEE1C).w
+ move.w d1,(Camera_min_X_pos).w ; we use a different start position and different level sizes
+ move.w d1,(Camera_target_min_X_pos).w ; to skip the snowboarding sequence
+ move.w d1,(Camera_min_X_pos_P2).w
move.w #$3780,d1
move.w d1,($FFFFB010).w
move.w #$36F0,d1
- move.w d1,($FFFFEE78).w
- move.w d1,($FFFFEE60).w
+ move.w d1,(Camera_X_pos).w
+ move.w d1,(Camera_X_pos_P2).w
move.w #$1E0,d0
move.w d0,($FFFFB014).w
move.w #$200,d0
- move.w d0,($FFFFEE18).w
- move.w d0,($FFFFEE10).w
- move.w d0,($FFFFEE20).w
- move.w d0,($FFFFEE7C).w
- move.w d0,($FFFFEE64).w
+ move.w d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_target_min_Y_pos).w
+ move.w d0,(Camera_min_Y_pos_P2).w
+ move.w d0,(Camera_Y_pos).w
+ move.w d0,(Camera_Y_pos_P2).w
rts
; ---------------------------------------------------------------------------
loc_1BF1E:
- cmpi.w #$700,($FFFFFE10).w
+ cmpi.w #$700,(Current_zone_and_act).w
bne.s loc_1BF48
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bcc.s loc_1BF48
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_1BF48
move.w #$C0,d2 ; If playing as Sonic/Tails in MHZ 1 with Sonic 3 locked on, modify level size
- move.w d2,($FFFFEE14).w
- move.w d2,($FFFFEE0C).w
- move.w d2,($FFFFEE1C).w
+ move.w d2,(Camera_min_X_pos).w
+ move.w d2,(Camera_target_min_X_pos).w
+ move.w d2,(Camera_min_X_pos_P2).w
move.w #$160,d1
loc_1BF48:
- cmpi.w #$1601,($FFFFFE10).w
+ cmpi.w #$1601,(Current_zone_and_act).w
beq.s loc_1BF70
- cmpi.w #$B00,($FFFFFE10).w
+ cmpi.w #$B00,(Current_zone_and_act).w
beq.s loc_1BF70
- cmpi.w #$900,($FFFFFE10).w
+ cmpi.w #$900,(Current_zone_and_act).w
beq.s loc_1BF68
- cmpi.w #$300,($FFFFFE10).w
+ cmpi.w #$300,(Current_zone_and_act).w
bne.s loc_1BF74
loc_1BF68:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_1BF74
loc_1BF70:
@@ -37956,29 +37969,29 @@ loc_1BF74: moveq #0,d1
loc_1BF7C:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_1BF8C
- move.w ($FFFFEE16).w,d2
+ move.w (Camera_max_X_pos).w,d2
cmp.w d2,d1
bcs.s loc_1BF8C
move.w d2,d1
loc_1BF8C:
- move.w d1,($FFFFEE78).w
- move.w d1,($FFFFEE60).w
+ move.w d1,(Camera_X_pos).w
+ move.w d1,(Camera_X_pos_P2).w
subi.w #$60,d0
bcc.s loc_1BF9C
moveq #0,d0
loc_1BF9C:
- cmp.w ($FFFFEE1A).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
blt.s loc_1BFA6
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
loc_1BFA6:
- move.w d0,($FFFFEE7C).w
- move.w d0,($FFFFEE64).w
+ move.w d0,(Camera_Y_pos).w
+ move.w d0,(Camera_Y_pos_P2).w
rts
; End of function Get_LevelSizeStart
@@ -37988,41 +38001,41 @@ loc_1BFA6: Restart_From_Starpost:
- tst.b ($FFFFEE30).w
+ tst.b (Drowned_flag).w
beq.s loc_1BFB8
rts
; ---------------------------------------------------------------------------
loc_1BFB8:
- clr.w ($FFFFEE00).w
- clr.w ($FFFFEE02).w
- clr.w ($FFFFEE04).w
- clr.w ($FFFFEE06).w
- tst.w ($FFFFFFE8).w
+ clr.w (Camera_RAM).w
+ clr.w (V_scroll_amount).w
+ clr.w (H_scroll_amount_P2).w
+ clr.w (V_scroll_amount_P2).w
+ tst.w (Competition_mode).w
bne.w loc_1C02C
- tst.b ($FFFFEE0A).w
+ tst.b (Scroll_lock).w
bne.s loc_1C028
- lea ($FFFFB000).w,a0
- tst.b ($FFFFF676).w
+ lea (Player_1).w,a0
+ tst.b (Scroll_force_positions).w
beq.s loc_1BFF0
- move.b #0,($FFFFF676).w
- move.w #0,($FFFFEE24).w
+ move.b #0,(Scroll_force_positions).w
+ move.w #0,(H_scroll_frame_offset).w
lea ($FFFFF668).w,a0
loc_1BFF0:
- lea ($FFFFEE78).w,a1
- lea ($FFFFEE14).w,a2
- lea ($FFFFEE00).w,a4
- lea ($FFFFEE24).w,a5
- lea ($FFFFE500).w,a6
+ lea (Camera_X_pos).w,a1
+ lea (Camera_min_X_pos).w,a2
+ lea (Camera_RAM).w,a4
+ lea (H_scroll_frame_offset).w,a5
+ lea (Pos_table).w,a6
bsr.w MoveCameraX
- lea ($FFFFEE7C).w,a1
- lea ($FFFFEE14).w,a2
- lea ($FFFFEE02).w,a4
- move.w ($FFFFEE2C).w,d3
- cmpi.w #2,($FFFFFF08).w
+ lea (Camera_Y_pos).w,a1
+ lea (Camera_min_X_pos).w,a2
+ lea (V_scroll_amount).w,a4
+ move.w (Distance_from_screen_top).w,d3
+ cmpi.w #2,(Player_mode).w
bne.s loc_1C024
- move.w ($FFFFEE2E).w,d3
+ move.w (Distance_from_screen_top_P2).w,d3
loc_1C024:
bsr.w MoveCameraY
@@ -38032,40 +38045,40 @@ loc_1C028: ; ---------------------------------------------------------------------------
loc_1C02C:
- tst.b ($FFFFEE0A).w
+ tst.b (Scroll_lock).w
bne.s loc_1C06E
- lea ($FFFFB000).w,a0
- lea ($FFFFEE78).w,a1
- lea ($FFFFEE14).w,a2
- lea ($FFFFEE00).w,a4
- lea ($FFFFEE24).w,a5
- lea ($FFFFE500).w,a6
+ lea (Player_1).w,a0
+ lea (Camera_X_pos).w,a1
+ lea (Camera_min_X_pos).w,a2
+ lea (Camera_RAM).w,a4
+ lea (H_scroll_frame_offset).w,a5
+ lea (Pos_table).w,a6
bsr.w MoveCameraX_2P
- lea ($FFFFEE7C).w,a1
- lea ($FFFFEE14).w,a2
- lea ($FFFFEE02).w,a4
- move.w ($FFFFEE2C).w,d3
- cmpi.w #2,($FFFFFF08).w
+ lea (Camera_Y_pos).w,a1
+ lea (Camera_min_X_pos).w,a2
+ lea (V_scroll_amount).w,a4
+ move.w (Distance_from_screen_top).w,d3
+ cmpi.w #2,(Player_mode).w
bne.s loc_1C06A
- move.w ($FFFFEE2E).w,d3
+ move.w (Distance_from_screen_top_P2).w,d3
loc_1C06A:
bsr.w MoveCameraY
loc_1C06E:
- tst.b ($FFFFEE0B).w
+ tst.b (Scroll_lock_P2).w
bne.s loc_1C0A4
- lea ($FFFFB04A).w,a0
- lea ($FFFFEE60).w,a1
- lea ($FFFFEE1C).w,a2
- lea ($FFFFEE04).w,a4
- lea ($FFFFEE28).w,a5
- lea ($FFFFE400).w,a6
+ lea (Player_2).w,a0
+ lea (Camera_X_pos_P2).w,a1
+ lea (Camera_min_X_pos_P2).w,a2
+ lea (H_scroll_amount_P2).w,a4
+ lea (H_scroll_frame_offset_P2).w,a5
+ lea (Stat_table).w,a6
bsr.w MoveCameraX_2P
- lea ($FFFFEE64).w,a1
- lea ($FFFFEE1C).w,a2
- lea ($FFFFEE06).w,a4
- move.w ($FFFFEE2E).w,d3
+ lea (Camera_Y_pos_P2).w,a1
+ lea (Camera_min_X_pos_P2).w,a2
+ lea (V_scroll_amount_P2).w,a4
+ move.w (Distance_from_screen_top_P2).w,d3
bsr.w MoveCameraY
loc_1C0A4:
@@ -38078,7 +38091,7 @@ loc_1C0A4: MoveCameraX:
move.w (a1),d4
- tst.b ($FFFFF623).w
+ tst.b (Teleport_active_flag).w
bne.s locret_1C0E6
move.w (a5),d1
beq.s loc_1C0D2
@@ -38152,9 +38165,9 @@ MoveCameraY: moveq #0,d1
move.w $14(a0),d0
sub.w (a1),d0
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
bne.s loc_1C132
- and.w ($FFFFEEAA).w,d0
+ and.w (Screen_Y_wrap_value).w,d0
loc_1C132:
btst #2,$2A(a0)
@@ -38163,7 +38176,7 @@ loc_1C132: loc_1C13C:
move.w d3,d1
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s loc_1C146
lsr.w #1,d1
@@ -38175,7 +38188,7 @@ loc_1C146: bcs.s loc_1C1B0
subi.w #$40,d0
bcc.s loc_1C1B0
- tst.b ($FFFFEE32).w
+ tst.b (Camera_max_Y_pos_changing).w
bne.s loc_1C1C2
bra.s loc_1C16E
; ---------------------------------------------------------------------------
@@ -38183,7 +38196,7 @@ loc_1C146: loc_1C164:
sub.w d1,d0
bne.s loc_1C172
- tst.b ($FFFFEE32).w
+ tst.b (Camera_max_Y_pos_changing).w
bne.s loc_1C1C2
loc_1C16E:
@@ -38194,7 +38207,7 @@ loc_1C16E: loc_1C172:
cmpi.w #$60,d3
bne.s loc_1C19E
- tst.b ($FFFFEE39).w
+ tst.b (Fast_V_scroll_flag).w
bne.s loc_1C1B0
move.w $1C(a0),d1
bpl.s loc_1C186
@@ -38233,7 +38246,7 @@ loc_1C1B0: loc_1C1C2:
moveq #0,d0
- move.b d0,($FFFFEE32).w
+ move.b d0,(Camera_max_Y_pos_changing).w
loc_1C1C8:
@@ -38258,7 +38271,7 @@ loc_1C1E2: bgt.s loc_1C21A
cmpi.w #-$100,d1
bgt.s loc_1C1F4
- and.w ($FFFFEEAA).w,d1
+ and.w (Screen_Y_wrap_value).w,d1
bra.s loc_1C21A
; ---------------------------------------------------------------------------
@@ -38277,7 +38290,7 @@ loc_1C1FA: loc_1C202:
cmp.w 6(a2),d1
blt.s loc_1C21A
- move.w ($FFFFEEAA).w,d3
+ move.w (Screen_Y_wrap_value).w,d3
addq.w #1,d3
sub.w d3,d1
bcs.s loc_1C216
@@ -38297,10 +38310,10 @@ loc_1C21A: ror.l #8,d3
move.w d3,(a4)
move.l d1,(a1)
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s locret_1C236
swap d1
- and.w ($FFFFEEAA).w,d1
+ and.w (Screen_Y_wrap_value).w,d1
move.w d1,(a1)
locret_1C236:
@@ -38314,7 +38327,7 @@ locret_1C236: MoveCameraX_2P:
; Restart_From_Starpost+DCp
move.w (a1),d4
- tst.b ($FFFFF623).w
+ tst.b (Teleport_active_flag).w
bne.s locret_1C27C
move.w (a5),d1
beq.s loc_1C262
@@ -38335,7 +38348,7 @@ loc_1C262: move.w $10(a0),d0
loc_1C266:
- move.w ($FFFFEEA8).w,d2
+ move.w (Screen_X_wrap_value).w,d2
sub.w (a1),d0
and.w d2,d0
subi.w #$90,d0
@@ -38392,11 +38405,11 @@ j_LevelSetup: LoadLevelLoadBlock2:
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
bne.s loc_1C2C8
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcc.s loc_1C2C4
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
beq.s loc_1C2C8
loc_1C2C4:
@@ -38418,7 +38431,7 @@ loc_1C2C8: andi.l #$FFFFFF,d0
move.l d0,d7
movea.l d0,a0
- lea ($FFFF9000).w,a1
+ lea (Block_table).w,a1
jsr (Kos_Decomp).l
move.l (a2)+,d0
andi.l #$FFFFFF,d0
@@ -38432,7 +38445,7 @@ loc_1C30E: andi.l #$FFFFFF,d0
move.l d0,d7
movea.l d0,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
jsr (Kos_Decomp).l
move.l (a2)+,d0
andi.l #$FFFFFF,d0
@@ -38469,13 +38482,13 @@ loc_1C354: Load_Level:
moveq #0,d0
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #5,d0
andi.w #$FC,d0
lea (LevelPtrs).l,a0
movea.l (a0,d0.w),a0
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.w #$7FF,d2
loc_1C382:
@@ -38488,36 +38501,36 @@ loc_1C382: Do_ResizeEvents:
moveq #0,d0
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #6,d0
andi.w #$3E,d0
move.w LevelResizeArray(pc,d0.w),d0
jsr LevelResizeArray(pc,d0.w)
moveq #2,d1
- move.w ($FFFFEE12).w,d0
- sub.w ($FFFFEE1A).w,d0
+ move.w (Camera_target_max_Y_pos).w,d0
+ sub.w (Camera_max_Y_pos).w,d0
beq.s locret_1C3CE
bcc.s loc_1C3D0
neg.w d1
- move.w ($FFFFEE7C).w,d0
- cmp.w ($FFFFEE12).w,d0
+ move.w (Camera_Y_pos).w,d0
+ cmp.w (Camera_target_max_Y_pos).w,d0
bls.s loc_1C3C4
- move.w d0,($FFFFEE1A).w
- andi.w #-2,($FFFFEE1A).w
+ move.w d0,(Camera_max_Y_pos).w
+ andi.w #-2,(Camera_max_Y_pos).w
loc_1C3C4:
- add.w d1,($FFFFEE1A).w
- move.b #1,($FFFFEE32).w
+ add.w d1,(Camera_max_Y_pos).w
+ move.b #1,(Camera_max_Y_pos_changing).w
locret_1C3CE:
rts
; ---------------------------------------------------------------------------
loc_1C3D0:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #8,d0
- cmp.w ($FFFFEE1A).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
bcs.s loc_1C3EA
btst #1,($FFFFB02A).w
beq.s loc_1C3EA
@@ -38526,8 +38539,8 @@ loc_1C3D0: loc_1C3EA:
- add.w d1,($FFFFEE1A).w
- move.b #1,($FFFFEE32).w
+ add.w d1,(Camera_max_Y_pos).w
+ move.b #1,(Camera_max_Y_pos_changing).w
rts
; ---------------------------------------------------------------------------
LevelResizeArray: dc.w AIZ1_Resize-LevelResizeArray
@@ -38582,7 +38595,7 @@ LevelResizeArray: dc.w AIZ1_Resize-LevelResizeArray AIZ1_Resize:
moveq #0,d0
- move.b ($FFFFEE33).w,d0
+ move.b (Dynamic_resize_routine).w,d0
move.w off_1C464(pc,d0.w),d0
jmp off_1C464(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -38596,15 +38609,15 @@ off_1C464: dc.w loc_1C46E-off_1C464 loc_1C46E:
move.b #1,($FFFFF72E).w
- cmpi.w #$1000,($FFFFEE78).w
+ cmpi.w #$1000,(Camera_X_pos).w
bcs.s locret_1C4CE
move.b #0,($FFFFF72E).w
- move.w ($FFFFEE78).w,($FFFFEE14).w
- cmpi.w #$1308,($FFFFEE78).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
+ cmpi.w #$1308,(Camera_X_pos).w
bcs.s locret_1C4CE
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.s loc_1C4A6
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcc.s loc_1C4A6
moveq #$B,d0
jsr (Load_PLC).l
@@ -38613,7 +38626,7 @@ loc_1C4A6: moveq #$2A,d0
jsr (LoadPalette_Immediate).l
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_1C4C4
lea ($FFFFFC70).w,a1
lea (word_4FAE4).l,a2
@@ -38622,7 +38635,7 @@ loc_1C4A6: loc_1C4C4:
move.w #2,($FFFFF708).w
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C4CE:
@@ -38630,12 +38643,12 @@ locret_1C4CE: ; ---------------------------------------------------------------------------
loc_1C4D0:
- move.w #$1308,($FFFFEE14).w
- cmpi.w #$1400,($FFFFEE78).w
+ move.w #$1308,(Camera_min_X_pos).w
+ cmpi.w #$1400,(Camera_X_pos).w
bcs.s locret_1C54E
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.s loc_1C522
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcc.s loc_1C522
lea (AIZ1_16x16_MainLevel_Kos).l,a1
lea ($FFFF9268).w,a2
@@ -38650,14 +38663,14 @@ loc_1C4D0: loc_1C522:
- move.b #1,($FFFFFE2A).w
- move.w #$13A0,($FFFFFE2E).w
- move.w #$41A,($FFFFFE30).w
+ move.b #1,(Last_star_post_hit).w
+ move.w #$13A0,(Saved_X_pos).w
+ move.w #$41A,(Saved_Y_pos).w
jsr (Save_Level_Data).l
- move.l #0,($FFFFFE34).w
+ move.l #0,(Saved_timer).w
moveq #8,d0
jsr (Load_PLC).l
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C54E:
rts
@@ -38666,39 +38679,40 @@ locret_1C54E: loc_1C550:
lea (byte_1C60A).l,a1
bsr.w Resize_MaxYFromX
- move.w #0,($FFFFEE18).w
+ move.w #0,(Camera_min_Y_pos).w
move.w #$20E,($FFFFFCDE).w
- tst.b ($FFFFF600).w
+ tst.b (Game_mode).w
bmi.s loc_1C578
- tst.w ($FFFFEE50).w
+ tst.w (Palette_fade_timer).w
bne.s loc_1C578
move.w #$20E,($FFFFFC5E).w
loc_1C578:
- cmpi.w #$2B00,($FFFFEE78).w
+ cmpi.w #$2B00,(Camera_X_pos).w
bcs.s loc_1C586
move.w #4,($FFFFFC5E).w
loc_1C586:
- cmpi.w #$2C00,($FFFFEE78).w
+ cmpi.w #$2C00,(Camera_X_pos).w
bcs.s loc_1C594
- move.w #$2E0,($FFFFEE18).w
+ move.w #$2E0,(Camera_min_Y_pos).w
loc_1C594:
- cmpi.w #$2D80,($FFFFEE78).w
+ cmpi.w #$2D80,(Camera_X_pos).w
bcs.s locret_1C5C4
move.w #$C02,d0
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_1C5AE
move.w (word_4FAEA).l,d0
+
loc_1C5AE:
move.w d0,($FFFFFC5E).w
- move.w #$2D80,($FFFFEE14).w
+ move.w #$2D80,(Camera_min_X_pos).w
moveq #$5A,d0
jsr (Load_PLC).l
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C5C4:
rts
@@ -38707,17 +38721,17 @@ locret_1C5C4: loc_1C5C6:
lea (byte_1C60A).l,a1
bsr.w Resize_MaxYFromX
- move.w ($FFFFEE78).w,($FFFFEE14).w
- cmpi.w #$2E00,($FFFFEE78).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
+ cmpi.w #$2E00,(Camera_X_pos).w
bcs.s locret_1C600
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.s locret_1C600
lea (AIZ1_8x8_Flames_KosM).l,a1
move.w #$A000,d2
jsr (Queue_Kos_Module).l
moveq #$C,d0
jsr (Load_PLC).l
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C600:
@@ -38725,7 +38739,7 @@ locret_1C600: ; ---------------------------------------------------------------------------
loc_1C602:
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
rts
; ---------------------------------------------------------------------------
byte_1C60A: dc.b $83, $90, $16, $50, $83, $B0, $1B, 0, $84, $30, $20, 0, $84, $C0, $2B, 0, $83, $B0, $2D, $80
@@ -38734,7 +38748,7 @@ byte_1C60A: dc.b $83, $90, $16, $50, $83, $B0, $1B, 0, $84, $30, $20, 0, $8 AIZ2_Resize:
moveq #0,d0
- move.b ($FFFFEE33).w,d0
+ move.b (Dynamic_resize_routine).w,d0
move.w off_1C630(pc,d0.w),d0
jmp off_1C630(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -38756,26 +38770,26 @@ off_1C630: dc.w loc_1C64E-off_1C630 ;0 ; ---------------------------------------------------------------------------
loc_1C64E:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_1C660
- move.b #$12,($FFFFEE33).w ; If playing as Knuckles
+ move.b #$12,(Dynamic_resize_routine).w ; If playing as Knuckles
bra.w AIZ2_KnuxResize1
; ---------------------------------------------------------------------------
loc_1C660:
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
AIZ2_SonicResize1:
- cmpi.w #$2E0,($FFFFEE78).w
+ cmpi.w #$2E0,(Camera_X_pos).w
bcs.s locret_1C68E
move.w #$590,d0
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
- addq.b #2,($FFFFEE33).w ; Set level height to normal when past the open field
- cmpi.w #1,($FFFFEE4E).w ; If non-internal level is not AIZ2, then the miniboss hasn't been defeated yet
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
+ addq.b #2,(Dynamic_resize_routine).w ; Set level height to normal when past the open field
+ cmpi.w #1,(Apparent_zone_and_act).w ; If non-internal level is not AIZ2, then the miniboss hasn't been defeated yet
bne.s locret_1C68E
- move.w #$F50,($FFFFEE14).w ; Put $F50 as the start X
- addq.b #2,($FFFFEE33).w
+ move.w #$F50,(Camera_min_X_pos).w ; Put $F50 as the start X
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C68E:
@@ -38784,17 +38798,17 @@ locret_1C68E: AIZ2_SonicResize2:
move.w #$590,d0
- cmpi.w #$ED0,($FFFFEE78).w
+ cmpi.w #$ED0,(Camera_X_pos).w
bcs.s loc_1C6A0
move.w #$2B8,d0 ; Set level height to 2B8 when boss is approached.
loc_1C6A0:
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
- cmpi.w #$F50,($FFFFEE78).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
+ cmpi.w #$F50,(Camera_X_pos).w
bcs.s locret_1C6DA
- move.w #$F50,($FFFFEE14).w ; When boss has been reached, lock the screen
- tst.w ($FFFFFE08).w ; If in debug mode, don't load boss
+ move.w #$F50,(Camera_min_X_pos).w ; When boss has been reached, lock the screen
+ tst.w (Debug_placement_mode).w ; If in debug mode, don't load boss
bne.s loc_1C6D6
jsr (Create_New_Sprite).l
bne.s loc_1C6D6
@@ -38804,27 +38818,27 @@ loc_1C6A0: loc_1C6D6:
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C6DA:
rts
; ---------------------------------------------------------------------------
AIZ2_SonicResize3:
- cmpi.w #$1500,($FFFFEE78).w
+ cmpi.w #$1500,(Camera_X_pos).w
bcs.s locret_1C6F4
- move.w #$630,($FFFFEE1A).w ; Set the level height to $630 when playing as Sonic past $1500
- move.w #$630,($FFFFEE12).w
- addq.b #2,($FFFFEE33).w
+ move.w #$630,(Camera_max_Y_pos).w ; Set the level height to $630 when playing as Sonic past $1500
+ move.w #$630,(Camera_target_max_Y_pos).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C6F4:
rts
; ---------------------------------------------------------------------------
AIZ2_SonicResize4:
- cmpi.w #$3C00,($FFFFEE78).w
+ cmpi.w #$3C00,(Camera_X_pos).w
bcs.s locret_1C744
- tst.b ($FFFFFF60).w ; When $3C00 X is passed
+ tst.b (Kos_modules_left).w ; When $3C00 X is passed
bne.s locret_1C744
lea (AIZ2_16x16_BomberShip_Kos).l,a1 ; If KosM queue is clear
lea ($FFFF9AB8).w,a2
@@ -38838,7 +38852,7 @@ AIZ2_SonicResize4: moveq #$30,d0
jsr (LoadPalette_Immediate).l ; Load palette
st ($FFFFEEC6).w ; Send signal to background event
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C744:
@@ -38846,34 +38860,34 @@ locret_1C744: ; ---------------------------------------------------------------------------
AIZ2_SonicResize5:
- cmpi.w #$3F00,($FFFFEE78).w
+ cmpi.w #$3F00,(Camera_X_pos).w
bcs.s locret_1C75E
move.w #$15A,d0 ; When past $3F00 X, set top of level to $15A
- move.w d0,($FFFFEE18).w
- move.w d0,($FFFFEE10).w
- addq.b #2,($FFFFEE33).w
+ move.w d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_target_min_Y_pos).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C75E:
rts
; ---------------------------------------------------------------------------
AIZ2_SonicResize6:
- cmpi.w #$4000,($FFFFEE78).w
+ cmpi.w #$4000,(Camera_X_pos).w
bcs.s locret_1C778
move.w #$15A,d0
- move.w d0,($FFFFEE1A).w ; When past $4000 X, set bottom of level to $15A
- move.w d0,($FFFFEE12).w
- addq.b #2,($FFFFEE33).w
+ move.w d0,(Camera_max_Y_pos).w ; When past $4000 X, set bottom of level to $15A
+ move.w d0,(Camera_target_max_Y_pos).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C778:
rts
; ---------------------------------------------------------------------------
AIZ2_SonicResize7:
- cmpi.w #$4160,($FFFFEE78).w
+ cmpi.w #$4160,(Camera_X_pos).w
bcs.s AIZ2_SonicResizeEnd
st ($FFFFEEC4).w ; When past $4160, send signal to screen event to start the battleship sequence
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
AIZ2_SonicResizeEnd:
@@ -38882,16 +38896,16 @@ AIZ2_SonicResizeEnd: AIZ2_KnuxResize1:
- cmpi.w #$2E0,($FFFFEE78).w
+ cmpi.w #$2E0,(Camera_X_pos).w
bcs.s locret_1C7B6
move.w #$590,d0
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w ; Set level height to normal when past the open field
- addq.b #2,($FFFFEE33).w
- cmpi.w #1,($FFFFEE4E).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w ; Set level height to normal when past the open field
+ addq.b #2,(Dynamic_resize_routine).w
+ cmpi.w #1,(Apparent_zone_and_act).w
bne.s locret_1C7B6
- move.w #$1040,($FFFFEE14).w ; Knuckles boss is slightly more to the right than Sonic's
- addq.b #2,($FFFFEE33).w
+ move.w #$1040,(Camera_min_X_pos).w ; Knuckles boss is slightly more to the right than Sonic's
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C7B6:
@@ -38900,17 +38914,17 @@ locret_1C7B6: AIZ2_KnuxResize2:
move.w #$590,d0
- cmpi.w #$E80,($FFFFEE78).w
+ cmpi.w #$E80,(Camera_X_pos).w
bcs.s loc_1C7C8
move.w #$450,d0
loc_1C7C8:
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
- cmpi.w #$1040,($FFFFEE78).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
+ cmpi.w #$1040,(Camera_X_pos).w
bcs.s locret_1C808
- move.w #$1040,($FFFFEE14).w
- tst.w ($FFFFFE08).w
+ move.w #$1040,(Camera_min_X_pos).w
+ tst.w (Debug_placement_mode).w
bne.s loc_1C7FE
jsr (Create_New_Sprite).l
bne.s loc_1C7FE
@@ -38920,27 +38934,27 @@ loc_1C7C8: loc_1C7FE:
- move.w #$F80,($FFFFF64A).w
- addq.b #2,($FFFFEE33).w
+ move.w #$F80,(Target_water_level).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C808:
rts
; ---------------------------------------------------------------------------
AIZ2_KnuxResize3:
- cmpi.w #$11A0,($FFFFEE78).w
+ cmpi.w #$11A0,(Camera_X_pos).w
bcs.s locret_1C81C
- move.w #$820,($FFFFEE12).w ; Set level height to $820 when playing as Knuckles
- addq.b #2,($FFFFEE33).w
+ move.w #$820,(Camera_target_max_Y_pos).w ; Set level height to $820 when playing as Knuckles
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C81C:
rts
; ---------------------------------------------------------------------------
AIZ2_KnuxResize4:
- cmpi.w #$3B80,($FFFFEE78).w
+ cmpi.w #$3B80,(Camera_X_pos).w
bcs.s locret_1C868
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.s locret_1C868
lea (AIZ2_16x16_BomberShip_Kos).l,a1
lea ($FFFF9AB8).w,a2
@@ -38950,22 +38964,23 @@ AIZ2_KnuxResize4: jsr (Queue_Kos_Module).l ; I'm guessing the art here is for the trees and/or the waterfall in the boss arena
moveq #$30,d0
jsr (LoadPalette_Immediate).l
- move.w #$3B80,($FFFFEE14).w
- move.w #$5DA,($FFFFEE12).w
+ move.w #$3B80,(Camera_min_X_pos).w
+ move.w #$5DA,(Camera_target_max_Y_pos).w
st ($FFFFEEC6).w ; Set the flag for the background event
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C868:
+
rts
; ---------------------------------------------------------------------------
AIZ2_KnuxResize5:
move.w #$3F80,d0
- cmp.w ($FFFFEE78).w,d0
+ cmp.w (Camera_X_pos).w,d0
bhi.s AIZ2_KnuxResizeEnd
- move.w d0,($FFFFEE14).w
- addq.b #2,($FFFFEE33).w
+ move.w d0,(Camera_min_X_pos).w
+ addq.b #2,(Dynamic_resize_routine).w
AIZ2_KnuxResizeEnd:
@@ -38974,7 +38989,7 @@ AIZ2_KnuxResizeEnd: HCZ1_Resize:
moveq #0,d0
- move.b ($FFFFEE33).w,d0
+ move.b (Dynamic_resize_routine).w,d0
move.w off_1C88C(pc,d0.w),d0
jmp off_1C88C(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -38985,15 +39000,15 @@ off_1C88C: dc.w loc_1C892-off_1C88C ; ---------------------------------------------------------------------------
loc_1C892:
- cmpi.w #$360,($FFFFEE78).w
+ cmpi.w #$360,(Camera_X_pos).w
bcc.s locret_1C8B6
- cmpi.w #$3E0,($FFFFEE7C).w
+ cmpi.w #$3E0,(Camera_Y_pos).w
bcs.s locret_1C8B6
lea ($FFFFFC70).w,a1
move.w #$B80,(a1)+
move.w #$240,(a1)+
move.w #$220,(a1)+
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C8B6:
@@ -39001,20 +39016,20 @@ locret_1C8B6: ; ---------------------------------------------------------------------------
loc_1C8B8:
- cmpi.w #$360,($FFFFEE78).w
+ cmpi.w #$360,(Camera_X_pos).w
bcc.s loc_1C8CE
- cmpi.w #$3E0,($FFFFEE7C).w
+ cmpi.w #$3E0,(Camera_Y_pos).w
bcc.s locret_1C8F2
- subq.b #2,($FFFFEE33).w
+ subq.b #2,(Dynamic_resize_routine).w
bra.s loc_1C8E2
; ---------------------------------------------------------------------------
loc_1C8CE:
- cmpi.w #$500,($FFFFEE7C).w
+ cmpi.w #$500,(Camera_Y_pos).w
bcs.s locret_1C8F2
- cmpi.w #$900,($FFFFEE78).w
+ cmpi.w #$900,(Camera_X_pos).w
bcs.s locret_1C8F2
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
loc_1C8E2:
lea ($FFFFFC70).w,a1
@@ -39033,7 +39048,7 @@ locret_1C8F4: HCZ2_Resize:
moveq #0,d0
- move.b ($FFFFEE33).w,d0
+ move.b (Dynamic_resize_routine).w,d0
move.w off_1C904(pc,d0.w),d0
jmp off_1C904(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -39043,10 +39058,10 @@ off_1C904: dc.w loc_1C908-off_1C904 ; ---------------------------------------------------------------------------
loc_1C908:
- cmpi.w #$C00,($FFFFEE78).w
+ cmpi.w #$C00,(Camera_X_pos).w
bcs.s locret_1C918
st ($FFFFEEC6).w
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C918:
rts
@@ -39058,7 +39073,7 @@ locret_1C91A: MGZ_Resize:
moveq #0,d0
- move.b ($FFFFEE33).w,d0
+ move.b (Dynamic_resize_routine).w,d0
move.w off_1C92A(pc,d0.w),d0
jmp off_1C92A(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -39069,22 +39084,22 @@ off_1C92A: dc.w loc_1C930-off_1C92A ; ---------------------------------------------------------------------------
loc_1C930:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
cmpi.w #$600,d0
bcs.s locret_1C96C
cmpi.w #$700,d0
bcc.s locret_1C96C
- cmpi.w #$3A00,($FFFFEE78).w
+ cmpi.w #$3A00,(Camera_X_pos).w
bcs.s locret_1C96C
move.w #$6A0,d0
- move.w d0,($FFFFEE18).w
- move.w d0,($FFFFEE10).w
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_target_min_Y_pos).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
move.w #$3C80,d0
- move.w d0,($FFFFEE16).w
- move.w d0,($FFFFEE0E).w
- addq.b #2,($FFFFEE33).w
+ move.w d0,(Camera_max_X_pos).w
+ move.w d0,(Camera_target_max_X_pos).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C96C:
@@ -39092,13 +39107,13 @@ locret_1C96C: ; ---------------------------------------------------------------------------
loc_1C96E:
- cmpi.w #$3A00,($FFFFEE78).w
+ cmpi.w #$3A00,(Camera_X_pos).w
bcs.s loc_1C9A8
move.w #$3C80,d0
- cmp.w ($FFFFEE78).w,d0
+ cmp.w (Camera_X_pos).w,d0
bhi.s locret_1C9C6
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE0C).w
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_target_min_X_pos).w
jsr (Create_New_Sprite).l
bne.s loc_1C9A2
move.l #Obj_A1_1_MGZ2_Boss,(a1)
@@ -39106,18 +39121,18 @@ loc_1C96E: move.w #$668,$14(a1)
loc_1C9A2:
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
rts
; ---------------------------------------------------------------------------
loc_1C9A8:
move.l #$1000,d0
- move.l d0,($FFFFEE18).w
- move.l d0,($FFFFEE10).w
+ move.l d0,(Camera_min_Y_pos).w
+ move.l d0,(Camera_target_min_Y_pos).w
move.w #$6000,d0
- move.w d0,($FFFFEE16).w
- move.w d0,($FFFFEE0E).w
- subq.b #2,($FFFFEE33).w
+ move.w d0,(Camera_max_X_pos).w
+ move.w d0,(Camera_target_max_X_pos).w
+ subq.b #2,(Dynamic_resize_routine).w
locret_1C9C6:
rts
@@ -39133,7 +39148,7 @@ No_Resize2: ICZ1_Resize:
moveq #0,d0
- move.b ($FFFFEE33).w,d0
+ move.b (Dynamic_resize_routine).w,d0
move.w off_1C9DA(pc,d0.w),d0
jmp off_1C9DA(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -39144,12 +39159,12 @@ off_1C9DA: dc.w loc_1C9E0-off_1C9DA ; ---------------------------------------------------------------------------
loc_1C9E0:
- cmpi.w #$3700,($FFFFEE78).w
+ cmpi.w #$3700,(Camera_X_pos).w
bcs.s locret_1C9F8
- cmpi.w #$68C,($FFFFEE7C).w
+ cmpi.w #$68C,(Camera_Y_pos).w
bcs.s locret_1C9F8
st ($FFFFEEC6).w
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1C9F8:
@@ -39157,10 +39172,10 @@ locret_1C9F8: ; ---------------------------------------------------------------------------
loc_1C9FA:
- cmpi.w #$3940,($FFFFEE78).w
+ cmpi.w #$3940,(Camera_X_pos).w
bcs.s locret_1CA0A
st ($FFFFEEC6).w
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1CA0A:
rts
@@ -39172,7 +39187,7 @@ locret_1CA0C: ICZ2_Resize:
moveq #0,d0
- move.b ($FFFFEE33).w,d0
+ move.b (Dynamic_resize_routine).w,d0
move.w off_1CA1C(pc,d0.w),d0
jmp off_1CA1C(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -39182,12 +39197,12 @@ off_1CA1C: dc.w loc_1CA20-off_1CA1C ; ---------------------------------------------------------------------------
loc_1CA20:
- cmpi.w #$740,($FFFFEE78).w
+ cmpi.w #$740,(Camera_X_pos).w
bcs.s locret_1CA3A
- cmpi.w #$400,($FFFFEE7C).w
+ cmpi.w #$400,(Camera_Y_pos).w
bcc.s locret_1CA3A
- move.w #$740,($FFFFEE14).w
- addq.b #2,($FFFFEE33).w
+ move.w #$740,(Camera_min_X_pos).w
+ addq.b #2,(Dynamic_resize_routine).w
locret_1CA3A:
@@ -39204,7 +39219,7 @@ No_Resize: LBZ2_Resize:
moveq #0,d0
- move.b ($FFFFEE33).w,d0
+ move.b (Dynamic_resize_routine).w,d0
move.w off_1CA4E(pc,d0.w),d0
jmp off_1CA4E(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -39214,16 +39229,16 @@ off_1CA4E: dc.w loc_1CA52-off_1CA4E ; ---------------------------------------------------------------------------
loc_1CA52:
- cmpi.w #$3BC0,($FFFFEE78).w
+ cmpi.w #$3BC0,(Camera_X_pos).w
bcs.s locret_1CAA8
- cmpi.w #$500,($FFFFEE7C).w
+ cmpi.w #$500,(Camera_Y_pos).w
bcs.s locret_1CAA8
- addq.b #2,($FFFFEE33).w
+ addq.b #2,(Dynamic_resize_routine).w
lea (LBZ2_16x16_DeathEgg_Kos).l,a1
- lea ($FFFF9000).w,a2
+ lea (Block_table).w,a2
jsr (Queue_Kos).l
lea (LBZ2_128x128_DeathEgg_Kos).l,a1
- lea ($FFFF0000).l,a2
+ lea (RAM_start).l,a2
jsr (Queue_Kos).l
lea (LBZ2_8x8_DeathEgg_KosM).l,a1
move.w #0,d2
@@ -39249,7 +39264,7 @@ No_Resize3: Resize_MaxYFromX:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
loc_1CAB2:
move.l (a1)+,d1
@@ -39259,10 +39274,10 @@ loc_1CAB2: tst.w d1
bpl.s loc_1CAC6
andi.w #$7FFF,d1
- move.w d1,($FFFFEE1A).w
+ move.w d1,(Camera_max_Y_pos).w
loc_1CAC6:
- move.w d1,($FFFFEE12).w
+ move.w d1,(Camera_target_max_Y_pos).w
rts
; End of function Resize_MaxYFromX
@@ -39286,12 +39301,12 @@ off_1CADA: dc.w loc_1CADE-off_1CADA loc_1CADE:
addq.b #2,($FFFFFE65).w
lea (LRZ1_Rock_Placement).l,a1
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_1CAF4
lea (LRZ2_Rock_Placement).l,a1
loc_1CAF4:
- move.w ($FFFFEE78).w,d4
+ move.w (Camera_X_pos).w,d4
subq.w #8,d4
bhi.s loc_1CB02
moveq #1,d4
@@ -39322,7 +39337,7 @@ loc_1CB14: loc_1CB20:
movea.l ($FFFFFE66).w,a1
- move.w ($FFFFEE78).w,d4
+ move.w (Camera_X_pos).w,d4
subq.w #8,d4
bhi.s loc_1CB32
moveq #1,d4
@@ -39464,20 +39479,20 @@ Obj_PathSwap: add.w d0,d0
move.w word_1CD34(pc,d0.w),$32(a0)
move.w $14(a0),d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmp.w $14(a1),d1
bcc.s loc_1CD06
move.b #1,$34(a0)
loc_1CD06:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmp.w $14(a1),d1
bcc.s loc_1CD16
move.b #1,$35(a0)
loc_1CD16:
move.l #loc_1CEF2,(a0)
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.w loc_1CEF2
move.l #loc_1CF1A,(a0)
move.w #$63D2,$A(a0)
@@ -39495,20 +39510,20 @@ loc_1CD3C: add.w d0,d0
move.w word_1CD34(pc,d0.w),$32(a0)
move.w $10(a0),d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmp.w $10(a1),d1
bcc.s loc_1CD60
move.b #1,$34(a0)
loc_1CD60:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmp.w $10(a1),d1
bcc.s loc_1CD70
move.b #1,$35(a0)
loc_1CD70:
move.l #loc_1CD8A,(a0)
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s loc_1CD8A
move.l #loc_1CDB2,(a0)
move.w #$63D2,$A(a0)
@@ -39517,13 +39532,13 @@ loc_1CD70: loc_1CD8A:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_1CDAC
move.w $10(a0),d1
lea $34(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_1CDDA
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_1CDDA
jmp (Delete_Sprite_If_Not_In_Range).l
; ---------------------------------------------------------------------------
@@ -39536,12 +39551,12 @@ loc_1CDB2: move.w $10(a0),d1
lea $34(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_1CDDA
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_1CDDA
- lea ($FFFFCB2C).w,a1
- tst.w ($FFFFFFDA).w
+ lea (Breathing_bubbles).w,a1
+ tst.w (Debug_mode_flag).w
beq.w sub_1CDDA
bsr.s sub_1CDDA
jmp (Draw_Sprite).l
@@ -39651,13 +39666,13 @@ locret_1CEF0: loc_1CEF2:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_1CF14
move.w $14(a0),d1
lea $34(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_1CF42
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_1CF42
jmp (Delete_Sprite_If_Not_In_Range).l
; ---------------------------------------------------------------------------
@@ -39670,12 +39685,12 @@ loc_1CF1A: move.w $14(a0),d1
lea $34(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_1CF42
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_1CF42
- lea ($FFFFCB2C).w,a1
- tst.w ($FFFFFFDA).w
+ lea (Breathing_bubbles).w,a1
+ tst.w (Debug_mode_flag).w
beq.w sub_1CF42
bsr.s sub_1CF42
jmp (Draw_Sprite).l
@@ -39802,13 +39817,13 @@ Obj_3A_2: add.w d0,d0
move.w word_1D178(pc,d0.w),$32(a0)
move.w $14(a0),d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmp.w $14(a1),d1
bcc.s loc_1D15E
move.b #1,$34(a0)
loc_1D15E:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmp.w $14(a1),d1
bcc.s loc_1D16E
move.b #1,$35(a0)
@@ -39829,13 +39844,13 @@ loc_1D180: add.w d0,d0
move.w word_1D178(pc,d0.w),$32(a0)
move.w $10(a0),d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmp.w $10(a1),d1
bcc.s loc_1D1A4
move.b #1,$34(a0)
loc_1D1A4:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmp.w $10(a1),d1
bcc.s loc_1D1B4
move.b #1,$35(a0)
@@ -39844,13 +39859,13 @@ loc_1D1B4: move.l #loc_1D1BA,(a0)
loc_1D1BA:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_1D1DC
move.w $10(a0),d1
lea $34(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_1D1E2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_1D1E2
jmp (Delete_Sprite_If_Not_In_Range).l
; ---------------------------------------------------------------------------
@@ -40033,13 +40048,13 @@ locret_1D38E: loc_1D390:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_1D3B2
move.w $14(a0),d1
lea $34(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_1D3B8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_1D3B8
jmp (Delete_Sprite_If_Not_In_Range).l
; ---------------------------------------------------------------------------
@@ -40267,12 +40282,12 @@ loc_1D5DC: move.w d2,d3
addq.w #1,d3
move.w $10(a0),d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.w sub_1D696
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w sub_1D6C2
jsr (Add_SpriteToCollisionResponseList).l
@@ -40371,7 +40386,7 @@ loc_1D6BE: sub_1D6C2:
btst d6,$2A(a0)
bne.s loc_1D6DC
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.w loc_1DF90
cmpi.b #2,$20(a1)
bne.w loc_1DF90
@@ -40558,18 +40573,18 @@ loc_1D890: Monitor_Give_1up:
addq.w #1,($FFFFFECC).w
- addq.b #1,($FFFFFE12).w
- addq.b #1,($FFFFFE1C).w
+ addq.b #1,(Life_count).w
+ addq.b #1,(Update_HUD_life_count).w
moveq #$2A,d0
jmp (Play_Sound).l
; ---------------------------------------------------------------------------
Monitor_Give_Rings:
addq.w #1,(a2)
- lea ($FFFFFE20).w,a2
- lea ($FFFFFE1D).w,a3
- lea ($FFFFFE1B).w,a4
- lea ($FFFFFEC8).w,a5
+ lea (Ring_count).w,a2
+ lea (Update_HUD_ring_count).w,a3
+ lea (Extra_life_flags).w,a4
+ lea (Total_ring_count).w,a5
addi.w #$A,(a5)
cmpi.w #$3E7,(a5)
bcs.s loc_1D8CC
@@ -40611,11 +40626,11 @@ Monitor_Give_Super_Sneakers: move.b #$96,$36(a1)
cmpa.w #$B000,a1
bne.s loc_1D93A
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
beq.s loc_1D93A
- move.w #$C00,($FFFFF760).w
- move.w #$18,($FFFFF762).w
- move.w #$80,($FFFFF764).w
+ move.w #$C00,(Sonic_Knux_top_speed).w
+ move.w #$18,(Sonic_Knux_acceleration).w
+ move.w #$80,(Sonic_Knux_deceleration).w
bra.s loc_1D94C
; ---------------------------------------------------------------------------
@@ -40639,13 +40654,13 @@ Monitor_Give_Fire_Shield: jsr (Play_Sound).l
tst.b $43(a0)
bne.s loc_1D984
- move.l #Obj_Fire_Shield,($FFFFCCE8).w
+ move.l #Obj_Fire_Shield,(Shield).w
move.w a1,($FFFFCD2A).w
rts
; ---------------------------------------------------------------------------
loc_1D984:
- move.l #Obj_Fire_Shield,($FFFFCD32).w
+ move.l #Obj_Fire_Shield,(Shield_P2).w
move.w a1,($FFFFCD74).w
rts
; ---------------------------------------------------------------------------
@@ -40659,13 +40674,13 @@ Monitor_Give_Lightning_Shield: jsr (Play_Sound).l
tst.b $43(a0)
bne.s loc_1D9C2
- move.l #Obj_Lightning_Shield,($FFFFCCE8).w
+ move.l #Obj_Lightning_Shield,(Shield).w
move.w a1,($FFFFCD2A).w
rts
; ---------------------------------------------------------------------------
loc_1D9C2:
- move.l #Obj_Lightning_Shield,($FFFFCD32).w
+ move.l #Obj_Lightning_Shield,(Shield_P2).w
move.w a1,($FFFFCD74).w
rts
; ---------------------------------------------------------------------------
@@ -40679,26 +40694,26 @@ Monitor_Give_Bubble_Shield: jsr (Play_Sound).l
tst.b $43(a0)
bne.s loc_1DA00
- move.l #Obj_Bubble_Shield,($FFFFCCE8).w
+ move.l #Obj_Bubble_Shield,(Shield).w
move.w a1,($FFFFCD2A).w
rts
; ---------------------------------------------------------------------------
loc_1DA00:
- move.l #Obj_Bubble_Shield,($FFFFCD32).w
+ move.l #Obj_Bubble_Shield,(Shield_P2).w
move.w a1,($FFFFCD74).w
rts
; ---------------------------------------------------------------------------
Monitor_Give_Invincibility:
addq.w #1,(a2)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bne.s locret_1DA5E
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
bne.s locret_1DA5E
bset #1,$2B(a1)
move.b #$96,$35(a1)
- tst.b ($FFFFF7AA).w
+ tst.b (Boss_flag).w
bne.s loc_1DA3E
cmpi.b #$C,$2C(a1)
bls.s loc_1DA3E
@@ -40709,13 +40724,13 @@ loc_1DA3E: tst.b $43(a0)
bne.s loc_1DA52
- move.l #Obj_Invincibility,($FFFFCD7C).w
+ move.l #Obj_Invincibility,(Hyper_Sonic_stars).w
move.w a1,($FFFFCDBE).w
rts
; ---------------------------------------------------------------------------
loc_1DA52:
- move.l #Obj_Invincibility,($FFFFCEA4).w
+ move.l #Obj_Invincibility,(Invincibility_stars).w
move.w a1,($FFFFCEE6).w
locret_1DA5E:
@@ -40725,41 +40740,41 @@ locret_1DA5E: Monitor_Give_SuperSonic:
addq.w #1,(a2)
- addi.w #$32,($FFFFFE20).w
+ addi.w #$32,(Ring_count).w
move.b #1,($FFFFF65F).w
move.b #$F,($FFFFF65E).w
- move.b #1,($FFFFFE19).w
+ move.b #1,(Super_Sonic_Knux_flag).w
move.w #$3C,($FFFFF670).w
- move.w #$800,($FFFFF760).w
- move.w #$18,($FFFFF762).w
- move.w #$C0,($FFFFF764).w
+ move.w #$800,(Sonic_Knux_top_speed).w
+ move.w #$18,(Sonic_Knux_acceleration).w
+ move.w #$C0,(Sonic_Knux_deceleration).w
move.b #$1F,($FFFFB020).w
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_1DACE
- move.b #0,($FFFFFE19).w
- move.b #1,($FFFFF667).w
+ move.b #0,(Super_Sonic_Knux_flag).w
+ move.b #1,(Super_Tails_flag).w
move.b #$29,($FFFFB020).w
move.w #$800,($FFFFFEC0).w
move.w #$18,($FFFFFEC2).w
move.w #$C0,($FFFFFEC4).w
- move.l #Obj_HyperTails_Birds,($FFFFCD7C).w
+ move.l #Obj_HyperTails_Birds,(Hyper_Sonic_stars).w
bra.s loc_1DB0A
; ---------------------------------------------------------------------------
loc_1DACE:
bcc.s loc_1DB02
move.l #Map_SuperSonic,($FFFFB00C).w
- move.b #-1,($FFFFFE19).w
- move.w #$A00,($FFFFF760).w
- move.w #$30,($FFFFF762).w
- move.w #$100,($FFFFF764).w
- move.l #Obj_HyperSonic_19348,($FFFFCD7C).w
- move.l #Obj_HyperSonicKnux_Trail,($FFFFCBC0).w
+ move.b #-1,(Super_Sonic_Knux_flag).w
+ move.w #$A00,(Sonic_Knux_top_speed).w
+ move.w #$30,(Sonic_Knux_acceleration).w
+ move.w #$100,(Sonic_Knux_deceleration).w
+ move.l #Obj_HyperSonic_19348,(Hyper_Sonic_stars).w
+ move.l #Obj_HyperSonicKnux_Trail,(Super_stars).w
bra.s loc_1DB0A
; ---------------------------------------------------------------------------
loc_1DB02:
- move.l #Obj_HyperSonicKnux_Trail,($FFFFCBC0).w
+ move.l #Obj_HyperSonicKnux_Trail,(Super_stars).w
loc_1DB0A:
@@ -40789,12 +40804,12 @@ Map_Monitor: include "General\Sprites\Monitors\Map - Monitor.asm" SolidObjectFull:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.s sub_1DC74
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.b 4(a1)
bpl.w locret_1DCB4
addq.b #1,d6
@@ -40843,12 +40858,12 @@ locret_1DCB4: SolidObjectFull2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.s SolidObjectFull2_1P
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
; End of function SolidObjectFull2
@@ -40893,12 +40908,12 @@ loc_1DD04: sub_1DD0E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.s sub_1DD24
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
; End of function sub_1DD0E
@@ -40941,12 +40956,12 @@ loc_1DD5C: ; End of function sub_1DD24
; ---------------------------------------------------------------------------
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.s sub_1DD84
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
; =============== S U B R O U T I N E =======================================
@@ -40987,12 +41002,12 @@ loc_1DDBC: sub_1DDC6:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.s sub_1DDDC
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
; End of function sub_1DDC6
@@ -41038,12 +41053,12 @@ loc_1DE0E: SolidObjectFull_Offset:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.s sub_1DE36
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
; End of function SolidObjectFull_Offset
@@ -41201,7 +41216,7 @@ loc_1DF90: add.w d3,d3
cmp.w d3,d0
bhi.w loc_1E0A2
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1DFD6
move.b $44(a1),d4
ext.w d4
@@ -41243,7 +41258,7 @@ loc_1DFFE: bmi.w loc_1E0A2
cmpi.b #6,5(a1)
bcc.w loc_1E0D0
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_1E0D0
move.w d0,d5
cmp.w d0,d1
@@ -41277,6 +41292,7 @@ loc_1E042: bra.s loc_1E056
; ---------------------------------------------------------------------------
+
loc_1E050:
tst.w $18(a1)
bpl.s loc_1E06E
@@ -41369,7 +41385,7 @@ loc_1E0F6: move.w #0,$1C(a1)
loc_1E0FC:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1E104
neg.w d3
@@ -41424,7 +41440,7 @@ loc_1E154: cmp.w d2,d1
bcc.s loc_1E198
subq.w #1,$14(a1)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1E17E
neg.w d3
addq.w #2,$14(a1)
@@ -41451,7 +41467,7 @@ loc_1E198: sub_1E19C:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.s loc_1E1AA
move.w $14(a0),d0
sub.w d3,d0
@@ -41463,7 +41479,7 @@ loc_1E1AA: add.w d3,d0
bra.s loc_1E1F4
; ---------------------------------------------------------------------------
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_1E1C2
move.w $14(a0),d0
addi.w #9,d0
@@ -41479,7 +41495,7 @@ loc_1E1CA: bmi.s locret_1E1F2
cmpi.b #6,5(a1)
bcc.s locret_1E1F2
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_1E1F2
moveq #0,d1
move.b $1E(a1),d1
@@ -41499,7 +41515,7 @@ loc_1E1F4: bmi.s locret_1E21C
cmpi.b #6,5(a1)
bcc.s locret_1E21C
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_1E21C
moveq #0,d1
move.b $1E(a1),d1
@@ -41595,12 +41611,12 @@ loc_1E2A0: SolidObjectTop:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.s sub_1E2BC
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
; End of function SolidObjectTop
@@ -41645,12 +41661,12 @@ loc_1E2F4: SolidObjectTopSloped2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.s sub_1E314
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
; End of function SolidObjectTopSloped2
@@ -41693,12 +41709,12 @@ loc_1E34C: SolidObjectTopSloped:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.s sub_1E36C
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
; End of function SolidObjectTopSloped
@@ -41737,12 +41753,12 @@ loc_1E3A4: ; End of function sub_1E36C
; ---------------------------------------------------------------------------
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.s sub_1E3C4
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
; =============== S U B R O U T I N E =======================================
@@ -41816,7 +41832,7 @@ loc_1E42E: bcc.w locret_1E4D4
loc_1E44C:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.w loc_1E4D6
move.w $14(a0),d0
sub.w d3,d0
@@ -41947,7 +41963,7 @@ loc_1E570: CheckPlayerReleaseFromObj:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #3,$2A(a0)
beq.s loc_1E5AE
jsr (SonicOnObjHitFloor).l
@@ -41956,14 +41972,14 @@ CheckPlayerReleaseFromObj: bpl.s loc_1E5AE
loc_1E598:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #3,$2A(a1)
bset #1,$2A(a1)
bclr #3,$2A(a0)
loc_1E5AE:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
btst #4,$2A(a0)
beq.s loc_1E5DC
jsr (SonicOnObjHitFloor).l
@@ -41972,7 +41988,7 @@ loc_1E5AE: bpl.s loc_1E5DC
loc_1E5C6:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #3,$2A(a1)
bset #1,$2A(a1)
bclr #4,$2A(a0)
@@ -42147,13 +42163,13 @@ Obj_26: add.w d0,d0
move.w word_1E854(pc,d0.w),$32(a0)
move.w $14(a0),d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmp.w $14(a1),d1
bcc.s loc_1E83A
move.b #1,$34(a0)
loc_1E83A:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmp.w $14(a1),d1
bcc.s loc_1E84A
move.b #1,$35(a0)
@@ -42174,13 +42190,13 @@ loc_1E85C: add.w d0,d0
move.w word_1E854(pc,d0.w),$32(a0)
move.w $10(a0),d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmp.w $10(a1),d1
bcc.s loc_1E880
move.b #1,$34(a0)
loc_1E880:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmp.w $10(a1),d1
bcc.s loc_1E890
move.b #1,$35(a0)
@@ -42189,13 +42205,13 @@ loc_1E890: move.l #loc_1E896,(a0)
loc_1E896:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_1E8C0
move.w $10(a0),d1
lea $34(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_1E8C6
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmpi.w #4,($FFFFF708).w
beq.w loc_1E8BA
bsr.s sub_1E8C6
@@ -42321,13 +42337,13 @@ loc_1E9C0: loc_1E9E6:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_1EA0E
move.w $14(a0),d1
lea $34(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_1EA14
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmpi.w #4,($FFFFF708).w
beq.s loc_1EA08
bsr.s sub_1EA14
@@ -42457,7 +42473,7 @@ Obj_27: move.b $2C(a0),d0
move.b byte_1EB32(pc,d0.w),$28(a0)
move.l #Map_Obj27,$C(a0)
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s loc_1EB58
move.l #Map_Obj27_2,$C(a0)
@@ -42471,16 +42487,16 @@ loc_1EB58: move.l #loc_1EB82,(a0)
loc_1EB82:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_1EB9C
move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1EBAA
loc_1EB9C:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s locret_1EBA8
jsr (Draw_Sprite).l
@@ -42521,7 +42537,7 @@ Obj_28_Invisible_Barrier: addq.w #1,d1
lsl.w #3,d1
move.b d1,6(a0)
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s loc_1EC66
move.l #loc_1ECAA,(a0)
bra.s loc_1ECAA
@@ -42542,10 +42558,10 @@ loc_1EC6C: bsr.w SolidObjectFull2
move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1EBAA
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s locret_1ECA8
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -42635,13 +42651,13 @@ loc_1EDB0: loc_1EDC6:
- lea ($FFFFB000).w,a1
- move.w ($FFFFF604).w,d1
+ lea (Player_1).w,a1
+ move.w (Ctrl_1).w,d1
moveq #0,d2
bsr.s sub_1EDEC
addq.w #1,a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF606).w,d1
+ lea (Player_2).w,a1
+ move.w (Ctrl_2).w,d1
moveq #1,d2
bsr.s sub_1EDEC
tst.b $3A(a0)
@@ -42807,13 +42823,13 @@ loc_1EF64: loc_1EF7A:
- lea ($FFFFB000).w,a1
- move.w ($FFFFF604).w,d1
+ lea (Player_1).w,a1
+ move.w (Ctrl_1).w,d1
moveq #0,d2
bsr.s sub_1EFA0
addq.w #1,a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF606).w,d1
+ lea (Player_2).w,a1
+ move.w (Ctrl_2).w,d1
moveq #1,d2
bsr.s sub_1EFA0
tst.b $3A(a0)
@@ -43045,7 +43061,7 @@ Obj_HCZWaveSplash: move.l #loc_1F244,(a0)
loc_1F244:
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
andi.w #$FFE0,d1
addi.w #$60,d1
btst #0,($FFFFFE05).w
@@ -43054,7 +43070,7 @@ loc_1F244: loc_1F25C:
move.w d1,$10(a0)
- move.w ($FFFFF646).w,d1
+ move.w (Water_level).w,d1
move.w d1,$14(a0)
lea $18(a0),a2
move.w $10(a0),(a2)
@@ -43062,9 +43078,9 @@ loc_1F25C: move.w $14(a0),(a2)+
tst.b $32(a0)
bne.s loc_1F296
- tst.b ($FFFFF603).w
+ tst.b (Ctrl_1_pressed_logical).w
bmi.s loc_1F28A
- tst.b ($FFFFF66B).w
+ tst.b (Ctrl_2_pressed_logical).w
bpl.s loc_1F2A6
loc_1F28A:
@@ -43074,7 +43090,7 @@ loc_1F28A: ; ---------------------------------------------------------------------------
loc_1F296:
- tst.w ($FFFFF63A).w
+ tst.w (Game_paused).w
bne.s loc_1F2C4
move.b #0,$32(a0)
subq.b #3,$22(a0)
@@ -43190,23 +43206,23 @@ loc_1F45E: move.b d6,d0
andi.b #8,d0
beq.s loc_1F494
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_1F58C
loc_1F494:
andi.b #$10,d6
beq.s loc_1F4A2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_1F58C
loc_1F4A2:
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1EBAA
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s locret_1F4C2
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -43231,23 +43247,23 @@ loc_1F4C4: move.b d6,d0
andi.b #1,d0
beq.s loc_1F4F8
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_1F58C
loc_1F4F8:
andi.b #2,d6
beq.s loc_1F506
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_1F58C
loc_1F506:
move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1EBAA
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s locret_1F526
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -43272,23 +43288,23 @@ loc_1F528: move.b d6,d0
andi.b #4,d0
beq.s loc_1F55C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_1F58C
loc_1F55C:
andi.b #8,d6
beq.s loc_1F56A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_1F58C
loc_1F56A:
move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1EBAA
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s locret_1F58A
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -43362,23 +43378,23 @@ loc_1F606: move.b d6,d0
andi.b #8,d0
beq.s loc_1F63C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_1F734
loc_1F63C:
andi.b #$10,d6
beq.s loc_1F64A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_1F734
loc_1F64A:
move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1EBAA
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s locret_1F66A
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -43403,23 +43419,23 @@ loc_1F66C: move.b d6,d0
andi.b #1,d0
beq.s loc_1F6A0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_1F734
loc_1F6A0:
andi.b #2,d6
beq.s loc_1F6AE
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_1F734
loc_1F6AE:
move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1EBAA
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s locret_1F6CE
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -43444,23 +43460,23 @@ loc_1F6D0: move.b d6,d0
andi.b #4,d0
beq.s loc_1F704
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_1F734
loc_1F704:
andi.b #8,d6
beq.s loc_1F712
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_1F734
loc_1F712:
move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1EBAA
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s locret_1F732
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -43497,35 +43513,35 @@ loc_1F752: beq.s loc_1F7B2
subq.w #1,$38(a0)
bne.s loc_1F77A
- move.w #$1300,($FFFFEE14).w
- move.w #$4000,($FFFFEE16).w
+ move.w #$1300,(Camera_min_X_pos).w
+ move.w #$4000,(Camera_max_X_pos).w
bra.s loc_1F7B2
; ---------------------------------------------------------------------------
loc_1F77A:
- cmpi.w #$1300,($FFFFEE14).w
+ cmpi.w #$1300,(Camera_min_X_pos).w
beq.s loc_1F796
cmpi.w #$2D00,($FFFFB010).w
bcs.s loc_1F792
- move.w #$1300,($FFFFEE14).w
+ move.w #$1300,(Camera_min_X_pos).w
bra.s loc_1F796
; ---------------------------------------------------------------------------
loc_1F792:
- subq.w #4,($FFFFEE14).w
+ subq.w #4,(Camera_min_X_pos).w
loc_1F796:
- cmpi.w #$4000,($FFFFEE16).w
+ cmpi.w #$4000,(Camera_max_X_pos).w
beq.s loc_1F7B2
cmpi.w #$2D00,($FFFFB010).w
bcc.s loc_1F7AE
- move.w #$4000,($FFFFEE16).w
+ move.w #$4000,(Camera_max_X_pos).w
bra.s loc_1F7B2
; ---------------------------------------------------------------------------
loc_1F7AE:
- addq.w #4,($FFFFEE16).w
+ addq.w #4,(Camera_max_X_pos).w
loc_1F7B2:
@@ -43535,11 +43551,11 @@ loc_1F7B2: sub_1F7B8:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $30(a0),a2
moveq #3,d6
bsr.s sub_1F7CE
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $34(a0),a2
addq.b #1,d6
; End of function sub_1F7B8
@@ -43581,8 +43597,8 @@ sub_1F7CE: move.l #Obj_AIZ1TreeRevealControl,(a1)
loc_1F848:
- move.w #$2C60,($FFFFEE14).w
- move.w #$2C60,($FFFFEE16).w
+ move.w #$2C60,(Camera_min_X_pos).w
+ move.w #$2C60,(Camera_max_X_pos).w
move.w #$3C,$38(a0)
locret_1F85A:
@@ -43667,8 +43683,8 @@ AIZTree_SetPlayerPos: bmi.s AIZTree_FallOff
cmpi.w #$400,(a2)
bcs.s loc_1F93C
- move.w #$1300,($FFFFEE14).w
- move.w #$4000,($FFFFEE16).w
+ move.w #$1300,(Camera_min_X_pos).w
+ move.w #$4000,(Camera_max_X_pos).w
loc_1F93C:
move.w $10(a1),d2
@@ -43728,25 +43744,25 @@ Obj_AIZLRZEMZRock: move.w #$200,8(a0)
move.w $10(a0),$2E(a0)
move.w #$40,$42(a0)
- cmpi.w #1,($FFFFFE10).w
+ cmpi.w #1,(Current_zone_and_act).w
bne.s loc_1FA42
move.l #Map_AIZRock2,$C(a0)
move.w #$42E9,$A(a0)
loc_1FA42:
- cmpi.w #$1200,($FFFFFE10).w
+ cmpi.w #$1200,(Current_zone_and_act).w
bne.s loc_1FA5E
move.l #Map_EMZRock,$C(a0)
move.w #$E300,$A(a0)
move.b #0,$22(a0)
loc_1FA5E:
- cmpi.b #9,($FFFFFE10).w
+ cmpi.b #9,(Current_zone).w
bne.s loc_1FA8C
move.l #Map_LRZBreakableRock,$C(a0)
move.w #$40D3,$A(a0)
addq.b #4,$22(a0)
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_1FA8C
move.l #Map_LRZBreakableRock2,$C(a0)
move.w #$640D,$A(a0)
@@ -43792,7 +43808,7 @@ loc_1FACA: loc_1FAF2:
- move.w ($FFFFF7D0).w,$38(a0)
+ move.w (Chain_bonus_counter).w,$38(a0)
move.b ($FFFFB020).w,$32(a0)
move.b ($FFFFB06A).w,$33(a0)
move.b ($FFFFB02A).w,$3A(a0)
@@ -43819,7 +43835,7 @@ loc_1FB3A: loc_1FB4C:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_1FB5C
move.w $2E(a0),d0
jmp (Sprite_OnScreen_Test2).l
@@ -43838,10 +43854,10 @@ loc_1FB62: bne.s loc_1FB4C
loc_1FB78:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b $32(a0),d0
bsr.s sub_1FBA8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.b $33(a0),d0
bsr.s sub_1FBA8
bra.w loc_1FBF8
@@ -43853,7 +43869,7 @@ loc_1FB90: beq.s loc_1FBE0
cmpi.b #2,$32(a0)
bne.s loc_1FB4C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_1FBAE
bra.s loc_1FBF8
@@ -43891,21 +43907,21 @@ loc_1FBE0: beq.w loc_1FB4C
cmpi.b #2,$33(a0)
bne.w loc_1FB4C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_1FBAE
loc_1FBF8:
- move.w $38(a0),($FFFFF7D0).w
+ move.w $38(a0),(Chain_bonus_counter).w
andi.b #$E7,$2A(a0)
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.w loc_1FC9C
move.l #loc_1FC16,(a0)
bsr.w sub_2011E
loc_1FC16:
- cmpi.b #9,($FFFFFE10).w
+ cmpi.b #9,(Current_zone).w
beq.s loc_1FC60
move.l #loc_1FC24,(a0)
@@ -44024,7 +44040,7 @@ loc_1FD08: loc_1FD38:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.s loc_1FD48
move.w $2E(a0),d0
jmp (Sprite_OnScreen_Test2).l
@@ -44035,7 +44051,7 @@ loc_1FD48: ; ---------------------------------------------------------------------------
loc_1FD4E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $30(a0),d1
move.w d6,d0
andi.w #1,d0
@@ -44048,7 +44064,7 @@ loc_1FD4E: ; ---------------------------------------------------------------------------
loc_1FD72:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bne.s loc_1FDA4
cmpi.b #2,$38(a1)
beq.s loc_1FDA4
@@ -44074,7 +44090,7 @@ loc_1FDA4: bsr.w sub_1FE34
btst #6,$2A(a0)
beq.w loc_1FD38
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmpi.b #2,$38(a1)
beq.s loc_1FDCE
cmpi.b #2,$20(a1)
@@ -44090,7 +44106,7 @@ loc_1FDCE: loc_1FDEA:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w $36(a0),d1
btst #6,$2A(a0)
beq.w loc_1FD38
@@ -44123,7 +44139,7 @@ loc_1FE2E: sub_1FE34:
bsr.w sub_1FF1E
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.w loc_1FECE
move.w d1,$18(a1)
addq.w #4,$10(a1)
@@ -44152,7 +44168,7 @@ loc_1FE9E: moveq #0,d0
move.b $22(a0),d0
- cmpi.b #9,($FFFFFE10).w
+ cmpi.b #9,(Current_zone).w
bne.s loc_1FEBE
subq.b #4,d0
move.l #loc_1FC66,(a0)
@@ -44237,11 +44253,11 @@ loc_1FF84: move.b d6,d0
andi.b #4,d0
beq.s loc_1FFA8
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $30(a0),$1A(a1)
andi.b #8,d6
beq.s loc_1FFC4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w $36(a0),$1A(a1)
bra.s loc_1FFC4
; ---------------------------------------------------------------------------
@@ -44249,7 +44265,7 @@ loc_1FF84: loc_1FFA8:
andi.b #8,d6
beq.s loc_1FFBA
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w $36(a0),$1A(a1)
bra.s loc_1FFC4
; ---------------------------------------------------------------------------
@@ -44263,7 +44279,7 @@ loc_1FFC4: btst #3,$2A(a0)
beq.s loc_1FFDC
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bset #1,$2A(a1)
loc_1FFD6:
@@ -44272,7 +44288,7 @@ loc_1FFD6: loc_1FFDC:
btst #4,$2A(a0)
beq.s loc_1FFF4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bset #1,$2A(a1)
bclr #3,$2A(a1)
@@ -44284,7 +44300,7 @@ loc_1FFF4: loc_20002:
- move.w ($FFFFF7D0).w,$38(a0)
+ move.w (Chain_bonus_counter).w,$38(a0)
moveq #0,d1
move.b 7(a0),d1
addi.w #$B,d1
@@ -44303,13 +44319,13 @@ loc_20030: ; ---------------------------------------------------------------------------
loc_20036:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.b #2,$38(a1)
bne.s loc_20030
bsr.s sub_20056
btst #4,$2A(a0)
beq.s loc_20088
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_20056
bra.w loc_20088
@@ -44334,7 +44350,7 @@ loc_20080: loc_20088:
- move.w $38(a0),($FFFFF7D0).w
+ move.w $38(a0),(Chain_bonus_counter).w
andi.b #$E7,$2A(a0)
move.l #loc_1FC16,(a0)
bsr.w sub_2011E
@@ -44348,11 +44364,11 @@ sub_200A2: andi.b #$60,d3
beq.w locret_200CA
move.w $10(a0),d2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b $3A(a0),d0
moveq #5,d6
bsr.s sub_200CC
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.b $3B(a0),d0
moveq #6,d6
bsr.s sub_200CC
@@ -44402,7 +44418,7 @@ locret_2011C: sub_2011E:
- cmpi.b #9,($FFFFFE10).w
+ cmpi.b #9,(Current_zone).w
beq.w loc_201C4
moveq #0,d0
move.b $22(a0),d0
@@ -44724,7 +44740,7 @@ Obj_CollapsingPlatform: move.l #Map_AIZCollapsingPlatform,$C(a0)
move.w #$4001,$A(a0)
- cmpi.w #1,($FFFFFE10).w
+ cmpi.w #1,(Current_zone_and_act).w
bne.s loc_20522
move.l #Map_AIZCollapsingPlatform2,$C(a0)
move.w #$4001,$A(a0)
@@ -44734,7 +44750,7 @@ loc_20522: move.l #byte_20E9E,$3C(a0)
move.b #$3C,7(a0)
move.b #$20,6(a0)
- cmpi.b #5,($FFFFFE10).w
+ cmpi.b #5,(Current_zone).w
bne.s loc_20570
move.l #Map_ICZCollapsingBridge,$C(a0)
move.w #$4001,$A(a0)
@@ -44793,10 +44809,10 @@ loc_205DE: subq.b #1,$38(a0)
bne.s locret_2061E
move.l #loc_20620,(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_205FC
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
; =============== S U B R O U T I N E =======================================
@@ -44831,7 +44847,7 @@ Obj_CollapsingBridge: move.l #loc_2095E,(a0)
ori.b #4,4(a0)
move.w #$280,8(a0)
- cmpi.b #6,($FFFFFE10).w
+ cmpi.b #6,(Current_zone).w
bne.s loc_206B8
move.b $2C(a0),d0
andi.w #$3F,d0
@@ -44863,7 +44879,7 @@ loc_20696: loc_206B8:
- cmpi.b #1,($FFFFFE10).w
+ cmpi.b #1,(Current_zone).w
bne.w loc_20752
move.l #Map_HCZCollapsingBridge,$C(a0)
move.w #$C001,$A(a0)
@@ -44922,7 +44938,7 @@ off_20732: dc.l byte_20D22 loc_20752:
- cmpi.b #2,($FFFFFE10).w
+ cmpi.b #2,(Current_zone).w
bne.s loc_207D4
move.l #Map_MGZCollapsingBridge,$C(a0)
move.w #$4001,$A(a0)
@@ -44970,7 +44986,7 @@ off_207BC: dc.l byte_20DA9 loc_207D4:
- cmpi.b #5,($FFFFFE10).w
+ cmpi.b #5,(Current_zone).w
bne.s loc_20834
move.b $2C(a0),d0
bpl.s loc_207F6
@@ -44995,7 +45011,7 @@ loc_207F6: move.b #3,$22(a0)
loc_20834:
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
bne.s loc_2084C
move.l #Map_HPZCollapsingBridge,$C(a0)
move.w #$4001,$A(a0)
@@ -45003,7 +45019,7 @@ loc_20834: ; ---------------------------------------------------------------------------
loc_2084C:
- cmpi.b #9,($FFFFFE10).w
+ cmpi.b #9,(Current_zone).w
bne.s loc_208A6
move.l #Map_LRZCollapsingPlatform,$C(a0)
move.w #$4090,$A(a0)
@@ -45037,7 +45053,7 @@ off_2089E: dc.l byte_20E85 loc_208A6:
- cmpi.b #4,($FFFFFE10).w
+ cmpi.b #4,(Current_zone).w
bne.s loc_20904
move.l #Map_FBZCollapsingBridge,$C(a0)
@@ -45072,7 +45088,7 @@ off_208FC: dc.l byte_20DA9 loc_20904:
- cmpi.b #8,($FFFFFE10).w
+ cmpi.b #8,(Current_zone).w
bne.s loc_2095E
move.l #Map_SOZCollapsingBridge,$C(a0)
move.w #$4001,$A(a0)
@@ -45170,13 +45186,13 @@ loc_209FC: bpl.s loc_20A52
bclr #3,$2A(a0)
beq.s loc_20A12
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #3,$2A(a1)
loc_20A12:
bclr #4,$2A(a0)
beq.s loc_20A24
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #3,$2A(a1)
loc_20A24:
@@ -45313,7 +45329,7 @@ loc_20B3C: loc_20B40:
move.b $40(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
lea (a3,d0.w),a3
tst.b (a3)
beq.s loc_20B5E
@@ -45355,10 +45371,10 @@ loc_20B98: movea.l $30(a0),a2
moveq #0,d1
move.b 7(a0),d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s Check_CollapsePlayerRelease
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.s Check_CollapsePlayerRelease
bra.w Sprite_OnScreen_Test
@@ -45525,7 +45541,7 @@ Obj_BreakableWall: move.l #loc_21568,(a0)
move.b $2C(a0),d0
bpl.s loc_21340
- tst.b ($FFFFF7E0).w
+ tst.b (Level_trigger_array).w
beq.s loc_21340
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -45540,7 +45556,7 @@ loc_21340: move.b #$28,6(a0)
move.l #word_2193A,$34(a0)
move.l #word_2196A,$38(a0)
- cmpi.b #1,($FFFFFE10).w
+ cmpi.b #1,(Current_zone).w
bne.s loc_213D6
move.l #Map_HCZBreakableWall,$C(a0)
move.w #$6001,$A(a0)
@@ -45561,7 +45577,7 @@ loc_21340: loc_213D6:
- cmpi.b #2,($FFFFFE10).w
+ cmpi.b #2,(Current_zone).w
bne.s loc_21428
move.l #Map_MGZBreakableWall,$C(a0)
move.w #$4001,$A(a0)
@@ -45584,7 +45600,7 @@ loc_21418: loc_21428:
- cmpi.b #3,($FFFFFE10).w
+ cmpi.b #3,(Current_zone).w
bne.s loc_2146A
move.l #Map_CNZSOZBreakableWall,$C(a0)
move.w #$4420,$A(a0)
@@ -45600,7 +45616,7 @@ loc_21428: loc_2146A:
- cmpi.b #6,($FFFFFE10).w
+ cmpi.b #6,(Current_zone).w
bne.s loc_214A4
move.l #Map_LBZBreakableWall,$C(a0)
move.w #$22EA,$A(a0)
@@ -45613,7 +45629,7 @@ loc_2146A: ; ---------------------------------------------------------------------------
loc_214A4:
- cmpi.b #7,($FFFFFE10).w
+ cmpi.b #7,(Current_zone).w
bne.s loc_214DE
move.l #Map_MHZBreakableWall,$C(a0)
move.w #$434B,$A(a0)
@@ -45626,7 +45642,7 @@ loc_214A4: ; ---------------------------------------------------------------------------
loc_214DE:
- cmpi.b #8,($FFFFFE10).w
+ cmpi.b #8,(Current_zone).w
bne.s loc_21536
move.l #Map_CNZSOZBreakableWall,$C(a0)
move.w #$448C,$A(a0)
@@ -45646,7 +45662,7 @@ locret_21534: ; ---------------------------------------------------------------------------
loc_21536:
- cmpi.b #9,($FFFFFE10).w
+ cmpi.b #9,(Current_zone).w
bne.s loc_21568
move.l #Map_LRZBreakableWall,$C(a0)
move.w #$640D,$A(a0)
@@ -45670,7 +45686,7 @@ loc_21568: jsr (SolidObjectFull).l
tst.b $2C(a0)
bpl.s loc_215A4
- tst.b ($FFFFF7E0).w
+ tst.b (Level_trigger_array).w
beq.s loc_215AC
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -45686,12 +45702,12 @@ loc_215AC: ; ---------------------------------------------------------------------------
loc_215B2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $30(a0),d1
move.w d6,d0
andi.w #1,d0
beq.s loc_2162A
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
bne.s loc_215F4
cmpi.b #2,$38(a1)
beq.s loc_215F4
@@ -45717,7 +45733,7 @@ loc_215F4: bsr.s sub_2165A
btst #6,$2A(a0)
beq.s loc_215AC
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmpi.b #2,$20(a1)
bne.s loc_215AC
move.w $32(a0),$18(a1)
@@ -45729,7 +45745,7 @@ loc_215F4: loc_2162A:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w $32(a0),d1
btst #6,$2A(a0)
beq.w loc_215AC
@@ -45847,7 +45863,7 @@ loc_2172E: move.b d6,d0
andi.b #1,d0
beq.s loc_217BC
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #6,$37(a1)
beq.s loc_217BC
move.w $30(a0),$18(a1)
@@ -45857,7 +45873,7 @@ loc_2172E: bsr.s sub_217EE
andi.b #2,d6
beq.s loc_217E8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #6,$37(a1)
beq.s loc_217E8
move.w $32(a0),$18(a1)
@@ -45871,7 +45887,7 @@ loc_217BC: andi.b #2,d6
beq.s loc_217E8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #6,$37(a1)
beq.s loc_217E8
move.w $32(a0),$18(a1)
@@ -45920,7 +45936,7 @@ loc_21818: jsr (SolidObjectFull).l
tst.b $2C(a0)
bpl.s loc_21854
- tst.b ($FFFFF7E0).w
+ tst.b (Level_trigger_array).w
beq.s loc_2185C
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -45936,7 +45952,7 @@ loc_2185C: ; ---------------------------------------------------------------------------
loc_21862:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $30(a0),d1
move.w d6,d0
andi.w #1,d0
@@ -45947,7 +45963,7 @@ loc_21862: bsr.s sub_218CE
btst #6,$2A(a0)
beq.s loc_2185C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmpi.b #2,$38(a1)
bne.s loc_2185C
move.w $32(a0),$18(a1)
@@ -45959,7 +45975,7 @@ loc_21862: loc_218B0:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w $32(a0),d1
btst #6,$2A(a0)
beq.s loc_2185C
@@ -46451,7 +46467,7 @@ loc_21F38: move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_21F52
jmp (Draw_Sprite).l
@@ -46556,6 +46572,7 @@ sub_22040: addi.w #8,d1
asr.w #4,d0
asr.w #4,d1
+
add.w $10(a1),d0
move.w d0,$10(a0)
add.w $14(a1),d1
@@ -46580,12 +46597,12 @@ loc_2208A: loc_22094:
lea $32(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d0
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d0
bsr.s sub_220C2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.w #1,a2
- move.w ($FFFFF66A).w,d0
+ move.w (Ctrl_2_logical).w,d0
bsr.s sub_220C2
tst.w $32(a0)
beq.s loc_220BA
@@ -46866,7 +46883,7 @@ loc_22302: bne.s locret_2237C
cmpi.b #4,5(a1)
bcc.s locret_2237C
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_2237C
clr.w $18(a1)
clr.w $1A(a1)
@@ -46953,7 +46970,7 @@ loc_22442: move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_2245C
jmp (Draw_Sprite).l
@@ -47087,12 +47104,12 @@ loc_22594: loc_2259E:
lea $32(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d0
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d0
bsr.w sub_220C2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.w #1,a2
- move.w ($FFFFF66A).w,d0
+ move.w (Ctrl_2_logical).w,d0
bsr.w sub_220C2
tst.w $32(a0)
beq.s loc_225C8
@@ -47218,9 +47235,9 @@ loc_226E0: loc_226F2:
tst.b $32(a1)
beq.s loc_2270A
- move.b #1,($FFFFF676).w
- move.w $10(a0),($FFFFF678).w
- move.w $14(a0),($FFFFF67C).w
+ move.b #1,(Scroll_force_positions).w
+ move.w $10(a0),(Scroll_forced_X_pos).w
+ move.w $14(a0),(Scroll_forced_Y_pos).w
loc_2270A:
tst.w $32(a1)
@@ -47319,7 +47336,7 @@ loc_22824: move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_2283E
jmp (Draw_Sprite).l
@@ -47401,12 +47418,12 @@ loc_228E2: loc_228EC:
lea $32(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d0
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d0
bsr.s loc_2291A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.w #1,a2
- move.w ($FFFFF66A).w,d0
+ move.w (Ctrl_2_logical).w,d0
bsr.s loc_2291A
tst.w $32(a0)
beq.s loc_22912
@@ -47429,7 +47446,7 @@ loc_2291A: bpl.w loc_229E4
cmpi.b #4,5(a1)
bcc.w loc_229E4
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_229E4
andi.b #$70,d0
beq.w loc_229F2
@@ -47646,7 +47663,7 @@ loc_22B3C: bne.s locret_22B9C
cmpi.b #4,5(a1)
bcc.s locret_22B9C
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_22B9C
clr.w $18(a1)
clr.w $1A(a1)
@@ -47742,7 +47759,7 @@ loc_22DB0: move.w #$4B4,$A(a0)
move.b #8,7(a0)
move.l #loc_23050,(a0)
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.w loc_22EC4
move.l #Map_2PSpring,$C(a0)
move.w #$3AD,$A(a0)
@@ -47752,14 +47769,14 @@ loc_22DB0: loc_22DEE:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.w loc_22E96
bset #1,$2A(a0)
loc_22DFC:
move.b #6,$22(a0)
move.l #loc_23326,(a0)
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.w loc_22EC4
move.l #loc_23374,(a0)
move.l #Map_2PSpring,$C(a0)
@@ -47771,9 +47788,9 @@ loc_22E28: move.b #4,$20(a0)
move.b #7,$22(a0)
move.w #$43A,$A(a0)
- cmpi.b #2,($FFFFFE10).w
+ cmpi.b #2,(Current_zone).w
beq.s loc_22E4A
- cmpi.b #7,($FFFFFE10).w
+ cmpi.b #7,(Current_zone).w
bne.s loc_22E50
loc_22E4A:
@@ -47788,9 +47805,9 @@ loc_22E58: move.b #4,$20(a0)
move.b #$A,$22(a0)
move.w #$43A,$A(a0)
- cmpi.b #2,($FFFFFE10).w
+ cmpi.b #2,(Current_zone).w
beq.s loc_22E7A
- cmpi.b #7,($FFFFFE10).w
+ cmpi.b #7,(Current_zone).w
bne.s loc_22E80
loc_22E7A:
@@ -47804,17 +47821,17 @@ loc_22E80: loc_22E8E:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
bne.w loc_22DFC
loc_22E96:
move.l #loc_22EF4,(a0)
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s loc_22EC4
move.l #loc_22F46,(a0)
move.l #Map_2PSpring,$C(a0)
move.w #$391,$A(a0)
- cmpi.b #$12,($FFFFFE10).w
+ cmpi.b #$12,(Current_zone).w
bne.s loc_22EC4
ori.w #-$8000,$A(a0)
@@ -47826,7 +47843,7 @@ loc_22EC4: btst #1,d0
beq.s locret_22EEE
move.l #Map_Spring2,$C(a0)
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s locret_22EEE
move.l #Map_Spring3,$C(a0)
@@ -47844,7 +47861,7 @@ loc_22EF4: move.w #8,d2
move.w #$10,d3
move.w $10(a0),d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.w SolidObjectFull2_1P
@@ -47854,7 +47871,7 @@ loc_22EF4: loc_22F1C:
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w SolidObjectFull2_1P
btst #4,$2A(a0)
@@ -47874,7 +47891,7 @@ loc_22F46: move.w #8,d2
move.w #$10,d3
move.w $10(a0),d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.w SolidObjectFull2_1P
@@ -47884,7 +47901,7 @@ loc_22F46: loc_22F6E:
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w SolidObjectFull2_1P
btst #4,$2A(a0)
@@ -47903,7 +47920,7 @@ sub_22F98: move.w #$100,$20(a0)
addq.w #8,$14(a1)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_22FAE
subi.w #$10,$14(a1)
@@ -47964,7 +47981,7 @@ loc_23050: move.w #$E,d2
move.w #$F,d3
move.w $10(a0),d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.w SolidObjectFull2_1P
@@ -47985,7 +48002,7 @@ loc_23088: loc_23092:
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w SolidObjectFull2_1P
swap d6
@@ -48018,7 +48035,7 @@ loc_230DE: move.w #$C,d2
move.w #$D,d3
move.w $10(a0),d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.w SolidObjectFull2_1P
@@ -48039,7 +48056,7 @@ loc_23116: loc_2311E:
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w SolidObjectFull2_1P
swap d6
@@ -48117,6 +48134,7 @@ loc_231E4: move.b #1,$27(a1)
move.b #0,$20(a1)
move.b #1,$30(a1)
+
move.b #8,$31(a1)
btst #1,d0
bne.s loc_23214
@@ -48171,7 +48189,7 @@ loc_2328E: move.w d2,d3
subi.w #$18,d2
addi.w #$18,d3
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1)
bne.s loc_232E2
move.w $1C(a1),d4
@@ -48198,7 +48216,7 @@ loc_232B6: loc_232E2:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
btst #1,$2A(a1)
bne.s locret_23324
move.w $1C(a1),d4
@@ -48234,7 +48252,7 @@ loc_23326: move.w #8,d2
move.w #9,d3
move.w $10(a0),d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.w SolidObjectFull2_1P
@@ -48244,7 +48262,7 @@ loc_23326: loc_2334C:
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w SolidObjectFull2_1P
cmpi.w #-2,d4
@@ -48264,7 +48282,7 @@ loc_23374: move.w #8,d2
move.w #9,d3
move.w $10(a0),d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.w SolidObjectFull2_1P
@@ -48275,7 +48293,7 @@ loc_23374: loc_2339E:
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w SolidObjectFull2_1P
cmpi.w #-2,d4
@@ -48294,7 +48312,7 @@ loc_233B8: sub_233CA:
subq.w #8,$14(a1)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_233DA
addi.w #$10,$14(a1)
@@ -48362,7 +48380,7 @@ loc_23490: move.w #$10,d2
move.w $10(a0),d4
lea byte_236EA(pc),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.w sub_1DD24
@@ -48372,7 +48390,7 @@ loc_23490: loc_234B8:
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w sub_1DD24
btst #4,$2A(a0)
@@ -48472,7 +48490,7 @@ loc_235D2: move.w #$10,d2
move.w $10(a0),d4
lea byte_23706(pc),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.w sub_1DD24
@@ -48482,7 +48500,7 @@ loc_235D2: loc_235F8:
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w sub_1DD24
cmpi.w #-2,d4
@@ -48769,7 +48787,7 @@ Obj_2PRetractingSpring: move.l #loc_23ED0,(a1)
move.l #Map_2PRetractingSpring,$C(a1)
move.w #$391,$A(a1)
- cmpi.b #$12,($FFFFFE10).w
+ cmpi.b #$12,(Current_zone).w
bne.s loc_23B66
move.l #Map_2PRetractingSpring_2,$C(a1)
@@ -49095,7 +49113,7 @@ loc_23ED0: move.b $2C(a0),d1
bpl.s loc_23F06
andi.w #$F,d1
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d1.w)
beq.s loc_23F06
move.w #1,$38(a1)
@@ -49118,7 +49136,7 @@ loc_23F2A: move.b $2C(a0),d1
bpl.s locret_23F48
andi.w #$F,d1
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d1.w)
beq.s locret_23F48
movea.w $3E(a0),a1
@@ -49154,7 +49172,7 @@ Obj_Spikes: move.b $2C(a0),d0
andi.w #$F0,d0
lsr.w #3,d0
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.w loc_24034
lea byte_23F74(pc,d0.w),a1
move.b (a1)+,7(a0)
@@ -49162,7 +49180,7 @@ Obj_Spikes: move.l #loc_24090,(a0)
move.l #Map_Spikes,$C(a0)
move.w #$49C,$A(a0)
- cmpi.b #4,($FFFFFE10).w
+ cmpi.b #4,(Current_zone).w
bne.s loc_23FD0
move.w #$200,$A(a0)
@@ -49176,7 +49194,7 @@ loc_23FD0: loc_23FE8:
move.b $2A(a0),d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_23FF6
eori.b #2,d0
@@ -49243,13 +49261,13 @@ loc_24090: move.b d6,d0
andi.b #8,d0
beq.s loc_240CA
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_24280
loc_240CA:
andi.b #$10,d6
beq.s loc_240D8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_24280
loc_240D8:
@@ -49275,14 +49293,14 @@ loc_240E2: move.b d6,d0
andi.b #1,d0
beq.s loc_24120
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_24280
bclr #5,$2A(a0)
loc_24120:
andi.b #2,d6
beq.s loc_24134
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_24280
bclr #6,$2A(a0)
@@ -49309,13 +49327,13 @@ loc_2413E: move.b d6,d0
andi.b #4,d0
beq.s loc_24176
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_24280
loc_24176:
andi.b #8,d6
beq.s loc_24184
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_24280
loc_24184:
@@ -49341,13 +49359,13 @@ loc_2418E: move.b d6,d0
andi.b #8,d0
beq.s loc_241C8
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_24280
loc_241C8:
andi.b #$10,d6
beq.s loc_241D6
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_24280
loc_241D6:
@@ -49372,14 +49390,14 @@ loc_241DC: move.b d6,d0
andi.b #1,d0
beq.s loc_2421A
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_24280
bclr #5,$2A(a0)
loc_2421A:
andi.b #2,d6
beq.s loc_2422E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_24280
bclr #6,$2A(a0)
@@ -49405,13 +49423,13 @@ loc_24234: move.b d6,d0
andi.b #4,d0
beq.s loc_2426C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_24280
loc_2426C:
andi.b #8,d6
beq.s loc_2427A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_24280
loc_2427A:
@@ -49533,11 +49551,11 @@ loc_24356: andi.b #$60,d3
beq.s loc_2437C
move.w $10(a0),d2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b $3E(a0),d0
moveq #5,d6
bsr.s sub_2438A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.b $3F(a0),d0
moveq #6,d6
bsr.s sub_2438A
@@ -49665,7 +49683,7 @@ Init_ArtScaling: movea.w d1,a3
movea.w d1,a4
movea.w d1,a5
- lea ($FFFFE000).w,a6
+ lea (H_scroll_buffer).w,a6
move.w #$F,d1
loc_24618:
@@ -49738,7 +49756,7 @@ loc_2469A: bhi.s loc_246D2
sub.w d1,d2
movem.l d1/d5-a0/a2/a4,-(sp)
- lea ($FFFFD000).w,a2
+ lea (Kos_decomp_buffer).w,a2
add.w d2,d0
move.w d0,$A(a0)
lsl.w #5,d2
@@ -50412,13 +50430,13 @@ Map_ScaledArt: include "General\Sprites\Level Misc\Map - Scaled Art.asm" Obj_0E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_24D9A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_24D9A
move.w $10(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_24D88
rts
@@ -50568,7 +50586,7 @@ loc_24F1C: move.w $44(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmp.w $42(a0),d0
bhi.w loc_24F36
jmp (Draw_Sprite).l
@@ -50842,13 +50860,13 @@ loc_25132: bne.s loc_25160
bclr #3,$2A(a0)
beq.s loc_2514C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_25194
loc_2514C:
bclr #4,$2A(a0)
beq.s loc_2515A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_25194
loc_2515A:
@@ -50863,7 +50881,7 @@ loc_25160: add.l d0,d3
move.l d3,$14(a0)
addi.w #$38,$1A(a0)
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$120,d0
cmp.w $14(a0),d0
bcc.s locret_25192
@@ -50895,7 +50913,7 @@ loc_251AE: add.l d0,d3
move.l d3,$14(a0)
addi.w #$38,$1A(a0)
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$120,d0
cmp.w $14(a0),d0
bcc.s loc_251E0
@@ -50943,7 +50961,7 @@ loc_25236: btst #3,$2A(a0)
beq.s loc_25256
move.l a0,-(sp)
- lea ($FFFFB000).w,a0
+ lea (Player_1).w,a0
jsr (sub_F846).l
tst.w d1
bpl.s loc_25254
@@ -50956,7 +50974,7 @@ loc_25256: btst #4,$2A(a0)
beq.s locret_25276
move.l a0,-(sp)
- lea ($FFFFB04A).w,a0
+ lea (Player_2).w,a0
jsr (sub_F846).l
tst.w d1
bpl.s loc_25274
@@ -51100,12 +51118,12 @@ loc_253C2: sub_253E2:
lea $33(a0),a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF606).w,d0
+ lea (Player_2).w,a1
+ move.w (Ctrl_2).w,d0
bsr.s i
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
subq.w #1,a2
- move.w ($FFFFF604).w,d0
+ move.w (Ctrl_1).w,d0
; End of function sub_253E2
@@ -51179,7 +51197,7 @@ loc_25484: bne.s locret_254E8
cmpi.b #4,5(a1)
bcc.s locret_254E8
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_254E8
clr.w $18(a1)
clr.w $1A(a1)
@@ -51213,25 +51231,25 @@ byte_254FA: dc.b $20 Obj_FloatingPlatform:
- cmpi.w #0,($FFFFFE10).w
+ cmpi.w #0,(Current_zone_and_act).w
bne.s loc_2551C
move.l #Map_AIZFloatingPlatform,$C(a0)
move.w #$43F7,$A(a0)
loc_2551C:
- cmpi.w #1,($FFFFFE10).w
+ cmpi.w #1,(Current_zone_and_act).w
bne.s loc_25532
move.l #Map_AIZFloatingPlatform,$C(a0)
move.w #$4440,$A(a0)
loc_25532:
- cmpi.b #1,($FFFFFE10).w
+ cmpi.b #1,(Current_zone).w
bne.s loc_25548
move.l #Map_HCZFloatingPlatform,$C(a0)
move.w #$441D,$A(a0)
loc_25548:
- cmpi.b #2,($FFFFFE10).w
+ cmpi.b #2,(Current_zone).w
bne.s loc_2555E
move.l #Map_MGZFloatingPlatform,$C(a0)
move.w #$4001,$A(a0)
@@ -51301,7 +51319,7 @@ loc_255F4: loc_25628:
move.w $44(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmp.w $42(a0),d0
bhi.w loc_25642
jmp (Draw_Sprite).l
@@ -51362,7 +51380,7 @@ loc_25724: jsr (SolidObjectFull).l
move.w $44(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmp.w $42(a0),d0
bhi.w loc_2575E
jmp (Draw_Sprite).l
@@ -51769,7 +51787,7 @@ off_25B92: dc.w loc_25B9A-off_25B92 loc_25B9A:
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d0.w)
beq.s locret_25BB6
move.w #$8000,$16(a0)
@@ -51802,7 +51820,7 @@ locret_25BE2: loc_25BE4:
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d0.w)
bne.s locret_25C00
move.w #$8000,$16(a0)
@@ -51912,16 +51930,16 @@ loc_25CF0: beq.w loc_25D26
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
lea (a3,d0.w),a3
moveq #0,d3
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #0,$29(a0)
beq.s loc_25D18
bsr.s sub_25D2C
loc_25D18:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #1,$29(a0)
beq.s loc_25D26
bsr.s sub_25D2C
@@ -51979,7 +51997,7 @@ loc_25D9C: move.b d6,d0
andi.b #$11,d0
beq.s loc_25DF0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.b #9,$20(a1)
bne.s loc_25DF0
move.w #$3C,$30(a0)
@@ -51994,7 +52012,7 @@ loc_25DF0: andi.b #$22,d6
beq.s loc_25E22
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmpi.b #9,$20(a1)
bne.s loc_25E22
move.w #$3C,$30(a0)
@@ -52011,7 +52029,7 @@ loc_25E22: beq.s loc_25EA0
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
lea (a3,d0.w),a3
subq.w #1,$30(a0)
bne.s loc_25E4A
@@ -52028,13 +52046,13 @@ loc_25E4A: move.w d6,d0
andi.w #8,d0
beq.s loc_25E66
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_25EA6
loc_25E66:
andi.w #$10,d6
beq.s loc_25E72
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_25EA6
loc_25E72:
@@ -52140,7 +52158,7 @@ Obj_LBZTriggerBridge: andi.w #$F,d1
tst.b $34(a0)
bne.s loc_25F86
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d0.w)
beq.s loc_25F86
addq.w #4,d0
@@ -52211,7 +52229,7 @@ off_26038: dc.w loc_26044-off_26038 loc_26044:
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d0.w)
beq.s locret_2609C
addq.b #1,$22(a0)
@@ -52267,7 +52285,7 @@ locret_260D0: loc_260D2:
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d0.w)
bne.s locret_2612A
addq.b #1,$22(a0)
@@ -52316,7 +52334,7 @@ loc_26164: move.w d2,d3
subi.w #$10,d2
addi.w #$10,d3
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1)
bne.s loc_261B8
move.w $10(a1),d4
@@ -52336,7 +52354,7 @@ loc_26164: loc_261B8:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
btst #1,$2A(a1)
bne.s loc_261EC
move.w $10(a1),d4
@@ -52669,7 +52687,7 @@ loc_26588: move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_265A2
jmp (Draw_Sprite).l
@@ -52678,7 +52696,7 @@ loc_26588: loc_265A2:
move.w $38(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_265BC
jmp (Draw_Sprite).l
@@ -52754,9 +52772,9 @@ sub_26654: tst.b $2C(a0)
bmi.s locret_2668C
lea $30(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_2666A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.w #1,a2
; End of function sub_26654
@@ -52790,12 +52808,12 @@ sub_26694: movea.w $3C(a0),a3
lea $31(a0),a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF66A).w,d0
+ lea (Player_2).w,a1
+ move.w (Ctrl_2_logical).w,d0
bsr.s sub_266B0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
subq.w #1,a2
- move.w ($FFFFF602).w,d0
+ move.w (Ctrl_1_logical).w,d0
; End of function sub_26694
@@ -52915,7 +52933,7 @@ loc_267B2: bne.s locret_2682C
cmpi.b #4,5(a1)
bcc.s locret_2682C
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_2682C
move.b $2A(a1),$2A(a0)
clr.w $18(a1)
@@ -53065,7 +53083,7 @@ Obj_LBZCupElevator: move.b #$10,6(a0)
btst #6,$2C(a0) ; BIT 6
beq.s loc_2698A
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_2698A
move.w #$7F00,$10(a0) ; Set this object to be deleted if bit 6 is set and Knuckles is playing
@@ -53157,16 +53175,16 @@ Obj_LBZCupElevatorMain: move.w d2,d3
addq.w #1,d3
lea $3C(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
- move.w ($FFFFF602).w,d0
+ move.w (Ctrl_1_logical).w,d0
movem.l d1-d4,-(sp)
bsr.w LBZCupElevator_PlayerControl
movem.l (sp)+,d1-d4
lea $3D(a0),a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
- move.w ($FFFFF66A).w,d0
+ move.w (Ctrl_2_logical).w,d0
bsr.w LBZCupElevator_PlayerControl
bra.w loc_26E78
@@ -53475,11 +53493,11 @@ loc_26DE0: moveq #$35,d0
jsr (Play_Sound_2).l
lea $3C(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #-$300,d0
bsr.s sub_26E08
lea $3D(a0),a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w #-$400,d0
; =============== S U B R O U T I N E =======================================
@@ -53530,7 +53548,7 @@ locret_26E76: loc_26E78:
move.w $30(a0),d0
andi.w #$FF80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_26E92
jmp (Draw_Sprite).l
@@ -53543,10 +53561,10 @@ loc_26E92: bclr #7,(a2)
loc_26E9E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s LBZCupElevator_ReleasePlayer
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.s LBZCupElevator_ReleasePlayer
jmp (Delete_Current_Sprite).l
@@ -53730,7 +53748,7 @@ Obj_LBZCupElevatorPole: move.b #3,$22(a0)
btst #6,$2C(a0)
beq.s loc_270E4
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_270E4
move.w #$7F00,$10(a0)
@@ -53779,17 +53797,17 @@ loc_27190: move.l #loc_2719C,(a0)
loc_2719C:
- btst #4,($FFFFF606).w
+ btst #4,(Ctrl_2).w
beq.s loc_271AA
move.b #0,$42(a0)
loc_271AA:
- btst #5,($FFFFF606).w
+ btst #5,(Ctrl_2).w
beq.s loc_271B8
addi.b #1,$42(a0)
loc_271B8:
- btst #6,($FFFFF606).w
+ btst #6,(Ctrl_2).w
beq.s loc_271C6
subi.b #1,$42(a0)
@@ -53874,13 +53892,13 @@ loc_27250: sub_27270:
lea (Vectors+$30).w,a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d3,-(sp)
bsr.s sub_2728E
movem.l (sp)+,d1-d3
lea (Vectors+$34).w,a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
; End of function sub_27270
@@ -54071,7 +54089,7 @@ loc_27450: ; ---------------------------------------------------------------------------
loc_27456:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $30(a0),d1
btst #5,$2A(a0)
beq.s loc_274A2
@@ -54086,7 +54104,7 @@ loc_27474: bcs.s loc_274A2
bclr #6,$2A(a0)
beq.s loc_274D6
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
bclr #5,$2A(a2)
cmpi.b #2,$20(a2)
bne.s loc_274D6
@@ -54097,7 +54115,7 @@ loc_27474: loc_274A2:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w $32(a0),d1
btst #6,$2A(a0)
beq.s loc_27450
@@ -54137,10 +54155,10 @@ loc_27508: cmpi.b #$1F,d1
bne.s loc_27534
move.b #1,($FFFFF7C2).w
- move.w #$660,($FFFFF64A).w
- tst.b ($FFFFFE19).w
+ move.w #$660,(Target_water_level).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_2755E
- move.b #2,($FFFFF64C).w
+ move.b #2,(Water_speed).w
bra.s loc_2755E
; ---------------------------------------------------------------------------
@@ -54325,10 +54343,11 @@ word_27718: dc.w $100, $FDC0 ; =============== S U B R O U T I N E =======================================
+
Animate_Tiles:
moveq #0,d0
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #5,d0
andi.w #$FC,d0
@@ -54445,9 +54464,9 @@ AnimateTiles_SSZ2_ALZ: ; ---------------------------------------------------------------------------
AnimateTiles_AIZ1:
- tst.b ($FFFFF7AA).w
+ tst.b (Boss_flag).w
bne.s locret_27848
- tst.b ($FFFFEE33).w
+ tst.b (Dynamic_resize_routine).w
bne.w AnimateTiles_DoAniPLC
locret_27848:
@@ -54455,9 +54474,9 @@ locret_27848: ; ---------------------------------------------------------------------------
AnimateTiles_AIZ2:
- tst.b ($FFFFF7AA).w
+ tst.b (Boss_flag).w
bne.s locret_2787E
- cmpi.w #$1C0,($FFFFEE78).w
+ cmpi.w #$1C0,(Camera_X_pos).w
bcc.w AnimateTiles_DoAniPLC
lea ($FFFFF7F0).w,a3
addq.w #2,a2
@@ -54875,7 +54894,7 @@ word_27C0C: dc.w $300 ; ---------------------------------------------------------------------------
AnimateTiles_MGZ:
- tst.b ($FFFFF7AA).w
+ tst.b (Boss_flag).w
beq.w AnimateTiles_DoAniPLC
rts
; ---------------------------------------------------------------------------
@@ -54884,7 +54903,7 @@ AnimateTiles_CNZ: lea ($FFFFF7F0).w,a3
moveq #0,d1
move.w ($FFFFEEE2).w,d1
- sub.w ($FFFFEE8C).w,d1
+ sub.w (Camera_X_pos_BG_copy).w,d1
andi.w #$3F,d1
cmp.b 1(a3),d1
beq.s loc_27C96
@@ -54949,7 +54968,7 @@ AnimateTiles_ICZ: lea ($FFFFF7F0).w,a3
moveq #0,d0
move.w ($FFFFEEE2).w,d0
- sub.w ($FFFFEE8C).w,d0
+ sub.w (Camera_X_pos_BG_copy).w,d0
andi.w #$1F,d0
cmp.b 1(a3),d0
beq.s loc_27D32
@@ -54985,10 +55004,10 @@ AnimateTiles_ICZ: loc_27D32:
addq.w #2,a3
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
bne.w loc_27DF8
moveq #0,d1
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
sub.w ($FFFFEEE4).w,d1
neg.w d1
andi.w #$3F,d1
@@ -55002,7 +55021,7 @@ loc_27D32: move.w #$80,d3
jsr (Add_To_DMA_Queue).l
moveq #0,d1
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
move.w ($FFFFEEE4).w,d0
asr.w #1,d0
sub.w d0,d1
@@ -55017,7 +55036,7 @@ loc_27D32: move.w #$40,d3
jsr (Add_To_DMA_Queue).l
moveq #0,d1
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
move.w ($FFFFEEE4).w,d0
asr.w #1,d0
sub.w d0,d1
@@ -55030,7 +55049,7 @@ loc_27D32: move.w #$20,d3
jsr (Add_To_DMA_Queue).l
moveq #0,d1
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
move.w ($FFFFEEE4).w,d0
asr.w #2,d0
sub.w d0,d1
@@ -55071,7 +55090,7 @@ loc_27E34: addq.w #2,a3
moveq #0,d0
move.w ($FFFFEEE2).w,d0
- sub.w ($FFFFEE8C).w,d0
+ sub.w (Camera_X_pos_BG_copy).w,d0
andi.w #$1F,d0
cmp.b 1(a3),d0
beq.s loc_27EBC
@@ -55167,7 +55186,7 @@ loc_27F2A: addq.w #2,a3
moveq #0,d1
move.w ($FFFFEEE4).w,d1
- sub.w ($FFFFEE8C).w,d1
+ sub.w (Camera_X_pos_BG_copy).w,d1
andi.w #$F,d1
cmp.b 1(a3),d1
beq.s loc_27F5A
@@ -55336,7 +55355,7 @@ AnimateTiles_MHZ: lea ($FFFFF7F0).w,a3
moveq #0,d0
move.w ($FFFFEEE4).w,d0
- sub.w ($FFFFEE8C).w,d0
+ sub.w (Camera_X_pos_BG_copy).w,d0
andi.w #$1F,d0
cmp.b 1(a3),d0
beq.s loc_28110
@@ -55386,7 +55405,7 @@ word_28114: dc.w $80 loc_28124:
moveq #0,d1
move.w ($FFFFEEE2).w,d1
- sub.w ($FFFFEE8C).w,d1
+ sub.w (Camera_X_pos_BG_copy).w,d1
andi.w #$3F,d1
cmp.b 1(a3),d1
beq.s loc_28180
@@ -55459,7 +55478,7 @@ AnimateTiles_SOZ1: lea ($FFFFF7F0).w,a3
moveq #0,d0
move.w ($FFFFEEE2).w,d0
- sub.w ($FFFFEE8C).w,d0
+ sub.w (Camera_X_pos_BG_copy).w,d0
andi.w #$1F,d0
cmp.b 1(a3),d0
beq.s locret_2825A
@@ -55573,7 +55592,7 @@ loc_282D0: lea ($FFFFF7F0).w,a3
moveq #0,d0
move.w ($FFFFEEE4).w,d0
- sub.w ($FFFFEE8C).w,d0
+ sub.w (Camera_X_pos_BG_copy).w,d0
subq.w #1,d0
divu.w #$30,d0
swap d0
@@ -55612,7 +55631,7 @@ loc_282D0: loc_2833C:
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
beq.s locret_2834A
addq.w #2,a3
bra.w loc_28364
@@ -55638,7 +55657,7 @@ word_2834C: dc.w $240 loc_28364:
moveq #0,d0
move.w ($FFFFEEE2).w,d0
- sub.w ($FFFFEE8C).w,d0
+ sub.w (Camera_X_pos_BG_copy).w,d0
andi.w #$1F,d0
cmp.b 1(a3),d0
beq.s loc_283CC
@@ -55694,7 +55713,7 @@ AnimateTiles_DPZ: lea ($FFFFF7F0).w,a3
moveq #0,d1
move.w ($FFFFEEE2).w,d1
- sub.w ($FFFFEE8C).w,d1
+ sub.w (Camera_X_pos_BG_copy).w,d1
andi.w #$3F,d1
cmp.b 1(a3),d1
beq.s loc_28442
@@ -55790,7 +55809,7 @@ AnimateTiles_Gumball: lea ($FFFFF7F0).w,a3
moveq #0,d1
move.w ($FFFFEEE2).w,d1
- sub.w ($FFFFEE90).w,d1
+ sub.w (Camera_Y_pos_BG_copy).w,d1
andi.w #$1F,d1
cmp.b 1(a3),d1
beq.s locret_284FC
@@ -56771,18 +56790,18 @@ AnimateTiles_NULL3: Animate_Init:
- cmpi.w #$100,($FFFFFE10).w
+ cmpi.w #$100,(Current_zone_and_act).w
bne.s loc_28C8C
bsr.w sub_279D4
loc_28C8C:
- cmpi.w #$101,($FFFFFE10).w
+ cmpi.w #$101,(Current_zone_and_act).w
bne.s loc_28CA0
move.b #$20,($FFFFF7F1).w
move.b #$40,($FFFFF7F3).w
loc_28CA0:
- cmpi.b #3,($FFFFFE10).w
+ cmpi.b #3,(Current_zone).w
bne.s loc_28CD8
move.b #$40,($FFFFF7F1).w
move.b #0,($FFFFF7F2).w
@@ -56794,41 +56813,41 @@ loc_28CA0: move.b #1,($FFFFF7FE).w
loc_28CD8:
- cmpi.w #$600,($FFFFFE10).w
+ cmpi.w #$600,(Current_zone_and_act).w
bne.s loc_28CE6
move.b #$20,($FFFFF7F3).w
loc_28CE6:
- cmpi.w #$601,($FFFFFE10).w
+ cmpi.w #$601,(Current_zone_and_act).w
bne.s loc_28CF8
bsr.w sub_2807A
move.b #$10,($FFFFF7F1).w
loc_28CF8:
- cmpi.b #7,($FFFFFE10).w
+ cmpi.b #7,(Current_zone).w
bne.s loc_28D0C
move.b #$20,($FFFFF7F1).w
move.b #$40,($FFFFF7F3).w
loc_28D0C:
- cmpi.b #8,($FFFFFE10).w
+ cmpi.b #8,(Current_zone).w
bne.s loc_28D1A
move.b #-1,($FFFFF7F1).w
loc_28D1A:
- cmpi.w #$900,($FFFFFE10).w
+ cmpi.w #$900,(Current_zone_and_act).w
bne.s loc_28D2E
move.b #-1,($FFFFF7F1).w
move.b #-1,($FFFFF7F3).w
loc_28D2E:
- cmpi.w #$1000,($FFFFFE10).w
+ cmpi.w #$1000,(Current_zone_and_act).w
bne.s loc_28D42
move.b #$40,($FFFFF7F1).w
move.b #$40,($FFFFF7F3).w
loc_28D42:
- cmpi.b #$14,($FFFFFE10).w
+ cmpi.b #$14,(Current_zone).w
bne.s loc_28DA2
lea (ArtKos_PachinkoBG1).l,a0
lea ($FFFF1000).l,a1
@@ -56854,7 +56873,7 @@ loc_28D7E: jsr (Kos_Decomp).l
loc_28DA2:
- cmpi.w #$1600,($FFFFFE10).w
+ cmpi.w #$1600,(Current_zone_and_act).w
bne.s locret_28DB6
move.b #-1,($FFFFF7F1).w
move.b #-1,($FFFFF7F3).w
@@ -56888,7 +56907,7 @@ loc_28DE4: ; ---------------------------------------------------------------------------
loc_28E02:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
jsr (sub_1DD24).l
@@ -56908,7 +56927,7 @@ loc_28E1E: ; ---------------------------------------------------------------------------
loc_28E28:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
jsr (sub_1DD24).l
cmpi.w #-2,d4
@@ -56924,7 +56943,7 @@ loc_28E3C: andi.b #8,d0
beq.s loc_28E5C
lea $2E(a0),a4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.w sub_28F40
@@ -56932,7 +56951,7 @@ loc_28E5C: andi.b #$10,d6
beq.s loc_28E70
lea $2F(a0),a4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w sub_28F40
@@ -57164,12 +57183,12 @@ loc_290CA: loc_290CE:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d0
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d0
bsr.w sub_290F2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.w #1,a2
- move.w ($FFFFF66A).w,d0
+ move.w (Ctrl_2_logical).w,d0
bsr.w sub_290F2
jmp (Sprite_OnScreen_Test).l
@@ -57251,7 +57270,7 @@ loc_291A2: bmi.s locret_29214
cmpi.b #4,5(a1)
bcc.s locret_29214
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_29214
clr.w $18(a1)
clr.w $1A(a1)
@@ -57279,7 +57298,7 @@ Obj_MGZLBZSmashingPillar: move.b #$10,7(a0)
move.b #$10,6(a0)
move.w #$80,8(a0)
- cmpi.b #2,($FFFFFE10).w
+ cmpi.b #2,(Current_zone).w
bne.s loc_2925E
move.l #Map_MGZSmashingPillar,$C(a0)
move.w #$4001,$A(a0)
@@ -57313,7 +57332,7 @@ loc_2927C: tst.b 4(a0)
bpl.s loc_292DC
moveq #$5F,d0
- cmpi.b #2,($FFFFFE10).w
+ cmpi.b #2,(Current_zone).w
beq.s loc_292C0
moveq #-$6A,d0
@@ -57357,13 +57376,13 @@ loc_29314: move.b d6,d0
andi.b #4,d0
beq.s loc_29324
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_24280
loc_29324:
andi.b #8,d6
beq.s loc_29332
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_24280
loc_29332:
@@ -57486,7 +57505,7 @@ sub_2949C: jsr (Create_New_Sprite3).l
bne.s locret_294D4
move.l #Obj_Flybot767,(a1)
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
move.w $10(a2),$10(a1)
move.w $14(a2),$14(a1)
move.b $2C(a0),d0
@@ -57555,9 +57574,9 @@ loc_29542: move.w d3,d4
sub.w $2E(a0),d3
add.w $2E(a0),d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_29570
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_29570
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -57610,10 +57629,10 @@ Obj_AutomaticTunnel: move.l #loc_295E8,(a0)
loc_295E8:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $30(a0),a4
bsr.s sub_2960E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $3A(a0),a4
bsr.s sub_2960E
move.b $30(a0),d0
@@ -57643,7 +57662,7 @@ AutoTunnel_Index: dc.w Obj_AutoTunnelInit-AutoTunnel_Index ; ---------------------------------------------------------------------------
Obj_AutoTunnelInit:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_296D2 ; If debug mode is on, don't bother
move.w $10(a1),d0
sub.w $10(a0),d0
@@ -57675,7 +57694,7 @@ Obj_AutoTunnelInit: jsr (Play_Sound_2).l
btst #5,$2C(a0)
beq.s locret_296D2
- tst.b ($FFFFFE11).w ; If bit 5 of object subtype is set and we're in an act 2
+ tst.b (Current_act).w ; If bit 5 of object subtype is set and we're in an act 2
beq.s locret_296D2
bclr #4,$2B(a1)
beq.s loc_296C4
@@ -57793,7 +57812,7 @@ AutoTunnel_GetPath: loc_297D6:
cmpi.b #$10,d0
bne.s loc_297E6
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_297E6
moveq #0,d0 ; If playing as tails, use path 0 when doing path $10
@@ -57920,7 +57939,7 @@ loc_298E2: loc_298F4:
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
bne.s loc_29904
move.l #Obj_TunnelExSmoke,(a0) ; If in act 1, just make smoke
bra.w Obj_TunnelExSmoke
@@ -58193,13 +58212,13 @@ loc_29C10: loc_29C22:
move.b $29(a0),d0
beq.w loc_29C46
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #0,$29(a0)
beq.s loc_29C38
bsr.s sub_29C4C
loc_29C38:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #1,$29(a0)
beq.s loc_29C46
bsr.s sub_29C4C
@@ -58277,10 +58296,10 @@ loc_29D38: Obj_LBZTubeElevatorActive:
bsr.w LBZTubeElevator_Action
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $38(a0),a2
bsr.w LBZTubeElevator_CheckPlayer
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.w #1,a2
bsr.w LBZTubeElevator_CheckPlayer
jmp (Sprite_OnScreen_Test).l
@@ -58288,7 +58307,7 @@ Obj_LBZTubeElevatorActive: Obj_LBZTubeElevatorClosed:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #3,$2A(a1)
beq.s loc_29D8E
tst.b $2E(a1)
@@ -58469,7 +58488,7 @@ loc_29F1C: move.w #$180,$3C(a0)
clr.b 1(a4)
bsr.w AutoTunnel_GetPath ; Get auto tunnel path
- move.b #1,($FFFFEE39).w ; Y camera follows Sonic differently
+ move.b #1,(Fast_V_scroll_flag).w ; Y camera follows Sonic differently
bra.s loc_29EE2
; ---------------------------------------------------------------------------
@@ -58510,7 +58529,7 @@ loc_29F86: move.w #0,$1A(a1) ; Null momentum of player
move.w $14(a0),$46(a0) ; Backup Y position
clr.b 1(a4) ; Zero out angle
- move.b #0,($FFFFEE39).w ; Restore normal Camera Y follow
+ move.b #0,(Fast_V_scroll_flag).w ; Restore normal Camera Y follow
rts
; ---------------------------------------------------------------------------
@@ -58662,7 +58681,7 @@ LBZTubeElevator_CheckPlayer: move.b (a2),d0
bne.w loc_2A1B6
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_2A1B4 ; Do nothing if currently in debug state
cmpa.w #$B04A,a1
bne.s loc_2A128
@@ -58820,7 +58839,7 @@ loc_2A26C: move.b #$18,6(a0)
move.b #4,4(a0)
move.w #$280,8(a0)
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
add.w $34(a0),d0
and.w $32(a0),d0
beq.s loc_2A2D0
@@ -58837,7 +58856,7 @@ loc_2A2D0: move.l #loc_2A2D6,(a0)
loc_2A2D6:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
add.w $34(a0),d0
and.w $32(a0),d0
bne.w loc_2A300
@@ -58911,14 +58930,14 @@ Obj_CorkFloor: loc_2A3F0:
move.b #$28,6(a0)
move.l #word_2A8B0,$3C(a0)
- cmpi.w #1,($FFFFFE10).w
+ cmpi.w #1,(Current_zone_and_act).w
bne.s loc_2A41A
move.l #Map_AIZCorkFloor2,$C(a0)
move.w #$4001,$A(a0)
move.b #$2C,6(a0)
loc_2A41A:
- cmpi.b #3,($FFFFFE10).w
+ cmpi.b #3,(Current_zone).w
bne.s loc_2A444
move.l #Map_CNZCorkFloor,$C(a0)
move.w #$4430,$A(a0)
@@ -58927,7 +58946,7 @@ loc_2A41A: move.l #word_2A8E0,$3C(a0)
loc_2A444:
- cmpi.b #4,($FFFFFE10).w
+ cmpi.b #4,(Current_zone).w
bne.s loc_2A46E
move.l #Map_FBZCorkFloor,$C(a0)
move.w #$243A,$A(a0)
@@ -58936,7 +58955,7 @@ loc_2A444: move.l #word_2A884,$3C(a0)
loc_2A46E:
- cmpi.b #5,($FFFFFE10).w
+ cmpi.b #5,(Current_zone).w
bne.s loc_2A4C2
move.l #Map_ICZCorkFloor,$C(a0)
move.w #$4001,$A(a0)
@@ -58958,7 +58977,7 @@ loc_2A4AE: move.b #$10,6(a0)
loc_2A4C2:
- cmpi.b #6,($FFFFFE10).w
+ cmpi.b #6,(Current_zone).w
bne.s loc_2A4EC
move.l #Map_LBZCorkFloor,$C(a0)
move.w #$4001,$A(a0)
@@ -58977,7 +58996,7 @@ loc_2A4FC: move.l #loc_2A502,(a0)
loc_2A502:
- move.w ($FFFFF7D0).w,$38(a0)
+ move.w (Chain_bonus_counter).w,$38(a0)
move.b ($FFFFB020).w,$34(a0)
move.b ($FFFFB06A).w,$36(a0)
moveq #0,d1
@@ -59007,10 +59026,10 @@ loc_2A542: bne.s loc_2A53C
loc_2A558:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b $34(a0),d0
bsr.s sub_2A588
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.b $36(a0),d0
bsr.s sub_2A588
bra.w loc_2A5D8
@@ -59022,7 +59041,7 @@ loc_2A570: beq.s loc_2A5C0
cmpi.b #2,$34(a0)
bne.s loc_2A53C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_2A58E
bra.s loc_2A5D8
@@ -59061,12 +59080,12 @@ loc_2A5C0: beq.w loc_2A53C
cmpi.b #2,$36(a0)
bne.w loc_2A53C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_2A58E
loc_2A5D8:
- move.w $38(a0),($FFFFF7D0).w
+ move.w $38(a0),(Chain_bonus_counter).w
andi.b #-$19,$2A(a0)
movea.l $3C(a0),a4
addq.b #1,$22(a0)
@@ -59110,11 +59129,11 @@ loc_2A650: move.b d6,d0
andi.b #4,d0
beq.s loc_2A674
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $30(a0),$1A(a1)
andi.b #8,d6
beq.s loc_2A68C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w $32(a0),$1A(a1)
bra.s loc_2A68C
; ---------------------------------------------------------------------------
@@ -59122,7 +59141,7 @@ loc_2A650: loc_2A674:
andi.b #8,d6
beq.s loc_2A686
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w $32(a0),$1A(a1)
bra.s loc_2A68C
; ---------------------------------------------------------------------------
@@ -59135,14 +59154,14 @@ loc_2A68C: btst #3,$2A(a0)
beq.s loc_2A6A4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bset #1,$2A(a1)
bclr #3,$2A(a1)
loc_2A6A4:
btst #4,$2A(a0)
beq.s loc_2A6BC
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bset #1,$2A(a1)
bclr #3,$2A(a1)
@@ -59156,7 +59175,7 @@ loc_2A6BC: loc_2A6D4:
- move.w ($FFFFF7D0).w,$38(a0)
+ move.w (Chain_bonus_counter).w,$38(a0)
move.b ($FFFFB020).w,$34(a0)
move.b ($FFFFB06A).w,$36(a0)
lea (byte_2A894).l,a2
@@ -59204,10 +59223,10 @@ loc_2A754: loc_2A762:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b $34(a0),d0
bsr.s sub_2A7B0
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.b $36(a0),d0
bsr.s sub_2A7B0
bra.w loc_2A816
@@ -59232,7 +59251,7 @@ loc_2A798: loc_2A7A8:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_2A7B6
bra.s loc_2A816
@@ -59283,12 +59302,12 @@ loc_2A800: loc_2A810:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_2A7B6
loc_2A816:
- move.w $38(a0),($FFFFF7D0).w
+ move.w $38(a0),(Chain_bonus_counter).w
andi.b #-$19,$2A(a0)
lea (word_2A84C).l,a4
moveq #0,d0
@@ -59586,12 +59605,12 @@ word_2AB72: dc.w $F4F4, $F4F4 sub_2ABF2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
bsr.s sub_2AC08
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
; End of function sub_2ABF2
@@ -59897,10 +59916,10 @@ loc_2AF7C: move.b $34(a0),d3
moveq #0,d1
move.b 7(a0),d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_2AF9C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.s sub_2AF9C
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -60181,7 +60200,7 @@ loc_2B32E: jsr (SolidObjectFull2).l
move.w $30(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_2B352
jmp (Draw_Sprite).l
@@ -60434,7 +60453,7 @@ Obj_AIZFallingLog: bne.s loc_2B5A2
loc_2B596:
- tst.b ($FFFFF7E0).w
+ tst.b (Level_trigger_array).w
beq.s loc_2B5A2
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -60462,7 +60481,7 @@ loc_2B5BC: move.l #loc_2B5D4,(a0)
loc_2B5D4:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
;loc_2B5D8:
add.w $34(a0),d0
@@ -60479,7 +60498,7 @@ loc_2B5D4: move.w $14(a0),$14(a1)
move.l #Map_AIZFallingLog2,$C(a1)
move.w #$42E9,$A(a1)
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
bne.s loc_2B622
move.l #Map_AIZFallingLog,$C(a1)
@@ -60503,7 +60522,7 @@ loc_2B622: ;loc_2B658:
move.l #Map_AIZFallingLogSplash2,$C(a1)
move.w #$62E9,$A(a1)
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
bne.s loc_2B67A
;loc_2B66C:
@@ -60530,7 +60549,7 @@ loc_2B69A: loc_2B6A0:
addq.w #1,$14(a0)
move.w $14(a0),d0
- cmp.w ($FFFFF646).w,d0
+ cmp.w (Water_level).w,d0
bcs.s loc_2B6BA
move.l #loc_2B6BC,(a0)
move.b #$3B,$24(a0)
@@ -60559,7 +60578,7 @@ loc_2B6D8: jsr (SolidObjectTop).l
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_2B70C
tst.b $36(a0)
@@ -60728,7 +60747,7 @@ loc_2B896: jsr (SolidObjectFull).l
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_2B8CE
jmp (Draw_Sprite).l
@@ -61124,14 +61143,14 @@ loc_2C270: move.w $30(a0),d1
move.w d1,d2
subi.w #$A0,d1
- sub.w ($FFFFEE78).w,d1
+ sub.w (Camera_X_pos).w,d1
asr.w #4,d1
add.w d2,d1
move.w d1,$10(a0)
move.w $32(a0),d1
move.w d1,d2
subi.w #$70,d1
- sub.w ($FFFFEE7C).w,d1
+ sub.w (Camera_Y_pos).w,d1
asr.w #4,d1
add.w d2,d1
move.w d1,$14(a0)
@@ -61143,14 +61162,14 @@ loc_2C2A6: move.w $30(a0),d1
move.w d1,d2
subi.w #$A0,d1
- sub.w ($FFFFEE78).w,d1
+ sub.w (Camera_X_pos).w,d1
asr.w #3,d1
add.w d2,d1
move.w d1,$10(a0)
move.w $32(a0),d1
move.w d1,d2
subi.w #$70,d1
- sub.w ($FFFFEE7C).w,d1
+ sub.w (Camera_Y_pos).w,d1
asr.w #3,d1
add.w d2,d1
move.w d1,$14(a0)
@@ -61162,14 +61181,14 @@ loc_2C2DC: move.w $30(a0),d1
move.w d1,d2
subi.w #$A0,d1
- sub.w ($FFFFEE78).w,d1
+ sub.w (Camera_X_pos).w,d1
asr.w #2,d1
add.w d2,d1
move.w d1,$10(a0)
move.w $32(a0),d1
move.w d1,d2
subi.w #$70,d1
- sub.w ($FFFFEE7C).w,d1
+ sub.w (Camera_Y_pos).w,d1
asr.w #2,d1
add.w d2,d1
move.w d1,$14(a0)
@@ -61181,14 +61200,14 @@ loc_2C312: move.w $30(a0),d1
move.w d1,d2
subi.w #$A0,d1
- sub.w ($FFFFEE78).w,d1
+ sub.w (Camera_X_pos).w,d1
asr.w #1,d1
add.w d2,d1
move.w d1,$10(a0)
move.w $32(a0),d1
move.w d1,d2
subi.w #$70,d1
- sub.w ($FFFFEE7C).w,d1
+ sub.w (Camera_Y_pos).w,d1
asr.w #1,d1
add.w d2,d1
move.w d1,$14(a0)
@@ -61200,13 +61219,13 @@ loc_2C348: move.w $30(a0),d1
move.w d1,d2
subi.w #$A0,d1
- sub.w ($FFFFEE78).w,d1
+ sub.w (Camera_X_pos).w,d1
add.w d2,d1
move.w d1,$10(a0)
move.w $32(a0),d1
move.w d1,d2
subi.w #$70,d1
- sub.w ($FFFFEE7C).w,d1
+ sub.w (Camera_Y_pos).w,d1
add.w d2,d1
move.w d1,$14(a0)
move.w $30(a0),d0
@@ -61217,14 +61236,14 @@ loc_2C37A: move.w $30(a0),d1
move.w d1,d2
subi.w #$A0,d1
- sub.w ($FFFFEE78).w,d1
+ sub.w (Camera_X_pos).w,d1
add.w d1,d1
add.w d2,d1
move.w d1,$10(a0)
move.w $32(a0),d1
move.w d1,d2
subi.w #$70,d1
- sub.w ($FFFFEE7C).w,d1
+ sub.w (Camera_Y_pos).w,d1
add.w d2,d1
move.w d1,$14(a0)
move.w $30(a0),d0
@@ -61241,11 +61260,11 @@ Obj_31_1: move.l #loc_2C3CA,(a0)
loc_2C3CA:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea ($FFFFF7B0).w,a2
moveq #3,d6
bsr.s sub_2C3E8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea ($FFFFF7B1).w,a2
addq.b #1,d6
bsr.s sub_2C3E8
@@ -61285,7 +61304,7 @@ loc_2C424: loc_2C42C:
cmpi.b #6,5(a1)
bcc.s locret_2C46C
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_2C46C
cmpi.w #8,d0
bcc.s loc_2C444
@@ -61374,32 +61393,32 @@ locret_2C516: Obj_Button:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.w loc_2C696
move.l #Map_Button,$C(a0)
move.w #$456,$A(a0)
- cmpi.b #1,($FFFFFE10).w
+ cmpi.b #1,(Current_zone).w
bne.s loc_2C544
move.l #Map_Button2,$C(a0)
move.w #$2426,$A(a0)
loc_2C544:
- cmpi.b #3,($FFFFFE10).w
+ cmpi.b #3,(Current_zone).w
bne.s loc_2C55A
move.l #Map_CNZButton,$C(a0)
move.w #$441A,$A(a0)
loc_2C55A:
- cmpi.b #4,($FFFFFE10).w
+ cmpi.b #4,(Current_zone).w
bne.s loc_2C568
move.w #$500,$A(a0)
loc_2C568:
- cmpi.b #9,($FFFFFE10).w
+ cmpi.b #9,(Current_zone).w
bne.s loc_2C58A
move.l #Map_LRZButton,$C(a0)
move.w #$63A1,$A(a0)
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_2C58A
move.w #$2429,$A(a0)
@@ -61430,7 +61449,7 @@ loc_2C5BE: move.b #0,$22(a0)
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
loc_2C5EC:
lea (a3,d0.w),a3
@@ -61477,7 +61496,7 @@ loc_2C62C: move.b #0,$22(a0)
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
lea (a3,d0.w),a3
moveq #0,d3
btst #6,$2C(a0)
@@ -61527,7 +61546,7 @@ loc_2C6C0: move.b #0,$22(a0)
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
lea (a3,d0.w),a3
moveq #0,d3
move.b $2A(a0),d0
@@ -61749,7 +61768,7 @@ loc_2C924: loc_2C940:
moveq #0,d1
- move.b ($FFFFFE10).w,d1
+ move.b (Current_zone).w,d1
add.w d1,d1
add.w d0,d1
lea byte_2C7BA(pc),a1
@@ -62293,7 +62312,7 @@ loc_2CFC0: movea.w $48(a0),a2
btst #0,(a2)
bne.s loc_2D008
- move.b ($FFFFFE2A).w,d1
+ move.b (Last_star_post_hit).w,d1
andi.b #$7F,d1
move.b $2C(a0),d2
andi.b #$7F,d2
@@ -62306,10 +62325,10 @@ loc_2D008: loc_2D012:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_2D0F8
- lea ($FFFFB000).w,a3
- move.b ($FFFFFE2A).w,d1
+ lea (Player_1).w,a3
+ move.b (Last_star_post_hit).w,d1
bsr.s sub_2D028
bra.w loc_2D0F8
@@ -62350,7 +62369,7 @@ sub_2D028: move.b #2,$22(a1)
move.w #$20,$36(a1)
move.w a0,$3E(a1)
- cmpi.w #20,($FFFFFE20).w
+ cmpi.w #20,(Ring_count).w
bcs.s loc_2D0D0
bsr.w sub_2D3C8
@@ -62410,6 +62429,7 @@ loc_2D12E: move.w d1,$10(a0)
muls.w #$C00,d0
swap d0
+
add.w $32(a0),d0
move.w d0,$14(a0)
jmp (Sprite_OnScreen_Test).l
@@ -62418,9 +62438,9 @@ loc_2D12E: sub_2D164:
- move.b $2C(a0),($FFFFFE2A).w
- move.w $10(a0),($FFFFFE2E).w
- move.w $14(a0),($FFFFFE30).w
+ move.b $2C(a0),(Last_star_post_hit).w
+ move.w $10(a0),(Saved_X_pos).w
+ move.w $14(a0),(Saved_Y_pos).w
; End of function sub_2D164
@@ -62429,20 +62449,20 @@ sub_2D164: Save_Level_Data:
- move.b ($FFFFFE2A).w,($FFFFFE2B).w
- move.w ($FFFFFE10).w,($FFFFFE2C).w
- move.w ($FFFFEE4E).w,($FFFFFF9A).w
- move.w ($FFFFB00A).w,($FFFFFE38).w
- move.w ($FFFFB046).w,($FFFFFE3A).w
- move.w ($FFFFFE20).w,($FFFFFE32).w
- move.b ($FFFFFE1B).w,($FFFFFE43).w
- move.l ($FFFFFE22).w,($FFFFFE34).w
- move.b ($FFFFEE33).w,($FFFFFE46).w
- move.w ($FFFFEE1A).w,($FFFFFE44).w
- move.w ($FFFFEE78).w,($FFFFFE3C).w
- move.w ($FFFFEE7C).w,($FFFFFE3E).w
- move.w ($FFFFF648).w,($FFFFFE40).w
- move.b ($FFFFF64E).w,($FFFFFE42).w
+ move.b (Last_star_post_hit).w,(Saved_last_star_post_hit).w
+ move.w (Current_zone_and_act).w,(Saved_zone_and_act).w
+ move.w (Apparent_zone_and_act).w,(Saved_apparent_zone_and_act).w
+ move.w ($FFFFB00A).w,(Saved_art_tile).w
+ move.w ($FFFFB046).w,(Saved_solid_bits).w
+ move.w (Ring_count).w,(Saved_ring_count).w
+ move.b (Extra_life_flags).w,(Saved_extra_life_flags).w
+ move.l (Timer).w,(Saved_timer).w
+ move.b (Dynamic_resize_routine).w,(Saved_dynamic_resize_routine).w
+ move.w (Camera_max_Y_pos).w,(Saved_camera_max_Y_pos).w
+ move.w (Camera_X_pos).w,(Saved_camera_X_pos).w
+ move.w (Camera_Y_pos).w,(Saved_camera_Y_pos).w
+ move.w (Mean_water_level).w,(Saved_mean_water_level).w
+ move.b (Water_full_screen_flag).w,(Saved_water_full_screen_flag).w
rts
; End of function Save_Level_Data
@@ -62451,23 +62471,23 @@ Save_Level_Data: Save_Level_Data2:
- move.b ($FFFFFE2A).w,($FFFFFE49).w
- move.w ($FFFFFE10).w,($FFFFFE4A).w
- move.w ($FFFFEE4E).w,($FFFFFF9C).w
- move.w $10(a0),($FFFFFE4C).w
- move.w $14(a0),($FFFFFE4E).w
- move.w ($FFFFB00A).w,($FFFFFE56).w
- move.w ($FFFFB046).w,($FFFFFE58).w
- move.w ($FFFFFE20).w,($FFFFFE50).w
- move.b ($FFFFFE1B).w,($FFFFFE61).w
- move.l ($FFFFFE22).w,($FFFFFE52).w
- move.b ($FFFFEE33).w,($FFFFFE64).w
- move.w ($FFFFEE1A).w,($FFFFFE62).w
- move.w ($FFFFEE78).w,($FFFFFE5A).w
- move.w ($FFFFEE7C).w,($FFFFFE5C).w
- move.w ($FFFFF648).w,($FFFFFE5E).w
- move.b ($FFFFF64E).w,($FFFFFE60).w
- move.b ($FFFFB02B).w,($FFFFFF96).w
+ move.b (Last_star_post_hit).w,(Saved2_last_star_post_hit).w
+ move.w (Current_zone_and_act).w,(Saved2_zone_and_act).w
+ move.w (Apparent_zone_and_act).w,(Saved2_apparent_zone_and_act).w
+ move.w $10(a0),(Saved2_X_pos).w
+ move.w $14(a0),(Saved2_Y_pos).w
+ move.w ($FFFFB00A).w,(Saved2_art_tile).w
+ move.w ($FFFFB046).w,(Saved2_solid_bits).w
+ move.w (Ring_count).w,(Saved2_ring_count).w
+ move.b (Extra_life_flags).w,(Saved2_extra_life_flags).w
+ move.l (Timer).w,(Saved2_timer).w
+ move.b (Dynamic_resize_routine).w,(Saved2_dynamic_resize_routine).w
+ move.w (Camera_max_Y_pos).w,(Saved2_camera_max_Y_pos).w
+ move.w (Camera_X_pos).w,(Saved2_camera_X_pos).w
+ move.w (Camera_Y_pos).w,(Saved2_camera_Y_pos).w
+ move.w (Mean_water_level).w,(Saved2_mean_water_level).w
+ move.b (Water_full_screen_flag).w,(Saved2_water_full_screen_flag).w
+ move.b ($FFFFB02B).w,(Saved2_status_secondary).w
rts
; End of function Save_Level_Data2
@@ -62476,62 +62496,62 @@ Save_Level_Data2: Load_Starpost_Settings:
- tst.b ($FFFFFE48).w
+ tst.b (Special_bonus_entry_flag).w
bne.w loc_2D2C2
- move.b ($FFFFFE2B).w,($FFFFFE2A).w
- move.w ($FFFFFE2C).w,($FFFFFE10).w
- move.w ($FFFFFF9A).w,($FFFFEE4E).w
- move.w ($FFFFFE2E).w,($FFFFB010).w
- move.w ($FFFFFE30).w,($FFFFB014).w
- move.w ($FFFFFE32).w,($FFFFFE20).w
- move.b ($FFFFFE43).w,($FFFFFE1B).w
+ move.b (Saved_last_star_post_hit).w,(Last_star_post_hit).w
+ move.w (Saved_zone_and_act).w,(Current_zone_and_act).w
+ move.w (Saved_apparent_zone_and_act).w,(Apparent_zone_and_act).w
+ move.w (Saved_X_pos).w,($FFFFB010).w
+ move.w (Saved_Y_pos).w,($FFFFB014).w
+ move.w (Saved_ring_count).w,(Ring_count).w
+ move.b (Saved_extra_life_flags).w,(Extra_life_flags).w
tst.b ($FFFFFF97).w
bne.s loc_2D274
- clr.w ($FFFFFE20).w
- clr.b ($FFFFFE1B).w
+ clr.w (Ring_count).w
+ clr.b (Extra_life_flags).w
loc_2D274:
- move.l ($FFFFFE34).w,($FFFFFE22).w
- move.b #$3B,($FFFFFE25).w
- subq.b #1,($FFFFFE24).w
- move.w ($FFFFFE38).w,($FFFFB00A).w
- move.w ($FFFFFE3A).w,($FFFFB046).w
- move.b ($FFFFFE46).w,($FFFFEE33).w
- move.w ($FFFFFE44).w,($FFFFEE1A).w
- move.w ($FFFFFE44).w,($FFFFEE12).w
- move.w ($FFFFFE3C).w,($FFFFEE78).w
- move.w ($FFFFFE3E).w,($FFFFEE7C).w
- tst.b ($FFFFF730).w
+ move.l (Saved_timer).w,(Timer).w
+ move.b #$3B,(Timer_frame).w
+ subq.b #1,(Timer_second).w
+ move.w (Saved_art_tile).w,($FFFFB00A).w
+ move.w (Saved_solid_bits).w,($FFFFB046).w
+ move.b (Saved_dynamic_resize_routine).w,(Dynamic_resize_routine).w
+ move.w (Saved_camera_max_Y_pos).w,(Camera_max_Y_pos).w
+ move.w (Saved_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
+ move.w (Saved_camera_X_pos).w,(Camera_X_pos).w
+ move.w (Saved_camera_Y_pos).w,(Camera_Y_pos).w
+ tst.b (Water_flag).w
beq.s locret_2D2C0
- move.w ($FFFFFE40).w,($FFFFF648).w
- move.b ($FFFFFE42).w,($FFFFF64E).w
+ move.w (Saved_mean_water_level).w,(Mean_water_level).w
+ move.b (Saved_water_full_screen_flag).w,(Water_full_screen_flag).w
locret_2D2C0:
rts
; ---------------------------------------------------------------------------
loc_2D2C2:
- clr.b ($FFFFFE48).w
- move.w ($FFFFFE4A).w,($FFFFFE10).w
- move.w ($FFFFFF9C).w,($FFFFEE4E).w
- move.w ($FFFFFE4C).w,($FFFFB010).w
- move.w ($FFFFFE4E).w,($FFFFB014).w
- move.w ($FFFFFE50).w,($FFFFFE20).w
- move.b ($FFFFFE61).w,($FFFFFE1B).w
- move.l ($FFFFFE52).w,($FFFFFE22).w
- move.b #$3B,($FFFFFE25).w
- subq.b #1,($FFFFFE24).w
- move.w ($FFFFFE56).w,($FFFFB00A).w
- move.w ($FFFFFE58).w,($FFFFB046).w
- move.b ($FFFFFE64).w,($FFFFEE33).w
- move.w ($FFFFFE62).w,($FFFFEE1A).w
- move.w ($FFFFFE62).w,($FFFFEE12).w
- move.w ($FFFFFE5A).w,($FFFFEE78).w
- move.w ($FFFFFE5C).w,($FFFFEE7C).w
- tst.b ($FFFFF730).w
+ clr.b (Special_bonus_entry_flag).w
+ move.w (Saved2_zone_and_act).w,(Current_zone_and_act).w
+ move.w (Saved2_apparent_zone_and_act).w,(Apparent_zone_and_act).w
+ move.w (Saved2_X_pos).w,($FFFFB010).w
+ move.w (Saved2_Y_pos).w,($FFFFB014).w
+ move.w (Saved2_ring_count).w,(Ring_count).w
+ move.b (Saved2_extra_life_flags).w,(Extra_life_flags).w
+ move.l (Saved2_timer).w,(Timer).w
+ move.b #$3B,(Timer_frame).w
+ subq.b #1,(Timer_second).w
+ move.w (Saved2_art_tile).w,($FFFFB00A).w
+ move.w (Saved2_solid_bits).w,($FFFFB046).w
+ move.b (Saved2_dynamic_resize_routine).w,(Dynamic_resize_routine).w
+ move.w (Saved2_camera_max_Y_pos).w,(Camera_max_Y_pos).w
+ move.w (Saved2_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
+ move.w (Saved2_camera_X_pos).w,(Camera_X_pos).w
+ move.w (Saved2_camera_Y_pos).w,(Camera_Y_pos).w
+ tst.b (Water_flag).w
beq.s locret_2D336
- move.w ($FFFFFE5E).w,($FFFFF648).w
- move.b ($FFFFFE60).w,($FFFFF64E).w
+ move.w (Saved2_mean_water_level).w,(Mean_water_level).w
+ move.b (Saved2_water_full_screen_flag).w,(Water_full_screen_flag).w
locret_2D336:
rts
@@ -62577,12 +62597,12 @@ loc_2D3CC: loc_2D436:
lea (ArtKosM_StarPostStars3).l,a1
- move.w ($FFFFFE20).w,d0
+ move.w (Ring_count).w,d0
subi.w #20,d0
divu.w #15,d0
ext.l d0
moveq #2,d2
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2D454
moveq #3,d2
@@ -62594,7 +62614,7 @@ loc_2D454: lea (ArtKosM_StarPost_Stars1).l,a1
cmpi.w #1,d0
beq.s loc_2D474
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2D474
lea (ArtKosM_StarPostStars2).l,a1
@@ -62611,14 +62631,14 @@ loc_2D47E: beq.w loc_2D50A
andi.b #1,d0
beq.s loc_2D506
- move.b #2,($FFFFFE48).w
+ move.b #2,(Special_bonus_entry_flag).w
move.w #$1500,d1
- move.w ($FFFFFE32).w,d0
+ move.w (Saved_ring_count).w,d0
subi.w #$14,d0
divu.w #$F,d0
ext.l d0
moveq #2,d2
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2D4AE
moveq #3,d2
@@ -62630,22 +62650,22 @@ loc_2D4AE: move.w #$1400,d1
cmpi.w #1,d0
beq.s loc_2D4CA
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2D4CA
move.w #$1300,d1
loc_2D4CA:
- move.w d1,($FFFFFE10).w
- move.w d1,($FFFFEE4E).w
- move.w ($FFFFFE20).w,($FFFFFE32).w
- move.b ($FFFFFE1B).w,($FFFFFE43).w
- move.b #0,($FFFFFE2A).w
- move.b #1,($FFFFFE02).w
+ move.w d1,(Current_zone_and_act).w
+ move.w d1,(Apparent_zone_and_act).w
+ move.w (Ring_count).w,(Saved_ring_count).w
+ move.b (Extra_life_flags).w,(Saved_extra_life_flags).w
+ move.b #0,(Last_star_post_hit).w
+ move.b #1,(Restart_level_flag).w
move.b ($FFFFB02B).w,d0
andi.b #$71,d0
- move.b d0,($FFFFFF96).w
- move.b d0,($FFFFFE47).w
+ move.b d0,(Saved2_status_secondary).w
+ move.b d0,(Saved_status_secondary).w
move.b #1,($FFFFFF97).w
jsr (Clear_SpriteRingMem).l
@@ -62740,7 +62760,7 @@ loc_2D5C0: loc_2D5C6:
- tst.l ($FFFFF680).w
+ tst.l (Nem_decomp_queue).w
beq.s loc_2D5CE
rts
; ---------------------------------------------------------------------------
@@ -62748,7 +62768,7 @@ loc_2D5C6: loc_2D5CE:
tst.b $22(a0)
bne.s loc_2D5DE
- st ($FFFFEF56).w
+ st (SRAM_mask_interrupts_flag).w
jsr (SaveGame_LivesContinues).l
loc_2D5DE:
@@ -62783,11 +62803,11 @@ loc_2D62A: ; ---------------------------------------------------------------------------
loc_2D638:
- move.w #0,($FFFFE380).w
+ move.w #0,(Collision_response_list).w
btst #0,$22(a0)
bne.w loc_2D68A
- move.b ($FFFFF605).w,d0
- or.b ($FFFFF607).w,d0
+ move.b (Ctrl_1_pressed).w,d0
+ or.b (Ctrl_2_pressed).w,d0
andi.b #-$10,d0
bne.s loc_2D666
tst.w $24(a0)
@@ -62798,18 +62818,18 @@ loc_2D638: loc_2D666:
- tst.b ($FFFFFE1A).w
+ tst.b (Time_over_flag).w
bne.s loc_2D680
- move.b #$14,($FFFFF600).w
- tst.b ($FFFFFE18).w
+ move.b #$14,(Game_mode).w
+ tst.b (Continue_count).w
bne.s loc_2D68A
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
bra.s loc_2D68A
; ---------------------------------------------------------------------------
loc_2D680:
- clr.l ($FFFFFE34).w
- move.w #1,($FFFFFE02).w
+ clr.l (Saved_timer).w
+ move.w #1,(Restart_level_flag).w
loc_2D68A:
@@ -62830,11 +62850,11 @@ TitleCard_Index: dc.w Obj_TitleCardInit-TitleCard_Index ; ---------------------------------------------------------------------------
Obj_TitleCardInit:
- cmpi.w #$D01,($FFFFFE10).w
+ cmpi.w #$D01,(Current_zone_and_act).w
beq.s loc_2D6C2 ; if we're in the ending, don't show title card
- cmpi.b #$E,($FFFFFE10).w
+ cmpi.b #$E,(Current_zone).w
bcs.s loc_2D6C8 ; If in any of the 2P stages, don't show title card
- cmpi.b #$12,($FFFFFE10).w
+ cmpi.b #$12,(Current_zone).w
bhi.s loc_2D6C8
st $44(a0)
@@ -62848,7 +62868,7 @@ loc_2D6C8: move.w #$A000,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_TitleCardSKZone).l,a1
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2D6EA
lea (ArtKosM_TitleCardS3KZone).l,a1
@@ -62856,11 +62876,11 @@ loc_2D6EA: move.w #$A200,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_TitleCardNum2).l,a1
- cmpi.w #$1600,($FFFFFE10).w
+ cmpi.w #$1600,(Current_zone_and_act).w
beq.s loc_2D716
- cmpi.w #$1700,($FFFFFE10).w
+ cmpi.w #$1700,(Current_zone_and_act).w
beq.s loc_2D716 ; Death Egg Boss and LRZ Boss show act 2
- tst.b ($FFFFEE4F).w
+ tst.b (Apparent_act).w
bne.s loc_2D716
lea (ArtKosM_TitleCardNum1).l,a1
@@ -62870,15 +62890,15 @@ loc_2D716: jsr (Queue_Kos_Module).l
lea TitleCard_LevelGfx(pc),a1
moveq #9,d0
- cmpi.w #$1600,($FFFFFE10).w ; If in LRZ's boss, set it to Lava Reef's card
+ cmpi.w #$1600,(Current_zone_and_act).w ; If in LRZ's boss, set it to Lava Reef's card
beq.s loc_2D746
moveq #$D,d0
- cmpi.w #$1601,($FFFFFE10).w ; If in Hidden Palace, set it to its card
+ cmpi.w #$1601,(Current_zone_and_act).w ; If in Hidden Palace, set it to its card
beq.s loc_2D746
moveq #$B,d0
- cmpi.w #$1700,($FFFFFE10).w ; If in Death Egg boss, set it to Death Egg's card
+ cmpi.w #$1700,(Current_zone_and_act).w ; If in Death Egg boss, set it to Death Egg's card
beq.s loc_2D746
- move.b ($FFFFEE4E).w,d0 ; Otherwise, just use current zone
+ move.b (Apparent_zone_and_act).w,d0 ; Otherwise, just use current zone
loc_2D746:
@@ -62894,17 +62914,17 @@ loc_2D746: ; ---------------------------------------------------------------------------
Obj_TitleCardCreate:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.w locret_2D802 ; Wait for KosM queue to clear
jsr (Create_New_Sprite3).l
bne.w locret_2D802
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
beq.s loc_2D79A
- cmpi.w #$1700,($FFFFFE10).w
+ cmpi.w #$1700,(Current_zone_and_act).w
beq.s loc_2D79A
lea ObjArray_TtlCardBonus(pc),a2
moveq #1,d1
- cmpi.b #$13,($FFFFFE10).w
+ cmpi.b #$13,(Current_zone).w
bcc.s loc_2D7AC
loc_2D79A:
@@ -62934,7 +62954,7 @@ loc_2D7AC: dbne d1,loc_2D7AC
tst.b $3E(a0)
beq.s loc_2D7FE
- cmpi.b #6,($FFFFFE10).w
+ cmpi.b #6,(Current_zone).w
bne.s loc_2D7FE
moveq #$25,d0 ; If title card is mid-level and it's in LBZ, load the LBZ 2 misc art
jsr (Load_PLC).l
@@ -62958,15 +62978,15 @@ Obj_TitleCardWait: loc_2D810:
tst.w $3E(a0)
beq.s loc_2D84C
- clr.l ($FFFFFE22).w ; If using in-level title card
- clr.w ($FFFFFE20).w ; Reset HUD rings and timer
- clr.w ($FFFFFEC8).w ; Reset number of collected rings
- clr.b ($FFFFFE1B).w ; Reset extra life ring flag
- clr.l ($FFFFFED2).w
- clr.w ($FFFFFED0).w ; Reset actual rings and timer values
- clr.w ($FFFFFECA).w
- st ($FFFFFE1E).w
- st ($FFFFFE1D).w ; Start updating timer and rings again
+ clr.l (Timer).w ; If using in-level title card
+ clr.w (Ring_count).w ; Reset HUD rings and timer
+ clr.w (Total_ring_count).w ; Reset number of collected rings
+ clr.b (Extra_life_flags).w ; Reset extra life ring flag
+ clr.l (Timer_P2).w
+ clr.w (Ring_count_P2).w ; Reset actual rings and timer values
+ clr.w (Total_ring_count_P2).w
+ st (Update_HUD_timer).w
+ st (Update_HUD_ring_count).w ; Start updating timer and rings again
move.b #$1E,($FFFFB02C).w
move.b #$1E,($FFFFB076).w ; Reset air
jsr (Obj_PlayLevelMusic).l ; Play music
@@ -62994,7 +63014,7 @@ loc_2D862: loc_2D86E:
tst.b $44(a0)
bne.s loc_2D8DC
- cmpi.w #$801,($FFFFFE10).w
+ cmpi.w #$801,(Current_zone_and_act).w
bne.s loc_2D88A
jsr (Create_New_Sprite).l
bne.s loc_2D88A
@@ -63002,11 +63022,11 @@ loc_2D86E: loc_2D88A:
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
beq.s loc_2D8A2
- cmpi.w #$1700,($FFFFFE10).w
+ cmpi.w #$1700,(Current_zone_and_act).w
beq.s loc_2D8A2
- cmpi.b #$13,($FFFFFE10).w
+ cmpi.b #$13,(Current_zone).w
bcc.s loc_2D8DC
loc_2D8A2:
@@ -63018,15 +63038,15 @@ loc_2D8A2: ; ---------------------------------------------------------------------------
loc_2D8AE:
- cmpi.b #$C,($FFFFFE10).w
+ cmpi.b #$C,(Current_zone).w
beq.s loc_2D8DC
- cmpi.w #$1700,($FFFFFE10).w
+ cmpi.w #$1700,(Current_zone_and_act).w
beq.s loc_2D8DC
lea (PLC_SpikesSprings).l,a1 ; Reload spikes in all but DEZ boss and Doomsday
jsr (Load_PLC_Raw).l
loc_2D8CA:
- cmpi.w #$1700,($FFFFFE10).w
+ cmpi.w #$1700,(Current_zone_and_act).w
beq.s loc_2D8DC
jsr LoadEnemyArt(pc) ; Load animals and enemies in all but DEZ boss
jsr (PLCLoad_AnimalsAndExplosion).l
@@ -63068,16 +63088,16 @@ loc_2D920: ; ---------------------------------------------------------------------------
Obj_TitleCardName:
- move.b ($FFFFEE4E).w,d0
+ move.b (Apparent_zone_and_act).w,d0
add.b d0,$22(a0)
moveq #$D,d0
- cmpi.w #$1600,($FFFFFE10).w
+ cmpi.w #$1600,(Current_zone_and_act).w
beq.s loc_2D952
moveq #$11,d0
- cmpi.w #$1601,($FFFFFE10).w
+ cmpi.w #$1601,(Current_zone_and_act).w
beq.s loc_2D952
moveq #$F,d0
- cmpi.w #$1700,($FFFFFE10).w
+ cmpi.w #$1700,(Current_zone_and_act).w
bne.s loc_2D956
loc_2D952:
@@ -63120,11 +63140,11 @@ loc_2D99A: Obj_TitleCardAct:
move.l #Obj_TitleCardElement,(a0)
- cmpi.b #$A,($FFFFFE10).w
+ cmpi.b #$A,(Current_zone).w
beq.s loc_2D9BE
- cmpi.b #$C,($FFFFFE10).w
+ cmpi.b #$C,(Current_zone).w
beq.s loc_2D9BE
- cmpi.w #$1601,($FFFFFE10).w
+ cmpi.w #$1601,(Current_zone_and_act).w
bne.s Obj_TitleCardElement
loc_2D9BE:
@@ -63261,9 +63281,9 @@ Obj_LevelResultsInit: moveq #-1,d0
loc_2DB06:
- cmpi.w #$1600,($FFFFFE10).w
+ cmpi.w #$1600,(Current_zone_and_act).w
beq.s loc_2DB1C ; If this is the LRZ2 boss, use the 2 digit
- tst.b ($FFFFEE4F).w
+ tst.b (Apparent_act).w
bne.s loc_2DB1C
lea (ArtKosM_TitleCardNum1).l,a1 ; Otherwise, use the 1 digit if internal act number is 0
moveq #0,d0
@@ -63274,13 +63294,13 @@ loc_2DB1C: move.w #-$5300,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_ResultsSONIC).l,a1 ; Select character name to use based on character of course
- cmpi.w #1,($FFFFFF08).w
+ cmpi.w #1,(Player_mode).w
bls.s loc_2DB58
lea (ArtKosM_ResultsKNUCKLES).l,a1
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_2DB58
lea (ArtKosM_ResultsMILES).l,a1
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bpl.s loc_2DB58
lea (ArtKosM_ResultsTAILS).l,a1
@@ -63293,16 +63313,16 @@ loc_2DB58: loc_2DB66:
jsr (Queue_Kos_Module).l ; Load character name graphics
- clr.b ($FFFFFE1E).w ; Ensure timer isn't being updated currently
+ clr.b (Update_HUD_timer).w ; Ensure timer isn't being updated currently
moveq #0,d0
- move.b ($FFFFFE23).w,d0
+ move.b (Timer_minute).w,d0
mulu.w #$3C,d0
moveq #0,d1
- move.b ($FFFFFE24).w,d1
+ move.b (Timer_second).w,d1
add.w d1,d0
cmpi.w #$257,d0
bne.s loc_2DB90
- move.w #$2710,($FFFFF7D2).w ; If clock is at 9:59 give an automatic 100000 point time bonus
+ move.w #$2710,(Time_bonus_countdown).w ; If clock is at 9:59 give an automatic 100000 point time bonus
bra.s loc_2DBA8
; ---------------------------------------------------------------------------
@@ -63316,13 +63336,13 @@ loc_2DB90: loc_2DB9C:
add.w d0,d0
lea TimeBonus(pc),a1
- move.w (a1,d0.w),($FFFFF7D2).w ; Get the time bonus
+ move.w (a1,d0.w),(Time_bonus_countdown).w ; Get the time bonus
loc_2DBA8:
- move.w ($FFFFFE20).w,d0
+ move.w (Ring_count).w,d0
mulu.w #$A,d0
- move.w d0,($FFFFF7D4).w ; Get the ring bonus
- clr.w ($FFFFFF8E).w
+ move.w d0,(Ring_bonus_countdown).w ; Get the ring bonus
+ clr.w (Total_bonus_countup).w
move.w #$168,$2E(a0) ; Wait 6 seconds before starting score counting sequence
move.w #$C,$30(a0)
addq.b #2,5(a0)
@@ -63330,7 +63350,7 @@ loc_2DBA8: ; ---------------------------------------------------------------------------
Obj_LevelResultsCreate:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.s locret_2DC34 ; Don't load the objects until the art has been loaded
jsr (Create_New_Sprite3).l
bne.s locret_2DC34
@@ -63353,9 +63373,9 @@ loc_2DBDE: jsr (CreateNewSprite4).l
dbne d1,loc_2DBDE
addq.b #2,5(a0)
- tst.b ($FFFFEE4F).w
+ tst.b (Apparent_act).w
bne.s locret_2DC34 ; If this is act 2, branch
- move.b ($FFFFEE4E).w,d0
+ move.b (Apparent_zone_and_act).w,d0
beq.s locret_2DC34 ; If this is Angel Island, branch
cmpi.b #5,d0
beq.s locret_2DC34 ; If this is Ice Cap Zone, branch
@@ -63380,23 +63400,23 @@ Obj_LevelResultsWait: loc_2DC5C:
moveq #0,d0
- tst.w ($FFFFF7D2).w
+ tst.w (Time_bonus_countdown).w
beq.s loc_2DC6E
addi.w #$A,d0
- subi.w #$A,($FFFFF7D2).w ; Get 100 points from the time bonus
+ subi.w #$A,(Time_bonus_countdown).w ; Get 100 points from the time bonus
loc_2DC6E:
- tst.w ($FFFFF7D4).w
+ tst.w (Ring_bonus_countdown).w
beq.s loc_2DC7E
addi.w #$A,d0
- subi.w #$A,($FFFFF7D4).w ; Get 100 points from the ring bonus
+ subi.w #$A,(Ring_bonus_countdown).w ; Get 100 points from the ring bonus
loc_2DC7E:
- add.w d0,($FFFFFF8E).w ; Add to total score for level
+ add.w d0,(Total_bonus_countup).w ; Add to total score for level
tst.w d0
beq.s loc_2DCA0 ; Branch once score has finished counting down
jsr (HUD_AddToScore).l ; Add to actual score
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #3,d0
bne.s locret_2DC9E
moveq #$5B,d0 ; Every four frames play the score countdown sound
@@ -63411,13 +63431,13 @@ locret_2DC9E: loc_2DCA0:
moveq #-$50,d0 ; Play the cash register sound
jsr (Play_Sound_2).l
- cmpi.w #$A00,($FFFFFE10).w
+ cmpi.w #$A00,(Current_zone_and_act).w
beq.s loc_2DCB6
tst.w $2C(a0)
beq.s loc_2DCC0
loc_2DCB6:
- st ($FFFFEF56).w ; If in act 2 or Sky Sanctuary, save the game
+ st (SRAM_mask_interrupts_flag).w ; If in act 2 or Sky Sanctuary, save the game
jsr (SaveGame).l
loc_2DCC0:
@@ -63439,12 +63459,12 @@ loc_2DCD6: ; ---------------------------------------------------------------------------
loc_2DCE2:
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone).w,d0
cmpi.b #$A,d0
beq.s loc_2DCF8
cmpi.b #$16,d0
beq.s loc_2DCF8
- tst.b ($FFFFEE4F).w
+ tst.b (Apparent_act).w
beq.s loc_2DD06
loc_2DCF8:
@@ -63455,15 +63475,15 @@ loc_2DCF8: ; ---------------------------------------------------------------------------
loc_2DD06:
- move.b #1,($FFFFEE4F).w ; Change to act 2 if in act 1
+ move.b #1,(Apparent_act).w ; Change to act 2 if in act 1
loc_2DD0C:
- clr.b ($FFFFFE2A).w
- clr.b ($FFFFFE48).w
+ clr.b (Last_star_post_hit).w
+ clr.b (Special_bonus_entry_flag).w
clr.b ($FFFFFAA8).w
- cmpi.b #8,($FFFFFE10).w
+ cmpi.b #8,(Current_zone).w
beq.s loc_2DD38
- cmpi.b #$B,($FFFFFE10).w
+ cmpi.b #$B,(Current_zone).w
beq.s loc_2DD38 ; Neither Sandopolis 1 nor Death Egg 1 immediately show title cards
move.l #Obj_TitleCard,(a0) ; Change current object to title card
clr.b 5(a0)
@@ -63477,9 +63497,9 @@ loc_2DD38: ; ---------------------------------------------------------------------------
Obj_LevResultsCharName:
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
beq.s loc_2DD62
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_2DD7E
addq.b #3,$22(a0) ; Knuckles frame
moveq #$30,d0
@@ -63491,7 +63511,7 @@ Obj_LevResultsCharName: loc_2DD62:
addq.b #1,$22(a0) ; Miles frame
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bpl.s loc_2DD7E
addq.b #1,$22(a0) ; Tails frame
moveq #8,d0
@@ -63519,19 +63539,19 @@ Obj_LevResultsGeneral: Obj_LevelResultsTimeBonus:
jsr LevelResults_MoveElement(pc)
- move.w ($FFFFF7D2).w,d0
+ move.w (Time_bonus_countdown).w,d0
bra.s loc_2DDBE
; ---------------------------------------------------------------------------
Obj_LevelResultsRingBonus:
jsr LevelResults_MoveElement(pc)
- move.w ($FFFFF7D4).w,d0
+ move.w (Ring_bonus_countdown).w,d0
bra.s loc_2DDBE
; ---------------------------------------------------------------------------
Obj_LevelResultsTotal:
jsr LevelResults_MoveElement(pc)
- move.w ($FFFFFF8E).w,d0
+ move.w (Total_bonus_countup).w,d0
loc_2DDBE:
@@ -63762,7 +63782,7 @@ locret_2DF62: SpecialStage_Results:
moveq #-$1F,d0
jsr (Play_Sound).l
- move.b ($FFFFFE16).w,d0
+ move.b (Current_special_stage).w,d0
move.b d0,($FFFFEF6E).w
move.b ($FFFFEF70).w,d1
beq.s loc_2DF82
@@ -63779,60 +63799,60 @@ loc_2DF82: loc_2DF8C:
- move.b d0,($FFFFFE16).w
+ move.b d0,(Current_special_stage).w
move #$2700,sr
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
andi.b #-$41,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Clear_DisplayData).l
- lea ($C00004).l,a6
+ lea (VDP_control_port).l,a6
move.w #-$7FFC,(a6)
move.w #-$7DD0,(a6)
move.w #-$7BF9,(a6)
move.w #-$74FD,(a6)
move.w #-$737F,(a6)
move.w #-$6FFF,(a6)
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_2DFD0:
move.l d0,(a1)+
dbf d1,loc_2DFD0
- lea ($FFFFB000).w,a1
+ lea (Object_RAM).w,a1
moveq #0,d0
move.w #$7FF,d1
loc_2DFE0:
move.l d0,(a1)+
dbf d1,loc_2DFE0
- clr.w ($FFFFFB00).w
- move.l #-$500,($FFFFFBFC).w
- clr.w ($FFFFEF56).w
+ clr.w (DMA_queue).w
+ move.l #-$500,(DMA_queue_slot).w
+ clr.w (SRAM_mask_interrupts_flag).w
jsr (SaveGame_SpecialStage).l
- clr.w ($FFFFFFE8).w
+ clr.w (Competition_mode).w
loc_2E000:
- clr.w ($FFFFF100).w
+ clr.w (Plane_buffer).w
loc_2E004:
- clr.w ($FFFFEEA6).w
+ clr.w (Special_V_int_routine).w
loc_2E008:
- clr.b ($FFFFFE1E).w
+ clr.b (Update_HUD_timer).w
loc_2E00C:
- clr.w ($FFFFEE50).w
- move.w ($FFFFFE10).w,($FFFFEF6A).w
+ clr.w (Palette_fade_timer).w
+ move.w (Current_zone_and_act).w,($FFFFEF6A).w
lea PLC_2E310(pc),a1
jsr (Load_PLC_Raw).l
lea (ArtKosM_ResultsGeneral).l,a1
move.w #-$4900,d2
jsr (Queue_Kos_Module).l
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_2E04E
lea (ArtKosM_SSResultsSUPERk).l,a1
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcs.s loc_2E06A
lea (ArtKosM_SSResultsHYPERk).l,a1
bra.s loc_2E06A
@@ -63840,9 +63860,9 @@ loc_2E00C: loc_2E04E:
lea (ArtKosM_SSResultsSUPER).l,a1
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
beq.s loc_2E06A
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcs.s loc_2E06A
lea (ArtKosM_SSResultsHYPER).l,a1
@@ -63851,13 +63871,13 @@ loc_2E06A: move.w #-$5E20,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_ResultsSONIC).l,a1
- cmpi.w #1,($FFFFFF08).w
+ cmpi.w #1,(Player_mode).w
bls.s loc_2E0A2
lea (ArtKosM_ResultsKNUCKLES).l,a1
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_2E0A2
lea (ArtKosM_ResultsMILES).l,a1
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bpl.s loc_2E0A2
lea (ArtKosM_ResultsTAILS).l,a1
@@ -63872,19 +63892,19 @@ loc_2E0A2: loc_2E0C4:
- move.b #$1E,($FFFFF62A).w
+ move.b #$1E,(V_int_routine).w
jsr (Process_Kos_Queue).l
jsr (Wait_VSync).l
jsr (Process_Nem_Queue_Init).l
jsr (Process_Kos_Module_Queue).l
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.s loc_2E0C4
- tst.l ($FFFFF680).w
+ tst.l (Nem_decomp_queue).w
bne.s loc_2E0C4
jsr (sub_DE9C).l
- move.b #1,($FFFFFE1F).w
+ move.b #1,(Update_HUD_score).w
lea Pal_Results(pc),a0
- lea ($FFFFFC00).w,a1
+ lea (Normal_palette).w,a1
moveq #$1F,d0
loc_2E104:
@@ -63894,12 +63914,12 @@ loc_2E104: loc_2E10E:
jsr sub_2E2C0(pc)
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.w loc_2E226
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.w loc_2E226
lea Pal_Results(pc),a0
- lea ($FFFFFC00).w,a1
+ lea (Normal_palette).w,a1
moveq #7,d0
loc_2E12C:
@@ -63911,7 +63931,7 @@ loc_2E12C: dbf d0,loc_2E12C
jsr sub_2E2C0(pc)
lea (Pal_HPZ_B).l,a0
- lea ($FFFFFC40).w,a1
+ lea (Normal_palette_line_3).w,a1
moveq #$F,d0
loc_2E150:
@@ -63919,19 +63939,19 @@ loc_2E150: move.l (a0)+,$7C(a1)
dbf d0,loc_2E150
lea (Layout_HPZ).l,a0
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.w #$3FF,d0
loc_2E16C:
move.l (a0)+,(a1)+
dbf d0,loc_2E16C
lea (HPZ_128x128_Primary_Kos).l,a0
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
jsr (Kos_Decomp).l
lea (HPZ_128x128_Secondary_Kos).l,a0
jsr (Kos_Decomp).l
lea (HPZ_16x16_Primary_Kos).l,a0
- lea ($FFFF9000).w,a1
+ lea (Block_table).w,a1
jsr (Kos_Decomp).l
lea (HPZ_16x16_Secondary_Kos).l,a0
jsr (Kos_Decomp).l
@@ -63944,16 +63964,16 @@ loc_2E16C: jsr (Queue_Kos_Module).l
moveq #$48,d0
jsr (Load_PLC).l
- move.w #$1701,($FFFFFE10).w
- move.w #$15A0,($FFFFEE78).w
- move.w #$240,($FFFFEE7C).w
- clr.b ($FFFFF76C).w
+ move.w #$1701,(Current_zone_and_act).w
+ move.w #$15A0,(Camera_X_pos).w
+ move.w #$240,(Camera_Y_pos).w
+ clr.b (Object_load_routine).w
jsr (Load_Sprites).l
moveq #0,d0
move.b ($FFFFEF6E).w,d0
add.w d0,d0
lea word_2E398(pc),a0
- move.w (a0,d0.w),($FFFFEE78).w
+ move.w (a0,d0.w),(Camera_X_pos).w
move #$2700,sr
jsr (j_LevelSetup).l
move #$2300,sr
@@ -63970,15 +63990,15 @@ loc_2E226: move.w #$98,($FFFFEF68).w
st ($FFFFEF6C).w
move.l #loc_2E3B8,($FFFFB940).w
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
loc_2E24C:
- move.b #8,($FFFFF62A).w
+ move.b #8,(V_int_routine).w
jsr (Process_Kos_Queue).l
jsr (Wait_VSync).l
- addq.w #1,($FFFFFE04).w
+ addq.w #1,(Level_frame_counter).w
move.w ($FFFFE666).w,d1
addq.w #1,d1
cmpi.w #3,d1
@@ -63988,9 +64008,9 @@ loc_2E24C: loc_2E270:
move.w d1,($FFFFE666).w
jsr (Process_Sprites).l
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2E28C
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.s loc_2E28C
jsr (ScreenEvents).l
@@ -63999,17 +64019,17 @@ loc_2E28C: jsr (Render_Sprites).l
jsr (Process_Nem_Queue_Init).l
jsr (Process_Kos_Module_Queue).l
- tst.w ($FFFFEE50).w
+ tst.w (Palette_fade_timer).w
beq.s loc_2E2B0
bmi.s loc_2E2B0
- subq.w #1,($FFFFEE50).w
+ subq.w #1,(Palette_fade_timer).w
jsr (Pal_FromWhite).l
loc_2E2B0:
- cmpi.b #$48,($FFFFF600).w
+ cmpi.b #$48,(Game_mode).w
beq.s loc_2E24C
- move.w ($FFFFEF6A).w,($FFFFFE10).w
+ move.w ($FFFFEF6A).w,(Current_zone_and_act).w
rts
; =============== S U B R O U T I N E =======================================
@@ -64017,16 +64037,16 @@ loc_2E2B0: sub_2E2C0:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_2E2F6
lea ($FFFFFC04).w,a0
move.l #$84E040C,d0
move.l d0,$80(a0)
move.l d0,(a0)+
move.l #$2060080,d0
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2E2EE
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.s loc_2E2EE
move.w #$EE,d0
@@ -64038,9 +64058,9 @@ loc_2E2EE: ; ---------------------------------------------------------------------------
loc_2E2F6:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s locret_2E30E
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.s locret_2E30E
move.w #$EE,($FFFFFC2A).w
@@ -64104,11 +64124,11 @@ loc_2E3DA: jsr sub_2E802(pc)
move.w ($FFFFE43A).w,d0
mulu.w #$A,d0
- move.w d0,($FFFFF7D4).w
- clr.w ($FFFFF7D2).w
+ move.w d0,(Ring_bonus_countdown).w
+ clr.w (Time_bonus_countdown).w
tst.w ($FFFFE442).w
bne.s loc_2E404
- move.w #$1388,($FFFFF7D2).w
+ move.w #$1388,(Time_bonus_countdown).w
loc_2E404:
move.w #$168,$2E(a0)
@@ -64121,15 +64141,15 @@ loc_2E410: beq.s loc_2E484
subq.w #1,$2E(a0)
bne.s loc_2E474
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2E474
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.s loc_2E474
tst.w ($FFFFE438).w
bne.s loc_2E474
- move.w #$3F,($FFFFF626).w
- move.w #$16,($FFFFEE50).w
- lea ($FFFFFC00).w,a1
+ move.w #$3F,(Palette_fade_info).w
+ move.w #$16,(Palette_fade_timer).w
+ lea (Normal_palette).w,a1
move.w #$EEE,$42(a1)
move.w #$EEE,$44(a1)
move.w #$EEE,$4C(a1)
@@ -64150,22 +64170,22 @@ loc_2E474: loc_2E484:
moveq #0,d0
- tst.w ($FFFFF7D2).w
+ tst.w (Time_bonus_countdown).w
beq.s loc_2E496
addi.w #$A,d0
- subi.w #$A,($FFFFF7D2).w
+ subi.w #$A,(Time_bonus_countdown).w
loc_2E496:
- tst.w ($FFFFF7D4).w
+ tst.w (Ring_bonus_countdown).w
beq.s loc_2E4A6
addi.w #$A,d0
- subi.w #$A,($FFFFF7D4).w
+ subi.w #$A,(Ring_bonus_countdown).w
loc_2E4A6:
tst.w d0
beq.s loc_2E4C4
jsr (HUD_AddToScore).l
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #3,d0
bne.s locret_2E4C2
moveq #$5B,d0
@@ -64207,9 +64227,9 @@ loc_2E50E: addq.b #2,5(a0)
loc_2E512:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2E534
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.s loc_2E534
tst.w ($FFFFE438).w
bne.s loc_2E534
@@ -64229,11 +64249,11 @@ loc_2E534: loc_2E540:
tst.w ($FFFFE438).w
bne.s loc_2E5B8
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
bcs.s loc_2E5B8
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_2E570
- cmpi.w #1,($FFFFFF08).w
+ cmpi.w #1,(Player_mode).w
bls.s loc_2E570
cmpi.b #4,($FFFFEF6A).w
beq.s loc_2E586
@@ -64244,7 +64264,7 @@ loc_2E540: loc_2E570:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2E58C
cmpi.b #4,($FFFFEF6A).w
beq.s loc_2E586
@@ -64273,7 +64293,7 @@ loc_2E592: loc_2E5B8:
- move.b #$C,($FFFFF600).w
+ move.b #$C,(Game_mode).w
rts
; ---------------------------------------------------------------------------
@@ -64299,7 +64319,7 @@ loc_2E5E0: ; ---------------------------------------------------------------------------
loc_2E5EC:
- move.b #$C,($FFFFF600).w
+ move.b #$C,(Game_mode).w
rts
; ---------------------------------------------------------------------------
@@ -64326,11 +64346,11 @@ loc_2E616: ; ---------------------------------------------------------------------------
loc_2E622:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
cmpi.w #$320,d0
bcc.w loc_2E6EA
addq.w #1,d0
- move.w d0,($FFFFEE7C).w
+ move.w d0,(Camera_Y_pos).w
cmpi.w #$2A0,d0
bne.w locret_2E744
moveq #4,d0
@@ -64354,7 +64374,7 @@ loc_2E664: lea $4A(a1),a1
dbf d0,loc_2E664
moveq #2,d0
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcs.s loc_2E67E
addq.w #2,d0
@@ -64382,7 +64402,7 @@ loc_2E6C8: clr.w $13E(a1)
lea ($FFFFBD96).w,a1
move.w #4,$C2(a1)
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcs.s loc_2E6E8
move.w #4,$156(a1)
@@ -64433,7 +64453,7 @@ loc_2E746: jsr (Play_Sound_2).l
loc_2E75C:
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcc.s loc_2E772
move.w #$3C,$2E(a0)
move.b #$A,5(a0)
@@ -64449,13 +64469,13 @@ loc_2E772: loc_2E77E:
moveq #1,d0
- cmpi.w #$15A0,($FFFFEE78).w
+ cmpi.w #$15A0,(Camera_X_pos).w
beq.s loc_2E792
bcs.s loc_2E78C
neg.w d0
loc_2E78C:
- add.w d0,($FFFFEE78).w
+ add.w d0,(Camera_X_pos).w
bra.s locret_2E7D8
; ---------------------------------------------------------------------------
@@ -64757,11 +64777,11 @@ locret_2E9F4: loc_2E9F6:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2EA10
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.s loc_2EA10
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_2EA10
move.w #$2000,$A(a0)
@@ -64775,12 +64795,12 @@ loc_2EA10: loc_2EA1E:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2EA4A
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.s loc_2EA4A
addi.b #$1A,$22(a0)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_2EA4A
addq.b #5,$22(a0)
bra.s loc_2EA4A
@@ -64805,13 +64825,13 @@ loc_2EA50: loc_2EA5A:
jsr LevelResults_MoveElement(pc)
- move.w ($FFFFF7D4).w,d0
+ move.w (Ring_bonus_countdown).w,d0
bra.s loc_2EA6C
; ---------------------------------------------------------------------------
loc_2EA64:
jsr LevelResults_MoveElement(pc)
- move.w ($FFFFF7D2).w,d0
+ move.w (Time_bonus_countdown).w,d0
loc_2EA6C:
jsr LevResults_DisplayScore(pc)
@@ -64822,12 +64842,12 @@ loc_2EA6C: loc_2EA7C:
cmpi.w #$32,($FFFFE43A).w
bcs.w loc_2EC7A
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2EA4A
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.s loc_2EA4A
addi.b #$1A,$22(a0)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_2EA4A
addq.b #5,$22(a0)
bra.s loc_2EA4A
@@ -64835,7 +64855,7 @@ loc_2EA7C: loc_2EAA6:
- lea ($FFFFFFB2).w,a1
+ lea (Collected_emeralds_array).w,a1
moveq #0,d0
move.b 7(a0),d0
cmpi.b #1,(a1,d0.w)
@@ -64872,11 +64892,11 @@ loc_2EAF6: add.w d0,$46(a0)
add.b d1,$22(a0)
move.w #-$87,$A(a0)
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.w loc_2EA4A
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.w loc_2EA4A
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.w loc_2EA4A
addi.w #$2000,$A(a0)
bra.w loc_2EA4A
@@ -64901,20 +64921,20 @@ loc_2EB64: tst.w ($FFFFE438).w
bne.w loc_2EC7A
jsr sub_2ECBC(pc)
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2EB7C
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
bne.s loc_2EB88
loc_2EB7C:
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
bcs.w loc_2EA4A
bra.s loc_2EB98
; ---------------------------------------------------------------------------
loc_2EB88:
move.b #$30,$22(a0)
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcs.w loc_2EA4A
loc_2EB98:
@@ -64950,7 +64970,7 @@ loc_2EBE8: move.l #Map_Results,$C(a0)
move.w #$17C,$10(a0)
move.w #$14C,$14(a0)
- move.w ($FFFFFF08).w,d0
+ move.w (Player_mode).w,d0
subq.w #1,d0
bcc.s loc_2EC06
moveq #0,d0
@@ -65027,15 +65047,15 @@ sub_2EC80: moveq #0,d0
moveq #0,d1
- cmpi.w #1,($FFFFFF08).w
+ cmpi.w #1,(Player_mode).w
bls.s locret_2ECA6
moveq #-$18,d0
moveq #3,d1
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s locret_2ECA6
moveq #0,d0
moveq #1,d1
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bpl.s locret_2ECA6
moveq #4,d0
moveq #2,d1
@@ -65051,10 +65071,10 @@ locret_2ECA6: sub_2ECA8:
- lea ($FFFFFFB0).w,a1
- tst.w ($FFFFFFAE).w
+ lea (Emerald_count).w,a1
+ tst.w (SK_alone_flag).w
bne.s locret_2ECBA
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
beq.s locret_2ECBA
addq.w #1,a1
@@ -65068,9 +65088,9 @@ locret_2ECBA: sub_2ECBC:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_2ECC8
- tst.b ($FFFFFFBB).w
+ tst.b (SK_special_stage_flag).w
bne.s locret_2ECCE
loc_2ECC8:
@@ -65197,19 +65217,19 @@ LoadEnemyArt: lea off_2F7BE(pc),a6
move.w #$D00,d0
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
beq.s loc_2F798
move.w #$E00,d0
- cmpi.w #$1700,($FFFFFE10).w
+ cmpi.w #$1700,(Current_zone_and_act).w
bne.s loc_2F79E
loc_2F798:
- move.b ($FFFFFE11).w,d0
+ move.b (Current_act).w,d0
bra.s loc_2F7A2
; ---------------------------------------------------------------------------
loc_2F79E:
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
loc_2F7A2:
ror.b #1,d0
@@ -65423,7 +65443,7 @@ loc_2F9B0: loc_2F9CA:
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
cmp.w $14(a0),d0
bcs.s loc_2F9E2
move.b #6,5(a0)
@@ -65479,7 +65499,7 @@ loc_2FA50: tst.w $36(a0)
bne.s loc_2FAB2
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
cmp.w $14(a0),d0
bcc.w loc_2FB5C
tst.b 4(a0)
@@ -65566,10 +65586,10 @@ loc_2FB5C: move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_2FB7E
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
cmp.w $14(a0),d0
bcs.w loc_2FB90
rts
@@ -65611,9 +65631,9 @@ byte_2FB96: dc.b 0 sub_2FBA8:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s loc_2FBB2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; End of function sub_2FBA8
@@ -65714,7 +65734,7 @@ loc_2FE28: move.l #loc_2FE34,(a0)
loc_2FE34:
- tst.b ($FFFFF7E0).w
+ tst.b (Level_trigger_array).w
beq.s loc_2FE58
move.b #3,$22(a0)
move.b #1,$24(a0)
@@ -65755,7 +65775,7 @@ loc_2FEAC: ; ---------------------------------------------------------------------------
loc_2FEB2:
- tst.b ($FFFFF7E0).w
+ tst.b (Level_trigger_array).w
beq.s loc_2FED2
move.l #loc_2FEBE,(a0)
@@ -65801,7 +65821,7 @@ loc_2FF14: move.l #loc_2FF2A,(a0)
loc_2FF2A:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
beq.s loc_2FF32
rts
; ---------------------------------------------------------------------------
@@ -65920,7 +65940,7 @@ loc_3004A: move.b #-$7C,4(a1)
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
jsr (Random_Number).l
move.w d0,d1
andi.w #$F,d0
@@ -65985,7 +66005,7 @@ loc_3011A: loc_30130:
jsr (MoveSprite2).l
addi.w #$38,$1A(a0)
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
cmp.w $14(a0),d0
bcc.s loc_301A2
move.w #0,$1A(a0)
@@ -66001,7 +66021,7 @@ loc_30130: loc_3017E:
move.w $10(a0),$10(a1)
- move.w ($FFFFF646).w,$14(a1)
+ move.w (Water_level).w,$14(a1)
move.w #$200,8(a1)
move.b #$18,7(a1)
move.b #$18,6(a1)
@@ -66035,7 +66055,7 @@ loc_301D8: loc_301DE:
jsr (MoveSprite2).l
addi.w #$28,$1A(a0)
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
cmp.w $14(a0),d0
bcc.s loc_30202
move.w d0,$14(a0)
@@ -66099,7 +66119,7 @@ loc_302BE: move.l #loc_302E6,(a0)
loc_302E6:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
beq.s loc_302FA
subi.w #8,($FFFFB014).w
subi.w #8,($FFFFB05E).w
@@ -66209,17 +66229,18 @@ loc_3041A: tst.w $30(a0)
beq.s loc_30470
move.w #-$A00,$1A(a0)
+
subq.w #1,$30(a0)
loc_3042A:
bne.s loc_30470
move.l #loc_3052A,(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #0,$2E(a1)
move.w #0,$18(a1)
move.w #-$C00,$1A(a1)
move.b #0,$40(a1)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.b #0,$2E(a1)
move.w #0,$18(a1)
move.w #-$C00,$1A(a1)
@@ -66314,7 +66335,7 @@ loc_3056E: Obj_HCZCGZFan:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.w loc_309CC
movea.l a0,a1
tst.b $2C(a0)
@@ -66368,7 +66389,7 @@ loc_3064E: move.b $2C(a0),d0
btst #5,d0
beq.s loc_3066C
- tst.b ($FFFFF7E0).w
+ tst.b (Level_trigger_array).w
beq.w loc_30774
bclr #5,$2C(a0)
bset #4,$2C(a0)
@@ -66405,9 +66426,9 @@ loc_306A2: loc_306C2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w loc_3077E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w loc_3077E
subq.b #1,$24(a0)
bpl.w loc_306F2
@@ -66525,7 +66546,7 @@ loc_30826: ; ---------------------------------------------------------------------------
loc_30834:
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
cmp.w $14(a0),d0
bcc.s loc_3084A
jsr (MoveSprite2).l
@@ -66621,7 +66642,7 @@ loc_30926: move.l #loc_3093C,(a0)
loc_3093C:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
beq.s loc_30944
rts
; ---------------------------------------------------------------------------
@@ -66687,9 +66708,9 @@ loc_309CC: move.l #loc_30A10,(a0)
loc_30A10:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_30A38
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_30A38
addq.b #1,$22(a0)
cmpi.b #3,$22(a0)
@@ -66901,10 +66922,10 @@ loc_30C76: sub_30C7C:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.w sub_30C8C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
; End of function sub_30C7C
@@ -66949,13 +66970,13 @@ locret_30CDE: sub_30CE0:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
bsr.w sub_30CF8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
- move.b ($FFFFF66B).w,d0
+ move.b (Ctrl_2_pressed_logical).w,d0
; End of function sub_30CE0
@@ -67004,7 +67025,7 @@ loc_30D4E: loc_30D6E:
tst.b $2E(a1)
bne.s locret_30DEA
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_30DEA
bset d6,$35(a0)
moveq #$3C,d0
@@ -67125,9 +67146,9 @@ loc_30EBA: subi.w #$20,d4
addi.w #$20,d5
move.b #0,$38(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_30F58
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_30F58
tst.b $38(a0)
beq.s loc_30F0A
@@ -67137,7 +67158,7 @@ loc_30EBA: cmpi.w #$40,$30(a0)
bne.s loc_30F28
moveq #$58,d0
- cmpi.b #$B,($FFFFFE10).w
+ cmpi.b #$B,(Current_zone).w
bne.s loc_30F02
moveq #$58,d0
@@ -67152,7 +67173,7 @@ loc_30F0A: subq.w #8,$30(a0)
bne.s loc_30F28
moveq #$58,d0
- cmpi.b #$B,($FFFFFE10).w
+ cmpi.b #$B,(Current_zone).w
bne.s loc_30F22
moveq #$58,d0
@@ -67271,9 +67292,9 @@ loc_31062: loc_31070:
move.b #0,$38(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_310DA
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_310DA
tst.b $38(a0)
beq.s loc_31096
@@ -67403,18 +67424,18 @@ loc_311BA: loc_311C4:
lea $32(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d1
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d1
loc_311D0:
moveq #0,d2
bsr.s sub_31226
addq.w #1,a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF66A).w,d1
+ lea (Player_2).w,a1
+ move.w (Ctrl_2_logical).w,d1
moveq #1,d2
bsr.s sub_31226
- move.w ($FFFFF7DA).w,d1
+ move.w (Camera_X_pos_coarse_back).w,d1
move.w $3C(a0),d0
andi.w #-$80,d0
@@ -67450,7 +67471,7 @@ sub_31226: tst.b (a2)
beq.w loc_31322
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_312D4
cmpi.b #4,5(a1)
bcc.w loc_312D4
@@ -67556,7 +67577,7 @@ loc_3132E: addi.w #$10,d0
cmp.w $14(a1),d0
bcs.s locret_313D4
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_313D4
cmpi.b #4,5(a1)
bcc.s locret_313D4
@@ -67603,7 +67624,7 @@ loc_313D6: addi.w #$10,d0
cmp.w $14(a1),d0
bcs.s locret_313D4
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_313D4
cmpi.b #4,5(a1)
bcc.s locret_313D4
@@ -67810,7 +67831,7 @@ loc_3160A: loc_31626:
- move.w ($FFFFF7DA).w,d1
+ move.w (Camera_X_pos_coarse_back).w,d1
loc_3162A:
move.w $3C(a0),d0
@@ -67944,13 +67965,13 @@ loc_3174A: loc_31754:
tst.b $29(a0)
beq.s loc_31776
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #0,$29(a0)
beq.s loc_31768
bsr.s sub_317AE
loc_31768:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #1,$29(a0)
beq.s loc_31776
bsr.s sub_317AE
@@ -67990,7 +68011,7 @@ loc_317C0: tst.b $2C(a0)
bpl.s loc_31808
move.w #-$380,$1A(a1)
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
beq.s loc_31808
tst.b $34(a0)
bne.s loc_31808
@@ -68069,14 +68090,14 @@ loc_318EC: loc_318F2:
bsr.s sub_3192C
lea $30(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
- move.w ($FFFFF602).w,d1
+ move.w (Ctrl_1_logical).w,d1
bsr.w sub_319F4
addq.w #1,a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
- move.w ($FFFFF66A).w,d1
+ move.w (Ctrl_2_logical).w,d1
cmpi.w #2,($FFFFF708).w
bne.s loc_3191E
move.b #0,(a2)
@@ -68418,9 +68439,9 @@ Obj_CNZTrapDoor: move.l #loc_31CCA,(a0)
loc_31CCA:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_31CFA
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_31CFA
move.w #$20,d1
move.w #9,d3
@@ -68471,7 +68492,7 @@ Obj_CNZLightBulb: move.b #$10,6(a0)
loc_31D60:
- tst.b ($FFFFF730).w
+ tst.b (Water_flag).w
bne.s loc_31D6E
move.l #loc_31D8A,(a0)
bra.s loc_31D8A
@@ -68481,7 +68502,7 @@ loc_31D6E: move.l #loc_31D74,(a0)
loc_31D74:
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
cmp.w $14(a0),d0
bcc.s loc_31D8A
move.b #1,$22(a0)
@@ -68547,9 +68568,9 @@ loc_31E24: loc_31E36:
moveq #0,d6
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_31E96
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_31E96
tst.w d6
beq.s loc_31E5E
@@ -68568,9 +68589,9 @@ loc_31E5E: loc_31E68:
moveq #0,d6
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_31E96
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_31E96
tst.w d6
beq.s loc_31E90
@@ -68651,9 +68672,9 @@ loc_31F46: move.l #loc_31F4C,(a0)
loc_31F4C:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_31F62
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_31F62
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -68725,10 +68746,10 @@ locret_31FF2: loc_31FF4:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_32010
addq.w #1,a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_32010
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -68800,6 +68821,7 @@ loc_3209C: beq.s loc_320D4
loc_320A6:
+
subi.w #8,$14(a1)
moveq #1,d2
move.w $10(a1),d0
@@ -68845,7 +68867,7 @@ Obj_CNZCylinder: cmpi.w #$17E0,$10(a0)
bne.s loc_32108
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_32108
loc_32102:
@@ -68894,16 +68916,16 @@ loc_32182: loc_32188:
bsr.s sub_321E2
lea $32(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
loc_32194:
- move.w ($FFFFF602).w,d5
+ move.w (Ctrl_1_logical).w,d5
bsr.w sub_324C0
addq.w #4,a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
- move.w ($FFFFF66A).w,d5
+ move.w (Ctrl_2_logical).w,d5
bsr.w sub_324C0
move.w #$2B,d1
move.w #$20,d2
@@ -68983,12 +69005,12 @@ loc_32254: moveq #0,d5
btst #3,$2A(a0)
beq.s loc_32268
- move.b ($FFFFF602).w,d5
+ move.b (Ctrl_1_logical).w,d5
loc_32268:
btst #4,$2A(a0)
beq.s loc_32274
- or.b ($FFFFF66A).w,d5
+ or.b (Ctrl_2_logical).w,d5
loc_32274:
move.w $14(a0),d0
@@ -69421,14 +69443,14 @@ loc_326B0: loc_326B6:
bsr.s sub_32712
lea $32(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
- move.w ($FFFFF602).w,d5
+ move.w (Ctrl_1_logical).w,d5
bsr.w sub_32784
addq.w #4,a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
- move.w ($FFFFF66A).w,d5
+ move.w (Ctrl_2_logical).w,d5
bsr.w sub_32784
move.w #$1B,d1
move.w #$20,d2
@@ -69631,10 +69653,10 @@ Obj_49_1: loc_328D0:
lea $36(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_328E8
addq.w #1,a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_328E8
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -69735,9 +69757,9 @@ Obj_4B_1: move.l #loc_329A6,(a0)
loc_329A6:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_329B8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_329B8
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -69821,15 +69843,15 @@ Obj_4F_1: move.b #$30,$3A(a0)
bset #7,$2A(a0)
move.l #loc_32B8C,(a0)
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
bne.w loc_32B8C
move.l #loc_32AAE,(a0)
loc_32AAE:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_32B62
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #3,$2A(a0)
bne.s loc_32AEA
@@ -69864,7 +69886,7 @@ loc_32AF4: moveq #3,d6
move.w $10(a0),d4
jsr (sub_1E2BC).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
btst #4,$2A(a0)
bne.s loc_32B40
cmpi.b #$30,$3A(a0)
@@ -69923,9 +69945,9 @@ loc_32B82: loc_32B8C:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_32C44
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #3,$2A(a0)
bne.s loc_32BC8
cmpi.b #$30,$38(a0)
@@ -69959,7 +69981,7 @@ loc_32BD2: moveq #3,d6
move.w $10(a0),d4
jsr (sub_1E2BC).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
btst #4,$2A(a0)
bne.s loc_32C20
cmpi.b #$30,$3A(a0)
@@ -70039,7 +70061,7 @@ loc_32C92: move.w d2,d3
addq.w #1,d3
move.w $10(a0),d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
jsr SolidObjectFull2_1P
@@ -70063,7 +70085,7 @@ loc_32CD4: loc_32CDC:
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
jsr SolidObjectFull2_1P
cmpi.b #1,d4
@@ -70174,7 +70196,7 @@ loc_32E0A: loc_32E10:
move.w $10(a0),$30(a0)
move.w $14(a0),$32(a0)
- cmpi.b #$14,($FFFFFE10).w
+ cmpi.b #$14,(Current_zone).w
bne.s loc_32E3C
move.l #Map_PachinkoBumper,$C(a0)
move.w #$62CD,$A(a0)
@@ -70183,7 +70205,7 @@ loc_32E10: ; ---------------------------------------------------------------------------
loc_32E3C:
- tst.w ($FFFFFFE8).w
+ tst.w (Competition_mode).w
beq.s loc_32E5A
move.l #Map_2PBumper,$C(a0)
move.w #$2300,$A(a0)
@@ -70227,7 +70249,7 @@ loc_32EB4: jsr (Animate_Sprite).l
move.w $30(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_32EDE
jsr (Add_SpriteToCollisionResponseList).l
@@ -70255,7 +70277,7 @@ loc_32EF8: jsr (Animate_Sprite).l
move.w $14(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFEF64).w,d0
+ sub.w (Camera_Y_pos_coarse_back).w,d0
cmpi.w #$200,d0
bhi.s loc_32F22
jsr (Add_SpriteToCollisionResponseList).l
@@ -70276,13 +70298,13 @@ loc_32F2E: sub_32F34:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #0,$29(a0)
beq.s loc_32F42
bsr.s sub_32F56
loc_32F42:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #1,$29(a0)
beq.s loc_32F50
bsr.s sub_32F56
@@ -70305,7 +70327,7 @@ sub_32F56: jsr (GetArcTan).l
loc_32F6C:
- move.b ($FFFFFE04).w,d1
+ move.b (Level_frame_counter).w,d1
andi.w #3,d1
add.w d1,d0
jsr (GetSineCosine).l
@@ -70357,7 +70379,7 @@ loc_32FF0: tst.b $29(a0)
beq.w loc_3307C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
loc_32FFC:
bclr #0,$29(a0)
@@ -70365,7 +70387,7 @@ loc_32FFC: bsr.s sub_3301C
loc_33006:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #1,$29(a0)
beq.s loc_33014
bsr.s sub_3301C
@@ -70384,7 +70406,7 @@ sub_3301C: sub.w $10(a1),d1
sub.w $14(a1),d2
jsr (GetArcTan).l
- move.b ($FFFFFE04).w,d1
+ move.b (Level_frame_counter).w,d1
andi.w #3,d1
add.w d1,d0
jsr (GetSineCosine).l
@@ -70420,10 +70442,10 @@ Map_PachinkoBumper:include "Levels\Pachinko\Misc Object Data\Map - Bumper.asm" ; ---------------------------------------------------------------------------
Obj_4C_1:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $30(a0),a4
bsr.s sub_330EE
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $3A(a0),a4
bsr.s sub_330EE
move.b $30(a0),d0
@@ -70455,7 +70477,7 @@ off_330FA: dc.w loc_33102-off_330FA ; ---------------------------------------------------------------------------
loc_33102:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_3318C
move.w $10(a1),d0
sub.w $10(a0),d0
@@ -70728,11 +70750,11 @@ loc_33370: loc_33376:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_33392
addq.w #6,a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
bsr.s sub_33392
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -70764,7 +70786,7 @@ sub_33392: bcc.s locret_33428
tst.b $2E(a1)
bne.s locret_33428
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_33428
btst #1,$2A(a1)
@@ -70951,11 +70973,11 @@ locret_335A6: loc_335A8:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_335C4
addq.w #6,a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
bsr.s sub_335C4
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -70986,7 +71008,7 @@ sub_335C4: bcc.s locret_33658
tst.b $2E(a1)
bne.s locret_33658
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_33658
btst #1,$2A(a1)
beq.s loc_33622
@@ -71186,7 +71208,7 @@ loc_337E8: move.w a0,d1
subi.w #-$5000,d1
bne.s loc_3381C
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
beq.s loc_3381C
jsr (Player_TouchFloor).l
bra.s loc_33822
@@ -71225,21 +71247,21 @@ loc_33854: move.l #loc_3385E,(a0)
loc_3385E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $30(a0),a2
moveq #3,d6
- move.w ($FFFFF602).w,d5
+ move.w (Ctrl_1_logical).w,d5
bsr.s sub_338C4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $34(a0),a2
addq.b #1,d6
- move.w ($FFFFF66A).w,d5
+ move.w (Ctrl_2_logical).w,d5
bsr.s sub_338C4
move.b ($FFFFFE05).w,d0
andi.b #$3F,d0
bne.s loc_338BE
move.w $10(a0),d0
- sub.w ($FFFFEE78).w,d0
+ sub.w (Camera_X_pos).w,d0
addi.w #$40,d0
cmpi.w #$1C0,d0
bcc.s loc_338BE
@@ -71290,7 +71312,7 @@ loc_338D8: bcc.w locret_3399E
tst.b $2E(a1)
bne.w locret_3399E
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_3399E
subi.w #$10,d0
bcc.s loc_33922
@@ -71342,7 +71364,7 @@ locret_3399E: loc_339A0:
tst.b 1(a2)
bne.w loc_33ADE
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_33A0E
move.w $1C(a1),d0
bpl.s loc_339B6
@@ -71446,7 +71468,7 @@ RawAni_33AC6: dc.b $76, $76, $77, $77, $6C, $6C, $6D, $6D, $6E, $6E, $6F, $6F, loc_33ADE:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_33B62
andi.w #$70,d5
beq.s loc_33B1E
@@ -71592,15 +71614,15 @@ loc_33C7A: move.l #loc_33C86,(a0)
loc_33C86:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $30(a0),a2
moveq #3,d6
- move.w ($FFFFF602).w,d5
+ move.w (Ctrl_1_logical).w,d5
bsr.s sub_33CAC
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $36(a0),a2
addq.b #1,d6
- move.w ($FFFFF66A).w,d5
+ move.w (Ctrl_2_logical).w,d5
bsr.s sub_33CAC
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -71648,7 +71670,7 @@ loc_33CE6: bcc.s locret_33D88
tst.b $2E(a1)
bne.s locret_33D88
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_33D88
btst #1,$2A(a1)
bne.s locret_33D88
@@ -71683,7 +71705,7 @@ locret_33D88: ; ---------------------------------------------------------------------------
loc_33D8A:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_33E7A
andi.w #$70,d5
beq.s loc_33DDC
@@ -72178,7 +72200,7 @@ Obj_MGZHeadTrigger: loc_34364:
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d0.w)
beq.s loc_34388
move.b #1,$34(a0)
@@ -72231,7 +72253,7 @@ loc_343E6: move.b #0,$22(a0)
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
move.b #1,(a3,d0.w)
loc_34432:
@@ -72334,7 +72356,7 @@ Obj_MGZTriggerPlatform: beq.s loc_345FA
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d0.w)
beq.s loc_345F0
move.w $34(a0),d0
@@ -72360,7 +72382,7 @@ loc_345FA: loc_34600:
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d0.w)
beq.s loc_34646
moveq #2,d0
@@ -72397,7 +72419,7 @@ loc_3466E: move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d0.w)
beq.s loc_3468C
tst.b $32(a0)
@@ -72495,7 +72517,7 @@ loc_34764: andi.b #1,d0
beq.s loc_347BC
bclr #5,$2A(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $14(a1),d0
sub.w $14(a0),d0
addi.w #$28,d0
@@ -72507,7 +72529,7 @@ loc_347BC: andi.b #2,d6
beq.s loc_347E0
bclr #6,$2A(a0)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w $14(a1),d0
sub.w $14(a0),d0
addi.w #$28,d0
@@ -72663,12 +72685,12 @@ loc_34994: sub_349A2:
lea $38(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF604).w,d0
+ lea (Player_1).w,a1
+ move.w (Ctrl_1).w,d0
bsr.s sub_349BA
addq.w #1,a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF606).w,d0
+ lea (Player_2).w,a1
+ move.w (Ctrl_2).w,d0
; End of function sub_349A2
@@ -72765,7 +72787,7 @@ loc_34A8E: bne.s locret_34B20
cmpi.b #4,5(a1)
bcc.s locret_34B20
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_34B20
move.w $18(a1),d0
btst #0,$2A(a0)
@@ -72910,14 +72932,14 @@ Obj_MGZTopPlatform: move.l #loc_34C54,(a0)
loc_34C54:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $40(a0),a4
- move.w ($FFFFF602).w,d5
+ move.w (Ctrl_1_logical).w,d5
moveq #3,d6
bsr.w sub_34EEC
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $42(a0),a4
- move.w ($FFFFF66A).w,d5
+ move.w (Ctrl_2_logical).w,d5
moveq #4,d6
bsr.w sub_34EEC
tst.b $2C(a0)
@@ -73004,11 +73026,11 @@ loc_34D5E: loc_34D62:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $40(a0),a4
moveq #3,d6
bsr.w sub_35202
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $42(a0),a4
moveq #4,d6
bsr.w sub_35202
@@ -73268,7 +73290,7 @@ loc_34FBC: bpl.s loc_3500A
cmpi.b #4,5(a1)
bcc.w loc_3500A
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_3500A
move.w d5,d0
andi.w #$70,d0
@@ -73438,7 +73460,7 @@ locret_3518E: sub_3519A:
move.l #loc_34D92,(a0)
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
cmpi.b #4,$40(a0)
bne.s loc_351BE
bclr #0,$2E(a2)
@@ -73451,7 +73473,7 @@ loc_351BE: bclr #3,$2A(a2)
loc_351CA:
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
cmpi.b #4,$42(a0)
bne.s loc_351E8
bclr #0,$2E(a2)
@@ -73521,10 +73543,10 @@ locret_35268: sub_3526A:
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$C,$46(a0)
beq.s loc_3527E
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_3527E:
move.b $47(a0),d5
@@ -73920,12 +73942,12 @@ locret_35664: sub_35666:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_356C8
tst.b $34(a0)
beq.s locret_356C8
lea (word_35784).l,a1
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_35684
lea (word_357F6).l,a1
@@ -74528,13 +74550,13 @@ Obj_BPZBalloon: loc_35DB2:
tst.b $29(a0)
beq.w loc_35E4C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #0,$29(a0)
beq.s loc_35DC8
bsr.s sub_35DDE
loc_35DC8:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #1,$29(a0)
beq.s loc_35DD6
bsr.s sub_35DDE
@@ -74649,14 +74671,14 @@ loc_35FC6: move.b $22(a0),d0
move.b byte_36026(pc,d0.w),d3
bne.s loc_36010
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #3,$2A(a0)
beq.s loc_35FF6
bclr #3,$2A(a1)
bset #1,$2A(a1)
loc_35FF6:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #4,$2A(a0)
beq.s loc_3600E
bclr #3,$2A(a1)
@@ -74701,7 +74723,7 @@ loc_362CE: move.b #0,$22(a0)
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
lea (a3,d0.w),a3
moveq #0,d3
move.b $2A(a0),d0
@@ -74777,7 +74799,7 @@ loc_363D0: add.w d2,d1
asr.w #8,d1
add.w $30(a0),d1
- and.w ($FFFFEEA8).w,d1
+ and.w (Screen_X_wrap_value).w,d1
addi.w #$400,d1
move.w d1,$10(a0)
asl.w #3,d0
@@ -74788,9 +74810,9 @@ loc_363D0: add.w d2,d0
asr.w #8,d0
add.w $32(a0),d0
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
bne.s loc_36418
- and.w ($FFFFEEAA).w,d0
+ and.w (Screen_Y_wrap_value).w,d0
loc_36418:
move.w d0,$14(a0)
@@ -74807,13 +74829,13 @@ loc_36418: sub_3643C:
tst.b $29(a0)
beq.s locret_36462
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
bclr #0,$29(a0)
beq.s loc_36450
bsr.s sub_36464
loc_36450:
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
bclr #1,$29(a0)
beq.s loc_3645E
bsr.s sub_36464
@@ -74856,9 +74878,9 @@ loc_36486: move.b #$4B,$36(a2)
cmpa.w #-$5000,a2
bne.s loc_364AC
- move.w #$C00,($FFFFF760).w
- move.w #$18,($FFFFF762).w
- move.w #$80,($FFFFF764).w
+ move.w #$C00,(Sonic_Knux_top_speed).w
+ move.w #$18,(Sonic_Knux_acceleration).w
+ move.w #$80,(Sonic_Knux_deceleration).w
bra.s loc_364BE
; ---------------------------------------------------------------------------
@@ -74881,9 +74903,9 @@ loc_364D8: move.b #$4B,$36(a2)
cmpa.w #-$5000,a2
bne.s loc_364FE
- move.w #$300,($FFFFF760).w
- move.w #8,($FFFFF762).w
- move.w #$20,($FFFFF764).w
+ move.w #$300,(Sonic_Knux_top_speed).w
+ move.w #8,(Sonic_Knux_acceleration).w
+ move.w #$20,(Sonic_Knux_deceleration).w
bra.s loc_36510
; ---------------------------------------------------------------------------
@@ -74902,17 +74924,17 @@ loc_36510: ; ---------------------------------------------------------------------------
loc_3652A:
- lea ($FFFFB000).w,a2
- lea ($FFFFB04A).w,a3
+ lea (Player_1).w,a2
+ lea (Player_2).w,a3
move.b $2B(a2),d0
move.b $2B(a3),$2B(a2)
move.b d0,$2B(a3)
move.b $36(a2),d0
move.b $36(a3),$36(a2)
move.b d0,$36(a3)
- move.w ($FFFFF760).w,d0
- move.w ($FFFFF762).w,d1
- move.w ($FFFFF764).w,d2
+ move.w (Sonic_Knux_top_speed).w,d0
+ move.w (Sonic_Knux_acceleration).w,d1
+ move.w (Sonic_Knux_deceleration).w,d2
move.w ($FFFFFEC0).w,d3
move.w ($FFFFFEC2).w,d4
move.w ($FFFFFEC4).w,d5
@@ -74922,9 +74944,9 @@ loc_3652A: move.b $38(a2),d0
lsl.w #3,d0
lea (a1,d0.w),a1
- move.w (a1)+,($FFFFF760).w
- move.w (a1)+,($FFFFF762).w
- move.w (a1)+,($FFFFF764).w
+ move.w (a1)+,(Sonic_Knux_top_speed).w
+ move.w (a1)+,(Sonic_Knux_acceleration).w
+ move.w (a1)+,(Sonic_Knux_deceleration).w
lea (Character_Speeds).l,a1
moveq #0,d0
move.b $38(a3),d0
@@ -74936,9 +74958,9 @@ loc_3652A: move.w (sp)+,d0
btst #2,$2B(a2)
beq.s loc_365BA
- move.w d3,($FFFFF760).w
- move.w d4,($FFFFF762).w
- move.w d5,($FFFFF764).w
+ move.w d3,(Sonic_Knux_top_speed).w
+ move.w d4,(Sonic_Knux_acceleration).w
+ move.w d5,(Sonic_Knux_deceleration).w
loc_365BA:
btst #2,$2B(a3)
@@ -74975,7 +74997,7 @@ loc_36612: move.b #7,$20(a0)
clr.b $28(a0)
clr.b $29(a0)
- lea ($FFFFCB2C).w,a1
+ lea (Breathing_bubbles).w,a1
tst.l (a1)
moveq #$2C,d0
@@ -75055,13 +75077,13 @@ loc_366C4: move.b #-$39,$28(a0)
loc_366E4:
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
bne.s loc_366F4
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
loc_366F4:
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$60,d0
cmp.w $14(a0),d0
bge.s loc_36708
@@ -75075,13 +75097,13 @@ loc_36708: loc_3670C:
tst.b $29(a0)
beq.s loc_36732
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
bclr #0,$29(a0)
beq.s loc_36720
bsr.s sub_3675E
loc_36720:
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
bclr #1,$29(a0)
beq.s loc_3672E
bsr.s sub_3675E
@@ -75143,13 +75165,13 @@ loc_367BA: loc_367C2:
tst.b $29(a0)
beq.s loc_367E8
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
bclr #0,$29(a0)
beq.s loc_367D6
bsr.s sub_3684C
loc_367D6:
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
bclr #1,$29(a0)
beq.s loc_367E4
bsr.s sub_3684C
@@ -75238,13 +75260,13 @@ locret_368A8: loc_368AA:
tst.b $29(a0)
beq.s loc_368D0
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
bclr #0,$29(a0)
beq.s loc_368BE
bsr.s sub_36906
loc_368BE:
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
bclr #1,$29(a0)
beq.s loc_368CC
bsr.s sub_36906
@@ -75259,7 +75281,7 @@ loc_368D0: lsr.b #5,d0
addi.b #$11,d0
move.b d0,$22(a0)
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$60,d0
cmp.w $14(a0),d0
bge.s loc_368FA
@@ -75304,9 +75326,9 @@ sub_36926: asr.l #8,d0
move.w d0,$1A(a0)
jsr (MoveSprite2).l
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
- move.w ($FFFFEEA8).w,d0
+ move.w (Screen_X_wrap_value).w,d0
and.w d0,$10(a0)
addi.w #$400,$10(a0)
jsr (Player_AnglePos).l
@@ -75332,9 +75354,9 @@ loc_36990: loc_369A4:
jsr (MoveSprite).l
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
- move.w ($FFFFEEA8).w,d0
+ move.w (Screen_X_wrap_value).w,d0
and.w d0,$10(a0)
addi.w #$400,$10(a0)
jsr (sub_F894).l
@@ -75442,12 +75464,12 @@ Obj_2PGoalMarker: move.b #5,($FFFFFEDA).w
clr.w ($FFFFFEDC).w
clr.w ($FFFFEEE6).w
- clr.b ($FFFFFE1E).w
- clr.l ($FFFFFE22).w
+ clr.b (Update_HUD_timer).w
+ clr.l (Timer).w
clr.b ($FFFFFEC7).w
- clr.l ($FFFFFED2).w
- clr.w ($FFFFFE20).w
- clr.w ($FFFFFED0).w
+ clr.l (Timer_P2).w
+ clr.w (Ring_count).w
+ clr.w (Ring_count_P2).w
jsr sub_36F5A(pc)
jsr (Create_New_Sprite3).l
bne.w loc_36CE4
@@ -75486,16 +75508,16 @@ loc_36CEA: move.w $10(a0),d1
lea $34(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea ($FFFFFEDC).w,a3
lea ($FFFFF74A).w,a4
- lea ($FFFFFE22).w,a5
+ lea (Timer).w,a5
lea ($FF7828).l,a6
bsr.w sub_36DFC
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea ($FFFFFEDD).w,a3
lea ($FFFFF74B).w,a4
- lea ($FFFFFED2).w,a5
+ lea (Timer_P2).w,a5
lea ($FF7840).l,a6
bsr.w sub_36DFC
lea (Ani_2PGoalMarker).l,a1
@@ -75507,11 +75529,11 @@ loc_36CEA: loc_36D3E:
subq.w #1,$3C(a0)
bne.w loc_36DEA
- lea ($FFFFB000).w,a1
- move.w ($FFFFFE2E).w,$10(a1)
- move.w ($FFFFFE30).w,$14(a1)
- move.w ($FFFFFE38).w,$A(a1)
- move.w ($FFFFFE3A).w,$46(a1)
+ lea (Player_1).w,a1
+ move.w (Saved_X_pos).w,$10(a1)
+ move.w (Saved_Y_pos).w,$14(a1)
+ move.w (Saved_art_tile).w,$A(a1)
+ move.w (Saved_solid_bits).w,$46(a1)
move.w #0,$18(a1)
move.w #0,$1A(a1)
move.w #0,$1C(a1)
@@ -75519,11 +75541,11 @@ loc_36D3E: move.w #0,$32(a1)
tst.b ($FFFFEF49).w
beq.s loc_36DC0
- lea ($FFFFB04A).w,a1
- move.w ($FFFFFE4C).w,$10(a1)
- move.w ($FFFFFE4E).w,$14(a1)
- move.w ($FFFFFE56).w,$A(a1)
- move.w ($FFFFFE58).w,$46(a1)
+ lea (Player_2).w,a1
+ move.w (Saved2_X_pos).w,$10(a1)
+ move.w (Saved2_Y_pos).w,$14(a1)
+ move.w (Saved2_art_tile).w,$A(a1)
+ move.w (Saved2_solid_bits).w,$46(a1)
move.w #0,$18(a1)
move.w #0,$1A(a1)
move.w #0,$1C(a1)
@@ -75532,12 +75554,12 @@ loc_36D3E: loc_36DC0:
clr.w ($FFFFFEDC).w
- clr.b ($FFFFFE1E).w
- clr.l ($FFFFFE22).w
+ clr.b (Update_HUD_timer).w
+ clr.l (Timer).w
clr.b ($FFFFFEC7).w
- clr.l ($FFFFFED2).w
- clr.b ($FFFFF7CA).w
- clr.b ($FFFFF7CB).w
+ clr.l (Timer_P2).w
+ clr.b (Ctrl_1_locked).w
+ clr.b (Ctrl_2_locked).w
jsr sub_36F5A(pc)
clr.w ($FFFFEEE6).w
move.l #loc_36CEA,(a0)
@@ -75617,12 +75639,12 @@ locret_36E9A: loc_36E9C:
tst.b 1(a2)
bne.s loc_36E98
- tst.b ($FFFFFE1E).w
+ tst.b (Update_HUD_timer).w
bne.s loc_36E98
- move.b #1,($FFFFF7CA).w
- move.b #1,($FFFFF7CB).w
- move.w #0,($FFFFF602).w
- move.w #0,($FFFFF66A).w
+ move.b #1,(Ctrl_1_locked).w
+ move.b #1,(Ctrl_2_locked).w
+ move.w #0,(Ctrl_1_logical).w
+ move.w #0,(Ctrl_2_logical).w
move.l #loc_36D3E,(a0)
move.w #$78,$3C(a0)
st ($FFFFEEE6).w
@@ -75699,7 +75721,7 @@ sub_36F5A: loc_36F62:
clr.l (a1)+
dbf d0,loc_36F62
- clr.l ($FFFFEE52).w
+ clr.l (Demo_data_addr).w
clr.l ($FFFFEE56).w
st ($FFFFEE5A).w
rts
@@ -75748,7 +75770,7 @@ sub_36FAA: bne.s locret_36FD8
lea (byte_36FDA).l,a4
adda.w d0,a4
- lea ($FFFFB0DE).w,a1
+ lea (Dynamic_object_RAM).w,a1
moveq #$59,d0
loc_36FBE:
@@ -75890,7 +75912,7 @@ locret_371BC: sub_371BE:
move.b $3A(a0),d0
bne.s loc_371F4
- tst.b ($FFFFF7CA).w
+ tst.b (Ctrl_1_locked).w
beq.s loc_371D8
move.w #1,$20(a0)
move.b #$A,$22(a0)
@@ -75900,7 +75922,7 @@ sub_371BE: loc_371D8:
cmpi.b #3,$22(a0)
bne.s locret_371F2
- move.b #1,($FFFFFE1E).w
+ move.b #1,(Update_HUD_timer).w
move.b #1,($FFFFFEC7).w
move.b #1,$3A(a0)
@@ -75912,7 +75934,7 @@ loc_371F4: subq.b #1,d0
bne.w loc_372D0
move.l #$93B63,d0
- cmp.l ($FFFFEE52).w,d0
+ cmp.l (Demo_data_addr).w,d0
bls.s loc_3720C
cmp.l ($FFFFEE56).w,d0
bhi.s loc_37218
@@ -75936,13 +75958,13 @@ loc_37232: move.w #$78,($FFFFEEE8).w
tst.b ($FFFFEF49).w
beq.s loc_37256
- tst.b ($FFFFFF8B).w
+ tst.b (Competition_mode_type).w
bne.s loc_37256
move.w #$168,($FFFFEEE8).w
loc_37256:
- move.b #-$80,($FFFFFE1E).w
+ move.b #-$80,(Update_HUD_timer).w
jsr sub_37430(pc)
moveq #$6A,d0
jsr (Play_Sound_2).l
@@ -75968,7 +75990,7 @@ loc_37292: bset #4,4(a0)
move.b #2,$3A(a0)
move.w #$78,($FFFFEEE8).w
- tst.b ($FFFFFF8B).w
+ tst.b (Competition_mode_type).w
bne.s loc_372BC
move.w #$168,($FFFFEEE8).w
@@ -75985,9 +76007,9 @@ locret_372CE: loc_372D0:
subq.b #1,d0
bne.w loc_373A4
- tst.b ($FFFFFF8B).w
+ tst.b (Competition_mode_type).w
beq.s loc_37308
- tst.b ($FFFFFE1E).w
+ tst.b (Update_HUD_timer).w
bpl.s locret_37306
tst.b ($FFFFEF49).w
beq.s loc_372EE
@@ -75997,10 +76019,10 @@ loc_372D0: loc_372EE:
subq.w #1,($FFFFEEE8).w
bpl.s locret_37306
- move.b #$40,($FFFFF600).w
- tst.b ($FFFFFF8B).w
+ move.b #$40,(Game_mode).w
+ tst.b (Competition_mode_type).w
bpl.s locret_37306
- move.b #$50,($FFFFF600).w
+ move.b #$50,(Game_mode).w
locret_37306:
@@ -76009,10 +76031,10 @@ locret_37306: loc_37308:
move.b ($FFFFFEDC).w,d0
- tst.b ($FFFFFE1E).w
+ tst.b (Update_HUD_timer).w
bpl.s loc_3731C
move.b ($FFFFFEDD).w,d0
- tst.b ($FFFFFE1E).w
+ tst.b (Update_HUD_timer).w
bmi.s loc_37322
loc_3731C:
@@ -76024,7 +76046,7 @@ loc_37322: bmi.s loc_3733C
loc_37328:
- cmpi.l #$93B63,($FFFFEE52).w
+ cmpi.l #$93B63,(Demo_data_addr).w
bcc.s loc_3733C
cmpi.l #$93B63,($FFFFEE56).w
bcs.s locret_37398
@@ -76032,13 +76054,13 @@ loc_37328: loc_3733C:
moveq #0,d0
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone).w,d0
subi.b #$E,d0
move.b byte_3739F(pc,d0.w),d0
lea ($FF7800).l,a1
- move.l ($FFFFEE52).w,(a1,d0.w)
+ move.l (Demo_data_addr).w,(a1,d0.w)
move.l ($FFFFEE56).w,$14(a1,d0.w)
- tst.b ($FFFFFE1E).w
+ tst.b (Update_HUD_timer).w
bmi.s loc_3736A
move.l #$93B63,(a1,d0.w)
@@ -76048,17 +76070,17 @@ loc_3736A: move.l #$93B63,$14(a1,d0.w)
loc_37378:
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone).w,d0
subi.b #$E,d0
move.b byte_3739A(pc,d0.w),d0
beq.s loc_37392
- move.b d0,($FFFFFE10).w
- move.b #1,($FFFFFE02).w
+ move.b d0,(Current_zone).w
+ move.b #1,(Restart_level_flag).w
rts
; ---------------------------------------------------------------------------
loc_37392:
- move.b #$44,($FFFFF600).w
+ move.b #$44,(Game_mode).w
locret_37398:
rts
@@ -76079,11 +76101,11 @@ loc_373A4: move.b ($FFFFFEDA).w,d0
cmp.b ($FFFFFEDC).w,d0
bcc.s loc_373D4
- tst.b ($FFFFFE1E).w
+ tst.b (Update_HUD_timer).w
bmi.s loc_373D4
move.b #5,$20(a0)
bset #3,4(a0)
- move.b #-$80,($FFFFFE1E).w
+ move.b #-$80,(Update_HUD_timer).w
move.w #$78,($FFFFEEE8).w
moveq #$6A,d0
jsr (Play_Sound_2).l
@@ -76130,20 +76152,20 @@ locret_3742E: sub_37430:
- tst.b ($FFFFFF8B).w
+ tst.b (Competition_mode_type).w
bpl.w locret_374B6
moveq #0,d0
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone).w,d0
subi.w #$E,d0
lsl.w #4,d0
- lea ($FFFFE600).w,a1
+ lea (Competition_saved_data).w,a1
adda.w d0,a1
- move.l ($FFFFEE52).w,d0
+ move.l (Demo_data_addr).w,d0
cmp.l (a1),d0
bcc.s loc_37476
move.b $D(a1),$E(a1)
move.b $C(a1),$D(a1)
- move.b ($FFFFFFEA).w,$C(a1)
+ move.b (P1_character).w,$C(a1)
move.l 4(a1),8(a1)
move.l (a1),4(a1)
move.l d0,(a1)
@@ -76155,7 +76177,7 @@ loc_37476: cmp.l 4(a1),d0
bcc.s loc_3749A
move.b $D(a1),$E(a1)
- move.b ($FFFFFFEA).w,$D(a1)
+ move.b (P1_character).w,$D(a1)
move.l 4(a1),8(a1)
move.l d0,4(a1)
move.b #1,($FFFFEE5A).w
@@ -76165,7 +76187,7 @@ loc_37476: loc_3749A:
cmp.l 8(a1),d0
bcc.s locret_374B6
- move.b ($FFFFFFEA).w,$E(a1)
+ move.b (P1_character).w,$E(a1)
move.l d0,8(a1)
move.b #2,($FFFFEE5A).w
@@ -76227,13 +76249,13 @@ loc_37CD0: move.l #loc_37CDC,(a0)
loc_37CDC:
- lea ($FFFFFE26).w,a1
+ lea (Score).w,a1
lea ($FF700A).l,a2
- lea ($FFFFFE23).w,a3
+ lea (Timer_minute).w,a3
moveq #0,d1
move.b ($FFFFEE5C).w,d1
- lea ($FFFFFE1E).w,a4
- lea ($FFFFEE52).w,a5
+ lea (Update_HUD_timer).w,a4
+ lea (Demo_data_addr).w,a5
lea ($FF7828).l,a6
bra.s loc_37D7C
; ---------------------------------------------------------------------------
@@ -76263,9 +76285,9 @@ loc_37D4E: move.l #loc_37D5A,(a0)
loc_37D5A:
- lea ($FFFFFED6).w,a1
+ lea (Score_P2).w,a1
lea ($FF708A).l,a2
- lea ($FFFFFED3).w,a3
+ lea (Timer_minute_P2).w,a3
moveq #0,d1
move.b ($FFFFEE5D).w,d1
lea ($FFFFFEC7).w,a4
@@ -76422,7 +76444,7 @@ loc_37F0E: loc_37F1A:
moveq #0,d0
- tst.w ($FFFFFE20).w
+ tst.w (Ring_count).w
beq.s loc_37F24
moveq #3,d0
@@ -76430,7 +76452,7 @@ loc_37F24: btst #2,($FFFFB02B).w
beq.s loc_37F38
moveq #1,d0
- cmpi.w #$C00,($FFFFF760).w
+ cmpi.w #$C00,(Sonic_Knux_top_speed).w
beq.s loc_37F38
moveq #2,d0
@@ -76443,7 +76465,7 @@ loc_37F38: loc_37F42:
moveq #0,d0
- tst.w ($FFFFFED0).w
+ tst.w (Ring_count_P2).w
beq.s loc_37F4C
moveq #3,d0
@@ -76499,7 +76521,7 @@ loc_38062: loc_38068:
move.w ($FFFFB010).w,d0
- move.w ($FFFFFE2E).w,d1
+ move.w (Saved_X_pos).w,d1
loc_38070:
tst.w ($FFFFEEE6).w
@@ -76539,7 +76561,7 @@ loc_380A8: loc_380BC:
move.w ($FFFFB05A).w,d0
- move.w ($FFFFFE4C).w,d1
+ move.w (Saved2_X_pos).w,d1
bra.s loc_38070
; ---------------------------------------------------------------------------
Map_2PPosition: include "General\2P Zone\Map - Position Icons (Unused).asm"
@@ -76609,13 +76631,13 @@ loc_381B4: bsr.s sub_381F2
loc_381C8:
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
bne.s loc_381D8
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
loc_381D8:
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$60,d0
cmp.w $14(a0),d0
bge.s loc_381EC
@@ -76746,13 +76768,13 @@ loc_38336: loc_38350:
tst.b $29(a0)
beq.s loc_38376
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
bclr #0,$29(a0)
beq.s loc_38364
bsr.s sub_38382
loc_38364:
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
bclr #1,$29(a0)
beq.s loc_38372
bsr.s sub_38382
@@ -76792,7 +76814,7 @@ Obj_HCZWaterSplash: beq.s loc_38432
move.l #Map_HCZWaterSplash2,$C(a0)
move.w #$36E,$A(a0)
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_383DC
move.w #$344,$A(a0)
@@ -76858,7 +76880,7 @@ loc_384AC: loc_384B2:
move.w ($FFFFB010).w,$10(a0)
- move.w ($FFFFF646).w,$14(a0)
+ move.w (Water_level).w,$14(a0)
bsr.s sub_38534
tst.b $2A(a0)
beq.s loc_384F8
@@ -76891,7 +76913,7 @@ loc_384F8: add.w d0,d1
addi.l #ArtUnc_HCZWaterSplash2,d1
move.w #$6DC0,d2
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_38524
move.w #$6880,d2
@@ -76906,10 +76928,10 @@ loc_3852E: sub_38534:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $18(a0),a2
moveq #3,d6
- move.w ($FFFFF602).w,d5
+ move.w (Ctrl_1_logical).w,d5
bsr.s sub_3857E
bclr #0,4(a0)
btst #0,$2A(a1)
@@ -76917,10 +76939,10 @@ sub_38534: bset #0,4(a0)
loc_38558:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $1E(a0),a2
moveq #4,d6
- move.w ($FFFFF66A).w,d5
+ move.w (Ctrl_2_logical).w,d5
bsr.s sub_3857E
move.b 4(a0),d0
add.b $2A(a1),d0
@@ -76946,7 +76968,7 @@ sub_3857E: move.b $1E(a1),d1
add.w $14(a1),d1
addq.w #1,d1
- cmp.w ($FFFFF646).w,d1
+ cmp.w (Water_level).w,d1
bne.s locret_385D0
move.w $18(a1),d0
bpl.s loc_385A4
@@ -76957,7 +76979,7 @@ loc_385A4: bcs.s locret_385D0
bset d6,$2A(a0)
move.w $10(a1),(a2)
- move.w ($FFFFF646).w,2(a2)
+ move.w (Water_level).w,2(a2)
move.b #0,5(a2)
bclr #0,$2A(a1)
tst.w $18(a1)
@@ -76973,7 +76995,7 @@ loc_385D2: move.w d5,d0
andi.w #$70,d0
bne.s loc_38652
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
moveq #0,d1
move.b $1E(a1),d1
sub.w d1,d0
@@ -76990,7 +77012,7 @@ loc_385F6: move.w d0,$14(a1)
move.w #0,$1A(a1)
move.w $10(a1),(a2)
- move.w ($FFFFF646).w,2(a2)
+ move.w (Water_level).w,2(a2)
btst #1,$2A(a1)
beq.s locret_38650
andi.w #$C00,d5
@@ -77049,7 +77071,7 @@ Obj_TensionBridge: move.l #Map_TensionBridge,$C(a0)
move.w #$4038,$A(a0)
move.w #$200,8(a0)
- cmpi.b #5,($FFFFFE10).w
+ cmpi.b #5,(Current_zone).w
bne.s loc_386D0
move.l #loc_38882,(a0)
move.l #Map_ICZTensionBridge,$C(a0)
@@ -77061,7 +77083,7 @@ Obj_TensionBridge: loc_386D0:
- cmpi.b #9,($FFFFFE10).w
+ cmpi.b #9,(Current_zone).w
bne.s loc_386DE
move.w #-$1EED,$A(a0)
@@ -77145,7 +77167,7 @@ locret_387B4: loc_387B6:
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
lea (a3,d0.w),a3
tst.b (a3)
beq.s loc_387E0
@@ -77206,7 +77228,7 @@ loc_3883A: move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_3884E
rts
@@ -77456,13 +77478,13 @@ byte_38A78: dc.b 8, $10, $C, $E, 6, $A, 4, 2 sub_38A88:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
moveq #$3B,d5
movem.l d1-d4,-(sp)
bsr.s sub_38AA2
movem.l (sp)+,d1-d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
subq.b #1,d6
moveq #$3F,d5
; End of function sub_38A88
@@ -77538,13 +77560,13 @@ locret_38B28: sub_38B2A:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
moveq #$3B,d5
movem.l d1-d4,-(sp)
bsr.s sub_38B44
movem.l (sp)+,d1-d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
subq.b #1,d6
moveq #$3F,d5
; End of function sub_38B2A
@@ -77636,11 +77658,11 @@ locret_38BD6: sub_38BD8:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
moveq #$3B,d5
bsr.s sub_38BEA
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
subq.b #1,d6
moveq #$3F,d5
; End of function sub_38BD8
@@ -78009,10 +78031,10 @@ Obj_69_1: move.l #loc_3909C,(a0)
loc_3909C:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $34(a0),a4
bsr.s sub_390C2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $3A(a0),a4
bsr.s sub_390C2
move.b $34(a0),d0
@@ -78062,7 +78084,7 @@ off_390F2: dc.w loc_39102-off_390F2 ; ---------------------------------------------------------------------------
loc_39102:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_39196
tst.b $2C(a0)
bmi.w loc_39198
@@ -78342,7 +78364,7 @@ loc_39434: move.l #loc_3943A,(a0)
loc_3943A:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),$10(a0)
move.w $14(a1),$14(a0)
btst #1,$2A(a1)
@@ -78362,7 +78384,7 @@ Ani_SonicSnowboard: include "General\Sprites\Sonic\Anim - Sonic Snowboard.asm" loc_394A0:
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
move.w $10(a2),$10(a0)
move.w $14(a2),$14(a0)
moveq #0,d0
@@ -78474,7 +78496,7 @@ loc_395F2: ; ---------------------------------------------------------------------------
loc_395FE:
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
move.w $34(a0),d0
addq.w #6,$34(a0)
lea (ICZSnowboard_Slope1).l,a1
@@ -78570,7 +78592,7 @@ locret_396E2: ; ---------------------------------------------------------------------------
Obj_LevelIntroICZ1:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #$800,$18(a1)
move.w #$280,$1A(a1)
move.w #$800,$1C(a1)
@@ -78580,9 +78602,9 @@ Obj_LevelIntroICZ1: move.b #7,$1F(a1)
move.b #2,$20(a1)
bset #2,$2A(a1)
- move.b #1,($FFFFF7CA).w
- move.w #0,($FFFFF602).w
- move.w #0,($FFFFF604).w
+ move.b #1,(Ctrl_1_locked).w
+ move.w #0,(Ctrl_1_logical).w
+ move.w #0,(Ctrl_1).w
move.b #0,$22(a1)
move.b #3,$2E(a1)
move.b #$1E,$24(a0)
@@ -78600,15 +78622,15 @@ Obj_LevelIntroICZ1: loc_39780:
subq.b #1,$24(a0)
bne.s loc_39796
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
move.b #0,$2E(a2)
move.l #loc_39796,(a0)
loc_39796:
- move.b #1,($FFFFF7CA).w
- move.w #0,($FFFFF602).w
- lea ($FFFFB000).w,a2
+ move.b #1,(Ctrl_1_locked).w
+ move.w #0,(Ctrl_1_logical).w
+ lea (Player_1).w,a2
cmpi.w #$C0,$10(a2)
bcs.s loc_397C6
move.w #-$600,$1A(a0)
@@ -78623,7 +78645,7 @@ loc_397C6: ; ---------------------------------------------------------------------------
loc_397D2:
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
move.w $10(a2),$10(a0)
subq.b #1,$24(a0)
bpl.s loc_397FA
@@ -78659,15 +78681,15 @@ loc_3983E: ; ---------------------------------------------------------------------------
loc_3984E:
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
move.w $10(a2),$10(a0)
move.w $14(a2),$14(a0)
- move.w ($FFFFF604).w,d0
+ move.w (Ctrl_1).w,d0
andi.w #-$F10,d0
- move.w d0,($FFFFF602).w
+ move.w d0,(Ctrl_1_logical).w
tst.b $2E(a2)
bne.s locret_398A4
- move.b #0,($FFFFF7CA).w
+ move.b #0,(Ctrl_1_locked).w
move.l #loc_398A6,(a0)
addi.w #$14,$14(a0)
move.w #-$200,$18(a0)
@@ -78709,7 +78731,7 @@ loc_398E0: loc_398E6:
movea.w $30(a0),a3
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
tst.b $2E(a2)
bne.s loc_398FA
jmp (Delete_Current_Sprite).l
@@ -78801,17 +78823,17 @@ ArtNem_SnowboardDust: binclude "General\Sprites\Snowboard\Snowboard Dust.bin" Obj_LevelIntro_PlayerLaunchFromGround:
move.l #loc_39A80,(a0)
- move.b #1,($FFFFF7CA).w
- move.b #1,($FFFFF7CB).w
+ move.b #1,(Ctrl_1_locked).w
+ move.b #1,(Ctrl_2_locked).w
moveq #0,d0
- move.w d0,($FFFFF602).w
- move.w d0,($FFFFF604).w
- move.w d0,($FFFFF66A).w
- move.w d0,($FFFFF606).w
+ move.w d0,(Ctrl_1_logical).w
+ move.w d0,(Ctrl_1).w
+ move.w d0,(Ctrl_2_logical).w
+ move.w d0,(Ctrl_2).w
move.b #$1E,$24(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_39A78
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.l (a1)
beq.s locret_39A7E
@@ -78828,10 +78850,10 @@ locret_39A7E: ; ---------------------------------------------------------------------------
loc_39A80:
- move.b #1,($FFFFF7CA).w
- move.b #1,($FFFFF7CB).w
- move.w #0,($FFFFF602).w
- move.w #0,($FFFFF66A).w
+ move.b #1,(Ctrl_1_locked).w
+ move.b #1,(Ctrl_2_locked).w
+ move.w #0,(Ctrl_1_logical).w
+ move.w #0,(Ctrl_2_logical).w
subq.b #1,$24(a0)
beq.s loc_39AA0
rts
@@ -78839,9 +78861,9 @@ loc_39A80: loc_39AA0:
move.l #loc_39AD2,(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_39AB4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.l (a1)
beq.s locret_39AD0
@@ -78862,17 +78884,17 @@ locret_39AD0: ; ---------------------------------------------------------------------------
loc_39AD2:
- move.b #1,($FFFFF7CA).w
- move.b #1,($FFFFF7CB).w
- move.w #0,($FFFFF602).w
- move.w #0,($FFFFF66A).w
- lea ($FFFFB000).w,a2
+ move.b #1,(Ctrl_1_locked).w
+ move.b #1,(Ctrl_2_locked).w
+ move.w #0,(Ctrl_1_logical).w
+ move.w #0,(Ctrl_2_logical).w
+ lea (Player_1).w,a2
cmpi.w #$5C0,$14(a2)
bcc.s loc_39B3C
move.b #0,$2E(a2)
move.w #$400,($FFFFCC74).w
move.w #$5C0,($FFFFCC68).w
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
tst.l (a2)
beq.s loc_39B22
move.b #0,$2E(a2)
@@ -78882,14 +78904,14 @@ loc_39AD2: loc_39B22:
moveq #-$7E,d0
jsr (Play_Sound_2).l
- move.b #0,($FFFFF7CA).w
- move.b #0,($FFFFF7CB).w
+ move.b #0,(Ctrl_1_locked).w
+ move.b #0,(Ctrl_2_locked).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
loc_39B3C:
bsr.s sub_39B46
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
tst.l (a2)
beq.s locret_39B64
@@ -78914,7 +78936,7 @@ locret_39B64: ; ---------------------------------------------------------------------------
Obj_LevelIntroICZ1Tails:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #$800,$18(a1)
move.w #$480,$1A(a1)
move.w #$800,$1C(a1)
@@ -78925,30 +78947,30 @@ Obj_LevelIntroICZ1Tails: move.b #2,$20(a1)
bset #2,$2A(a1)
move.b #3,$2E(a1)
- move.b #1,($FFFFF7CA).w
- move.w #0,($FFFFF602).w
- move.w #0,($FFFFF604).w
+ move.b #1,(Ctrl_1_locked).w
+ move.w #0,(Ctrl_1_logical).w
+ move.w #0,(Ctrl_1).w
move.b #$1E,$24(a0)
move.l #loc_39BC4,(a0)
loc_39BC4:
- move.b #1,($FFFFF7CA).w
- move.w #0,($FFFFF602).w
- move.w #0,($FFFFF66A).w
+ move.b #1,(Ctrl_1_locked).w
+ move.w #0,(Ctrl_1_logical).w
+ move.w #0,(Ctrl_2_logical).w
subq.b #1,$24(a0)
beq.s loc_39BDE
rts
; ---------------------------------------------------------------------------
loc_39BDE:
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
move.b #0,$2E(a2)
move.l #loc_39BEE,(a0)
loc_39BEE:
- move.b #1,($FFFFF7CA).w
- move.w #0,($FFFFF602).w
- lea ($FFFFB000).w,a2
+ move.b #1,(Ctrl_1_locked).w
+ move.w #0,(Ctrl_1_logical).w
+ lea (Player_1).w,a2
cmpi.w #$38F0,$10(a2)
bcs.s locret_39C4E
bset #1,$2A(a2)
@@ -78956,12 +78978,12 @@ loc_39BEE: move.w #-$400,$1A(a2)
move.b #$19,$20(a2)
move.b #0,$2E(a2)
- move.b #0,($FFFFF7CA).w
+ move.b #0,(Ctrl_1_locked).w
move.w #$14,($FFFFEECC).w
move.w #-$100,d0
- move.w d0,($FFFFEE18).w
- move.w d0,($FFFFEE10).w
- move.w d0,($FFFFEE20).w
+ move.w d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_target_min_Y_pos).w
+ move.w d0,(Camera_min_Y_pos_P2).w
moveq #$5F,d0
jsr (Play_Sound_2).l
jmp (Delete_Current_Sprite).l
@@ -79037,10 +79059,10 @@ loc_39CE8: jsr (SolidObjectTop).l
subq.b #1,$30(a0)
bne.s locret_39D3C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_39D1A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.s sub_39D1A
jmp (Delete_Current_Sprite).l
@@ -79187,11 +79209,11 @@ loc_39F58: move.w $2C(a0),d4
move.w d4,d5
add.w d5,d5
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea ($FFFFF7B0).w,a2
moveq #3,d6
bsr.s sub_39F7E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea ($FFFFF7B1).w,a2
addq.b #1,d6
bsr.s sub_39F7E
@@ -79237,7 +79259,7 @@ loc_39FBA: bcs.s locret_3A018
cmpi.b #6,5(a1)
bcc.s locret_3A018
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_3A018
add.w d0,d2
addq.w #3,d2
@@ -79322,11 +79344,11 @@ loc_3A0B0: move.w $2C(a0),d4
move.w d4,d5
add.w d5,d5
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea ($FFFFF7B0).w,a2
moveq #3,d6
bsr.s sub_3A0D6
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea ($FFFFF7B1).w,a2
addq.b #1,d6
bsr.s sub_3A0D6
@@ -79351,7 +79373,7 @@ sub_3A0D6: bcc.w locret_3A18C
cmpi.b #6,5(a1)
bcc.w locret_3A18C
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_3A18C
tst.b $2E(a1)
bmi.s locret_3A18C
@@ -79456,11 +79478,11 @@ Obj_70_1_FBZ_Twisting_Cylinders: move.l #loc_3A252,(a0)
loc_3A252:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $30(a0),a2
moveq #3,d6
bsr.s sub_3A270
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $38(a0),a2
addq.b #1,d6
bsr.s sub_3A270
@@ -79971,12 +79993,12 @@ loc_3A890: loc_3A894:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d0
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d0
bsr.w sub_3A8B8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.w #1,a2
- move.w ($FFFFF66A).w,d0
+ move.w (Ctrl_2_logical).w,d0
bsr.w sub_3A8B8
jmp (Sprite_OnScreen_Test).l
@@ -79989,7 +80011,7 @@ sub_3A8B8: beq.w loc_3A9A6
tst.b 4(a1)
bpl.w loc_3A954
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_3A954
cmpi.b #4,5(a1)
bcc.s loc_3A954
@@ -80078,7 +80100,7 @@ loc_3A9B4: bmi.s locret_3AA58
cmpi.b #4,5(a1)
bcc.s locret_3AA58
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_3AA58
btst #3,$2A(a1)
beq.s loc_3AA18
@@ -80117,12 +80139,12 @@ locret_3AA58: loc_3AA5A:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d0
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d0
bsr.w sub_3AA7E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.w #1,a2
- move.w ($FFFFF66A).w,d0
+ move.w (Ctrl_2_logical).w,d0
bsr.w sub_3AA7E
jmp (Delete_Sprite_If_Not_In_Range).l
; End of function sub_3A8B8
@@ -80137,7 +80159,7 @@ sub_3AA7E: beq.w loc_3AC86
tst.b 4(a1)
bpl.w loc_3AB24
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_3AB24
cmpi.b #4,5(a1)
bcc.w loc_3AB24
@@ -80334,7 +80356,7 @@ loc_3AC94: bmi.w locret_3AD88
cmpi.b #4,5(a1)
bcc.w locret_3AD88
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_3AD88
btst #3,$2A(a1)
beq.s loc_3ACEA
@@ -80769,7 +80791,7 @@ loc_3B5FC: loc_3B60E:
move.w $34(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmp.w $36(a0),d0
bhi.w loc_3B628
jmp (Draw_Sprite).l
@@ -81019,7 +81041,7 @@ Obj_FBZDEZPlayerLauncher: move.l #Map_FBZDEZPlayerLauncher,$C(a0)
move.w #$23B5,$A(a0)
- cmpi.b #$B,($FFFFFE10).w
+ cmpi.b #$B,(Current_zone).w
bne.s loc_3B956
move.w #$22FC,$A(a0)
move.b #1,$22(a0)
@@ -81051,10 +81073,10 @@ loc_3B998: loc_3B9AC:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_3B9D8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.s sub_3B9D8
move.w #$10,d1
@@ -81171,7 +81193,7 @@ Obj_FBZDisappearingPlatform: loc_3BB08:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
add.w $30(a0),d0
loc_3BB10:
@@ -81194,10 +81216,10 @@ loc_3BB34: jsr (Animate_SpriteIrregularDelay).l
tst.b $22(a0)
beq.s loc_3BB6E
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_3BB86
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.s sub_3BB86
tst.b 5(a0)
@@ -81289,7 +81311,7 @@ loc_3BC6C: loc_3BC72:
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d0.w)
beq.s loc_3BCF2
move.l #loc_3BC92,(a0)
@@ -81353,7 +81375,7 @@ loc_3BD06: loc_3BD1A:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $14(a1),d0
sub.w $14(a0),d0
addi.w #-$20,d0
@@ -81392,18 +81414,18 @@ Obj_7B_1: loc_3BF68:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d1
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d1
bsr.s sub_3BFA0
addq.w #1,a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF66A).w,d1
+ lea (Player_2).w,a1
+ move.w (Ctrl_2_logical).w,d1
bsr.s sub_3BFA0
tst.b $30(a0)
beq.s loc_3BF9A
- move.b #1,($FFFFF676).w
- move.w $10(a0),($FFFFF678).w
- move.w ($FFFFB014).w,($FFFFF67C).w
+ move.b #1,(Scroll_force_positions).w
+ move.w $10(a0),(Scroll_forced_X_pos).w
+ move.w ($FFFFB014).w,(Scroll_forced_Y_pos).w
loc_3BF9A:
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -81415,7 +81437,7 @@ sub_3BFA0: tst.b (a2)
beq.w loc_3C0D0
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_3C096
cmpi.b #4,5(a1)
bcc.w loc_3C096
@@ -81535,7 +81557,7 @@ loc_3C0DC: addi.w #$10,d0
cmp.w $36(a0),d0
bcc.w locret_3C19A
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_3C19A
cmpi.b #4,5(a1)
bcc.w locret_3C19A
@@ -81669,7 +81691,7 @@ loc_3C2D2: jsr (SolidObjectFull).l
move.w $44(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmp.w $36(a0),d0
bhi.w loc_3C316
jmp (Draw_Sprite).l
@@ -82131,9 +82153,9 @@ Obj_FBZMine: move.l #loc_3C972,(a0)
loc_3C972:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_3C984
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_3C984
jmp (Sprite_OnScreen_Test).l
@@ -82152,7 +82174,7 @@ sub_3C984: addi.w #$18,d0
cmpi.w #$20,d0
bcc.s locret_3C9BA
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_3C9BA
move.w #$1E,$30(a0)
move.l #loc_3C9BC,(a0)
@@ -82280,7 +82302,7 @@ loc_3CB7E: loc_3CB8A:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #3,$2A(a0)
beq.s loc_3CB98
@@ -82288,7 +82310,7 @@ loc_3CB96: bsr.s sub_3CBCE
loc_3CB98:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #4,$2A(a0)
beq.s loc_3CBA6
bsr.s sub_3CBCE
@@ -82507,13 +82529,13 @@ loc_3CE44: loc_3CE52:
subq.w #1,$30(a0)
bne.s locret_3CE42
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #3,$2A(a0)
beq.s loc_3CE68
bsr.w sub_3CBCE
loc_3CE68:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #4,$2A(a0)
beq.s locret_3CE78
bsr.w sub_3CBCE
@@ -82666,13 +82688,13 @@ Obj_FBZSpiderCrane: move.l #loc_3D0F6,(a0)
loc_3D0F6:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),d0
sub.w $10(a0),d0
addi.w #$10,d0
cmpi.w #$20,d0
bcc.s loc_3D118
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_3D118
move.l #loc_3D11E,(a0)
@@ -82695,7 +82717,7 @@ loc_3D12A: addq.w #7,d0
lsr.w #3,d0
move.b d0,$1D(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),d0
sub.w $10(a0),d0
addi.w #$10,d0
@@ -82791,7 +82813,7 @@ loc_3D278: loc_3D29C:
subi.l #$1000,$30(a0)
bne.s loc_3D2D2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #0,$20(a1)
move.b #0,$2E(a1)
bset #1,$2A(a1)
@@ -82859,7 +82881,7 @@ loc_3D4BE: loc_3D4C2:
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bls.s loc_3D506
move.w $44(a0),d0
@@ -82890,7 +82912,7 @@ loc_3D500: ; ---------------------------------------------------------------------------
loc_3D506:
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
tst.b $2F(a0)
loc_3D50E:
@@ -83073,7 +83095,7 @@ loc_3D684: loc_3D6C4:
move.w d1,$18(a2)
move.w d0,$1A(a2)
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
andi.w #$70,d0
beq.s loc_3D730
clr.b $32(a0)
@@ -83158,12 +83180,12 @@ loc_3D7A4: move.w d0,$14(a0)
tst.b $2F(a1)
bne.w loc_3D902
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
tst.b $2E(a2)
bne.w loc_3D902
cmpi.b #4,5(a2)
bcc.w loc_3D902
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_3D902
tst.b $2C(a1)
bpl.s loc_3D87A
@@ -83182,7 +83204,7 @@ loc_3D7A4: bne.s loc_3D848
moveq #$22,d0
moveq #$26,d1
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_3D848
moveq #$1E,d0
moveq #$22,d1
@@ -83226,7 +83248,7 @@ loc_3D87A: bne.s loc_3D8B4
moveq #$22,d0
moveq #$26,d1
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_3D8B4
moveq #$1E,d0
moveq #$22,d1
@@ -83342,9 +83364,9 @@ Obj_MHZ_Pollen_Spawner: cmpi.b #$10,($FFFFF7C0).w
bcc.s locret_3DA22
lea $2E(a0),a3
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
bsr.s sub_3DA24
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
tst.b 4(a2)
bpl.s locret_3DA22
lea $30(a0),a3
@@ -83588,10 +83610,10 @@ loc_3DCB4: move.l #loc_3DCBA,(a0)
loc_3DCBA:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_3DCD0
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
bsr.s sub_3DCD0
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -83731,10 +83753,10 @@ loc_3DE36: loc_3DE6A:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_3DE80
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.b #1,d6
bsr.s sub_3DE80
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -83922,11 +83944,11 @@ loc_3E0A2: move.b byte_3E0DA(pc,d3.w),d3
move.w $10(a0),d4
jsr (SolidObjectTop).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #$30,d5
moveq #3,d6
bsr.w sub_3E172
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #$32,d5
moveq #4,d6
bsr.w sub_3E172
@@ -84300,12 +84322,12 @@ loc_3E4E2: sub_3E4EC:
movea.w $46(a0),a3
lea $31(a0),a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF66A).w,d0
+ lea (Player_2).w,a1
+ move.w (Ctrl_2_logical).w,d0
bsr.s sub_3E508
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
subq.w #1,a2
- move.w ($FFFFF602).w,d0
+ move.w (Ctrl_1_logical).w,d0
; End of function sub_3E4EC
@@ -84319,7 +84341,7 @@ sub_3E508: bpl.s loc_3E58A
cmpi.b #4,5(a1)
bcc.s loc_3E58A
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_3E58A
move.w d0,d1
andi.b #$70,d1
@@ -84491,7 +84513,7 @@ loc_3E690: bne.s locret_3E71E
cmpi.b #4,5(a1)
bcc.s locret_3E71E
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_3E71E
tst.w $1A(a1)
beq.s locret_3E71E
@@ -84650,7 +84672,7 @@ loc_3E952: bsr.w sub_3E9AC
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_3E98A
rts
@@ -84675,13 +84697,13 @@ loc_3E9A6: sub_3E9AC:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
moveq #$37,d5
movem.l d1-d4,-(sp)
bsr.s sub_3E9C6
movem.l (sp)+,d1-d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
subq.b #1,d6
moveq #$36,d5
; End of function sub_3E9AC
@@ -84793,9 +84815,9 @@ loc_3EAC4: loc_3EACA:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s loc_3EADA
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s loc_3EADA
bra.w loc_3EBF8
; ---------------------------------------------------------------------------
@@ -84812,7 +84834,7 @@ loc_3EADA: addi.w #$18,d0
cmpi.w #$30,d0
bcc.w locret_3EB24
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_3EB24
loc_3EB08:
@@ -84914,7 +84936,7 @@ loc_3EBF8: move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
loc_3EC04:
cmpi.w #$280,d0
@@ -85069,13 +85091,13 @@ Obj_MHZSwingBarHorizontal: loc_3ED46:
lea $30(a0),a2
lea $3A(a0),a3
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d1
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d1
bsr.s sub_3ED6E
addq.w #1,a2
lea $3C(a0),a3
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF66A).w,d1
+ lea (Player_2).w,a1
+ move.w (Ctrl_2_logical).w,d1
bsr.s sub_3ED6E
jmp (Sprite_OnScreen_Test).l
@@ -85086,7 +85108,7 @@ sub_3ED6E: tst.b (a2)
beq.w loc_3EECE
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_3EE2C
cmpi.b #4,5(a1)
bcc.w loc_3EE2C
@@ -85220,7 +85242,7 @@ loc_3EF06: bcs.w locret_3EFB8
loc_3EF0A:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_3EFB8
cmpi.b #4,5(a1)
bcc.w locret_3EFB8
@@ -85361,18 +85383,18 @@ loc_3F08C: move.w $10(a0),d4
jsr (SolidObjectTop).l
lea $30(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d1
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d1
bsr.s sub_3F0D8
addq.w #1,a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF66A).w,d1
+ lea (Player_2).w,a1
+ move.w (Ctrl_2_logical).w,d1
bsr.s sub_3F0D8
tst.b $30(a0)
beq.s loc_3F0D2
- move.b #1,($FFFFF676).w
- move.w $10(a0),($FFFFF678).w
- move.w ($FFFFB014).w,($FFFFF67C).w
+ move.b #1,(Scroll_force_positions).w
+ move.w $10(a0),(Scroll_forced_X_pos).w
+ move.w ($FFFFB014).w,(Scroll_forced_Y_pos).w
loc_3F0D2:
jmp (Sprite_OnScreen_Test).l
@@ -85384,7 +85406,7 @@ sub_3F0D8: tst.b (a2)
beq.w loc_3F246
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_3F17A
cmpi.b #4,5(a1)
bcc.w loc_3F17A
@@ -85534,7 +85556,7 @@ loc_3F28C: moveq #$12,d2
loc_3F2BE:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_3F35E
cmpi.b #4,5(a1)
bcc.w locret_3F35E
@@ -85743,12 +85765,12 @@ loc_3F5A4: sub_3F5AA:
lea $31(a0),a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF66A).w,d0
+ lea (Player_2).w,a1
+ move.w (Ctrl_2_logical).w,d0
bsr.s sub_3F5C2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
subq.w #1,a2
- move.w ($FFFFF602).w,d0
+ move.w (Ctrl_1_logical).w,d0
; End of function sub_3F5AA
@@ -85762,7 +85784,7 @@ sub_3F5C2: bpl.w loc_3F660
cmpi.b #4,5(a1)
bcc.w loc_3F666
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_3F666
move.w $34(a0),d1
cmp.w $18(a1),d1
@@ -85875,7 +85897,7 @@ loc_3F70C: bne.s locret_3F7AC
cmpi.b #4,5(a1)
bcc.s locret_3F7AC
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_3F7AC
tst.w $1A(a1)
beq.s locret_3F7AC
@@ -85910,10 +85932,10 @@ locret_3F7AC: sub_3F7AE:
- move.l ($FFFFF7B4).w,($FFFFF796).w
+ move.l (Primary_collision_addr).w,(Collision_addr).w
cmpi.b #$D,$47(a0)
beq.s loc_3F7C2
- move.l ($FFFFF7B8).w,($FFFFF796).w
+ move.l (Secondary_collision_addr).w,(Collision_addr).w
loc_3F7C2:
moveq #$D,d5
@@ -85941,7 +85963,7 @@ sub_3F7E2: move.b $26(a0),d0
tst.b $30(a0)
beq.s loc_3F818
- btst #2,($FFFFF602).w
+ btst #2,(Ctrl_1_logical).w
beq.s loc_3F804
cmpi.b #-$80,d0
beq.s loc_3F804
@@ -85956,7 +85978,7 @@ loc_3F800: loc_3F804:
- btst #3,($FFFFF602).w
+ btst #3,(Ctrl_1_logical).w
beq.s loc_3F818
loc_3F80C:
@@ -86133,10 +86155,10 @@ loc_3F9FE: ; ---------------------------------------------------------------------------
loc_3FA18:
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
moveq #3,d6
bsr.s sub_3FA26
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
moveq #4,d6
; End of function sub_3F996
@@ -86163,10 +86185,10 @@ loc_3FA42: tst.b $33(a0)
beq.s locret_3F9FC
clr.w $32(a0)
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
moveq #3,d6
bsr.s sub_3FA5A
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
moveq #4,d6
; =============== S U B R O U T I N E =======================================
@@ -86266,9 +86288,9 @@ Obj_14_2: loc_3FBAC:
moveq #0,d2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_3FBC4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_3FBC4
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -86418,13 +86440,13 @@ loc_3FD22: loc_3FD28:
move.w $30(a0),d2
move.w $32(a0),d3
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
- move.w ($FFFFF602).w,d5
+ move.w (Ctrl_1_logical).w,d5
bsr.s sub_3FD4E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
- move.w ($FFFFF66A).w,d5
+ move.w (Ctrl_2_logical).w,d5
bsr.s sub_3FD4E
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -86526,14 +86548,14 @@ loc_3FE44: move.w $30(a0),d2
move.w $32(a0),d3
lea $34(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
- move.w ($FFFFF602).w,d5
+ move.w (Ctrl_1_logical).w,d5
bsr.s sub_3FE70
addq.w #1,a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
- move.w ($FFFFF66A).w,d5
+ move.w (Ctrl_2_logical).w,d5
bsr.s sub_3FE70
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -86647,10 +86669,10 @@ loc_3FF80: move.w $30(a0),d2
move.w $32(a0),d3
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s loc_3FF9E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.s loc_3FF9E
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -86774,13 +86796,13 @@ loc_400CA: move.w $30(a0),d2
move.w $32(a0),d3
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
- move.w ($FFFFF602).w,d5
+ move.w (Ctrl_1_logical).w,d5
bsr.s sub_400F0
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
- move.w ($FFFFF66A).w,d5
+ move.w (Ctrl_2_logical).w,d5
bsr.s sub_400F0
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -87021,7 +87043,7 @@ loc_403A2: loc_403B0:
move.w $30(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmp.w $32(a0),d0
bhi.w loc_403CA
jmp (Draw_Sprite).l
@@ -87084,10 +87106,10 @@ Obj_3B_2: move.l #loc_4045E,(a0)
loc_4045E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_40474
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.s sub_40474
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -87212,7 +87234,7 @@ loc_405D8: move.w $10(a0),-(sp)
jsr (MoveSprite).l
move.w (sp)+,d4
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$120,d0
cmp.w $14(a0),d0
bgt.s loc_405FA
@@ -87306,13 +87328,13 @@ sub_406B4: andi.b #$60,d3
beq.w locret_406E2
move.w $10(a0),d2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b $30(a0),d0
moveq #5,d6
bsr.s sub_406E4
tst.w d5
bne.s locret_406E2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.b $31(a0),d0
moveq #6,d6
bsr.s sub_406E4
@@ -87468,11 +87490,11 @@ sub_40878: moveq #0,d4
move.w $30(a0),d5
lea $35(a0),a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w sub_4093E
subq.w #1,a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.w sub_4093E
move.w d5,$30(a0)
@@ -87753,9 +87775,9 @@ loc_40B48: move.b $2C(a0),d1
move.w d1,d2
add.w d2,d2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_40B62
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_40B62
bra.w loc_40C0E
@@ -87774,7 +87796,7 @@ sub_40B62: addi.w #$A4,d0
cmpi.w #$C0,d0
bcc.s locret_40BC8
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_40BC8
bset #6,4(a0)
move.w #2,$16(a0)
@@ -87839,7 +87861,7 @@ loc_40C2A: beq.w loc_40CE6
btst #0,d6
beq.s loc_40C66
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.b #2,$20(a1)
loc_40C5A:
@@ -87853,7 +87875,7 @@ loc_40C66: btst #1,d6
beq.s loc_40CE6
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmpi.b #2,$20(a1)
bne.s loc_40CE6
asr $18(a1)
@@ -87865,7 +87887,7 @@ loc_40C80: move.l #loc_40CEC,(a0)
move.b #5,$24(a0)
move.b #1,$22(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #3,$2A(a0)
beq.s loc_40CB2
bclr #3,$2A(a1)
@@ -87877,7 +87899,7 @@ loc_40CB2: bclr #5,$2A(a1)
loc_40CC0:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #4,$2A(a0)
beq.s loc_40CD8
bclr #3,$2A(a1)
@@ -87984,12 +88006,12 @@ loc_40F2A: loc_40F2E:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d0
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d0
bsr.w sub_40F52
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.w #1,a2
- move.w ($FFFFF66A).w,d0
+ move.w (Ctrl_2_logical).w,d0
bsr.w sub_40F52
jmp (Sprite_OnScreen_Test).l
@@ -88081,7 +88103,7 @@ loc_4101C: bmi.s locret_4108E
cmpi.b #4,5(a1)
bcc.s locret_4108E
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_4108E
clr.w $18(a1)
clr.w $1A(a1)
@@ -88177,13 +88199,13 @@ loc_4121E: move.b d6,d0
andi.b #$10,d0
beq.s loc_41238
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (sub_24280).l
loc_41238:
andi.b #$20,d6
beq.s loc_41248
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (sub_24280).l
loc_41248:
@@ -88196,13 +88218,13 @@ loc_4124A: loc_4124C:
andi.b #4,d0
beq.s loc_4125C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (sub_24280).l
loc_4125C:
andi.b #8,d6
beq.s loc_4126C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (sub_24280).l
loc_4126C:
@@ -88336,7 +88358,7 @@ loc_414FE: jsr (SolidObjectTop).l
move.w $44(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_41530
jmp (Draw_Sprite).l
@@ -88470,7 +88492,7 @@ loc_4164C: bne.s loc_41668
btst #3,$2A(a0)
beq.s loc_416C0
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_416C0
move.b #1,$31(a0)
@@ -88553,10 +88575,10 @@ loc_41760: bne.s loc_4175A
loc_41776:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b $30(a0),d0
bsr.s sub_417A6
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.b $31(a0),d0
bsr.s sub_417A6
bra.w loc_417F6
@@ -88568,7 +88590,7 @@ loc_4178E: beq.s loc_417DE
cmpi.b #2,$30(a0)
bne.s loc_4175A
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_417AC
loc_417A4:
@@ -88609,7 +88631,7 @@ loc_417DE: beq.w loc_4175A
cmpi.b #2,$31(a0)
bne.w loc_4175A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_417AC
loc_417F6:
@@ -88652,6 +88674,7 @@ Obj_SOZPushSwitch: move.w $10(a0),d0
addi.w #$10,d0
btst #0,$2A(a0)
+
beq.s loc_418D4
subi.w #$20,d0
@@ -88664,7 +88687,7 @@ loc_418D4: loc_418E4:
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
lea (a3,d0.w),a3
moveq #0,d1
move.b (a3),d1
@@ -88700,7 +88723,7 @@ loc_41946: move.b d1,(a3)
move.w $44(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_41966
jmp (Draw_Sprite).l
@@ -88734,7 +88757,7 @@ loc_41996: move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
loc_419A2:
lea (a3,d0.w),a3
@@ -88761,13 +88784,13 @@ sub_419C6: andi.b #$60,d3
beq.w sub_41A6C
move.w $10(a0),d2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b $30(a0),d0
moveq #5,d6
bsr.s sub_419FA
tst.w d5
bne.s locret_419F8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.b $31(a0),d0
moveq #6,d6
bsr.s sub_419FA
@@ -88965,7 +88988,7 @@ loc_41B7E: move.w $14(a0),$46(a0)
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
move.b (a3,d0.w),d0
move.w d0,$36(a0)
move.b $2C(a0),d0
@@ -88984,7 +89007,7 @@ loc_41BDA: loc_41BE0:
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
move.b (a3,d0.w),d0
moveq #1,d1
cmp.w $36(a0),d0
@@ -89022,7 +89045,7 @@ loc_41C3A: move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
move.b (a3,d0.w),d0
moveq #1,d1
cmp.w $36(a0),d0
@@ -89088,13 +89111,13 @@ loc_41D2C: loc_41D32:
move.b $29(a0),d0
beq.w loc_41D56
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #0,$29(a0)
beq.s loc_41D48
bsr.s sub_41D5C
loc_41D48:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #1,$29(a0)
beq.s loc_41D56
bsr.s sub_41D5C
@@ -89273,16 +89296,16 @@ Map_SOZSolidSprites:include "Levels\SOZ\Misc Object Data\Map - Solid Sprites.asm Obj_LevelIntro_PlayerFallIntoGround:
move.l #loc_42028,(a0)
- move.b #1,($FFFFF7CA).w
- move.b #1,($FFFFF7CB).w
- moveq #0,d0
- move.w d0,($FFFFF602).w
- move.w d0,($FFFFF604).w
- move.w d0,($FFFFF66A).w
- move.w d0,($FFFFF606).w
- lea ($FFFFB000).w,a1
+ move.b #1,(Ctrl_1_locked).w
+ move.b #1,(Ctrl_2_locked).w
+ moveq #0,d0
+ move.w d0,(Ctrl_1_logical).w
+ move.w d0,(Ctrl_1).w
+ move.w d0,(Ctrl_2_logical).w
+ move.w d0,(Ctrl_2).w
+ lea (Player_1).w,a1
bsr.s sub_42020
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.l (a1)
beq.s locret_42026
@@ -89299,21 +89322,21 @@ locret_42026: ; ---------------------------------------------------------------------------
loc_42028:
- move.b #1,($FFFFF7CA).w
- move.b #1,($FFFFF7CB).w
- move.w #0,($FFFFF602).w
- move.w #0,($FFFFF66A).w
- lea ($FFFFB000).w,a1
+ move.b #1,(Ctrl_1_locked).w
+ move.b #1,(Ctrl_2_locked).w
+ move.w #0,(Ctrl_1_logical).w
+ move.w #0,(Ctrl_2_logical).w
+ lea (Player_1).w,a1
bsr.s sub_42092
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.l (a1)
beq.s loc_42050
bsr.s sub_42092
loc_42050:
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
move.w #$690,d0
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_42062
addq.w #4,d0
@@ -89323,7 +89346,7 @@ loc_42062: bsr.w loc_42180
moveq #-$7E,d0
jsr (Play_Sound_2).l
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
tst.l (a2)
beq.s loc_42080
bsr.w loc_42180
@@ -89355,11 +89378,11 @@ sub_42092: ; ---------------------------------------------------------------------------
loc_420A6:
- move.b #1,($FFFFF7CA).w
- move.b #1,($FFFFF7CB).w
- move.w #0,($FFFFF602).w
- move.w #0,($FFFFF66A).w
- move.b ($FFFFF605).w,d0
+ move.b #1,(Ctrl_1_locked).w
+ move.b #1,(Ctrl_2_locked).w
+ move.w #0,(Ctrl_1_logical).w
+ move.w #0,(Ctrl_2_logical).w
+ move.b (Ctrl_1_pressed).w,d0
andi.b #$70,d0
bne.s loc_420CA
rts
@@ -89367,9 +89390,9 @@ loc_420A6: loc_420CA:
move.l #loc_420FC,(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_420DE
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.l (a1)
beq.s locret_420FA
@@ -89390,16 +89413,16 @@ locret_420FA: ; ---------------------------------------------------------------------------
loc_420FC:
- move.b #1,($FFFFF7CA).w
- move.b #1,($FFFFF7CB).w
- move.w #0,($FFFFF602).w
- move.w #0,($FFFFF66A).w
- lea ($FFFFB000).w,a2
+ move.b #1,(Ctrl_1_locked).w
+ move.b #1,(Ctrl_2_locked).w
+ move.w #0,(Ctrl_1_logical).w
+ move.w #0,(Ctrl_2_logical).w
+ lea (Player_1).w,a2
cmpi.w #$6A8,$14(a2)
bcc.s loc_42156
move.b #0,$2E(a2)
bsr.w loc_42180
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
tst.l (a2)
beq.s loc_4213C
move.b #0,$2E(a2)
@@ -89408,14 +89431,14 @@ loc_420FC: loc_4213C:
moveq #-$7E,d0
jsr (Play_Sound_2).l
- move.b #0,($FFFFF7CA).w
- move.b #0,($FFFFF7CB).w
+ move.b #0,(Ctrl_1_locked).w
+ move.b #0,(Ctrl_2_locked).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
loc_42156:
bsr.s sub_42160
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
tst.l (a2)
beq.s locret_4217E
@@ -89512,11 +89535,11 @@ loc_4225A: sub_42262:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $30(a0),a2
moveq #3,d6
bsr.s sub_42278
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $34(a0),a2
addq.b #1,d6
; End of function sub_42262
@@ -89573,7 +89596,7 @@ loc_422E6: move.b #0,$40(a1)
loc_42318:
- move.w #0,($FFFFF7D0).w
+ move.w #0,(Chain_bonus_counter).w
move.b #0,$26(a1)
move.b #0,$27(a1)
move.b #0,$2D(a1)
@@ -89592,7 +89615,7 @@ locret_42360: ; ---------------------------------------------------------------------------
loc_42362:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s loc_423D0
loc_42368:
@@ -89711,11 +89734,11 @@ loc_42556: sub_4255E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $30(a0),a2
moveq #3,d6
bsr.s sub_42574
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $34(a0),a2
addq.b #1,d6
; End of function sub_4255E
@@ -89809,7 +89832,7 @@ loc_42666: bset #3,$2A(a1)
bset #1,$2A(a1)
move.b #0,$40(a1)
- move.w #0,($FFFFF7D0).w
+ move.w #0,(Chain_bonus_counter).w
move.b #0,$26(a1)
move.b #0,$27(a1)
move.b #0,$2D(a1)
@@ -89823,7 +89846,7 @@ loc_42666: ; ---------------------------------------------------------------------------
loc_426B0:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
beq.s loc_426F8
loc_426B6:
@@ -89915,7 +89938,7 @@ loc_427AC: move.b #$10,6(a0)
move.w #$280,8(a0)
move.w $14(a0),$46(a0)
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_427DC
move.b #1,$22(a0)
move.w #$4090,$A(a0)
@@ -89970,14 +89993,14 @@ Obj_LRZFallingSpike: move.l #loc_42898,(a0)
loc_42898:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),d0
sub.w $10(a1),d0
bpl.s loc_428A8
neg.w d0
loc_428A8:
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
move.w $10(a0),d1
sub.w $10(a2),d1
bpl.s loc_428B8
@@ -89991,7 +90014,7 @@ loc_428B8: loc_428BE:
cmp.w $2E(a0),d0
bcc.s loc_428D0
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_428D0
move.l #loc_428D6,(a0)
@@ -90036,7 +90059,7 @@ Obj_LRZDoor: move.b #$28,6(a0)
move.w #$200,8(a0)
move.w $14(a0),$46(a0)
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_4296E
move.b #1,$22(a0)
move.w #$4090,$A(a0)
@@ -90048,7 +90071,7 @@ loc_4296E: loc_42974:
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d0.w)
beq.s loc_429BC
move.l #loc_42994,(a0)
@@ -90110,7 +90133,7 @@ loc_42A62: move.l #loc_42A68,(a0)
loc_42A68:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $14(a1),d0
sub.w $14(a0),d0
addi.w #-$40,d0
@@ -90253,7 +90276,7 @@ Obj_LRZButtonHorizontal: move.b #$10,7(a0)
move.b #$10,6(a0)
move.w #$280,8(a0)
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_42D10
move.l #Map_LRZButtonHorizontal2,$C(a0)
move.w #$240D,$A(a0)
@@ -90274,7 +90297,7 @@ loc_42D2C: move.b #0,$22(a0)
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
lea (a3,d0.w),a3
moveq #0,d3
@@ -90376,10 +90399,10 @@ loc_42E84: loc_42E90:
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
lea (a3,d0.w),a3
moveq #0,d3
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
loc_42EA2:
bclr #0,$29(a0)
@@ -90387,7 +90410,7 @@ loc_42EA2: bsr.s sub_42EC0
loc_42EAC:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #1,$29(a0)
beq.s loc_42EBA
bsr.s sub_42EC0
@@ -90463,11 +90486,11 @@ loc_42F72: loc_42F78:
moveq #0,d5
lea $2E(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.w sub_4301C
addq.w #1,a2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w sub_4301C
move.l $30(a0),d0
@@ -90698,13 +90721,13 @@ loc_43222: move.b d6,d0
andi.b #4,d0
beq.s loc_43234
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (sub_24280).l
loc_43234:
andi.b #8,d6
beq.s loc_43244
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (sub_24280).l
loc_43244:
@@ -90726,7 +90749,7 @@ Obj_LRZSwingingSpikeBall: move.w $10(a0),$44(a0)
move.w $14(a0),$46(a0)
move.b #-$66,$28(a0)
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_4354E
move.l #Map_LRZSwingingSpikeBall2,$C(a0)
move.w #-$5BF3,$A(a0)
@@ -90843,7 +90866,7 @@ Obj_LRZLavaFall: move.l #loc_436A8,(a0)
loc_436A8:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #$FF,d0
cmp.w $30(a0),d0
bcs.w loc_43746
@@ -90944,7 +90967,7 @@ loc_437FE: move.b #-$71,$28(a0)
loc_43830:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $14(a1),d0
sub.w $46(a0),d0
addi.w #$40,d0
@@ -90953,7 +90976,7 @@ loc_43830: move.w $10(a1),d0
sub.w $44(a0),d0
bcc.s loc_4385C
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_4385C
move.b #1,$30(a0)
@@ -91104,7 +91127,7 @@ loc_439DE: sub_439EC:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #3,d0
bne.s locret_43A6A
@@ -91604,7 +91627,7 @@ loc_44176: move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
btst #0,(a3,d0.w)
beq.s loc_441D6
move.l #loc_441D2,(a0)
@@ -91623,7 +91646,7 @@ loc_441A6: move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
tst.b (a3,d0.w)
bpl.s loc_441D6
move.l #loc_441D2,(a0)
@@ -91742,12 +91765,12 @@ loc_442D8: loc_442F2:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d1
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d1
bsr.s sub_44338
addq.w #1,a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF66A).w,d1
+ lea (Player_2).w,a1
+ move.w (Ctrl_2_logical).w,d1
bsr.s sub_44338
move.b ($FFFFFE05).w,d0
lsr.b #1,d0
@@ -91772,7 +91795,7 @@ sub_44338: tst.b (a2)
beq.w loc_44434
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_4436E
cmpi.b #4,5(a1)
bcc.w loc_4436E
@@ -91872,7 +91895,7 @@ loc_44448: loc_4448E:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_44508
cmpi.b #4,5(a1)
bcc.w locret_44508
@@ -92062,12 +92085,12 @@ Obj_LevelIntro_PlayerRun: move.l #loc_44A26,(a0)
loc_44A26:
- move.b #1,($FFFFF7CA).w
+ move.b #1,(Ctrl_1_locked).w
move.w #$800,d0
- move.w d0,($FFFFF602).w
- move.b #1,($FFFFF676).w
- move.w $30(a0),($FFFFF678).w
- move.w $32(a0),($FFFFF67C).w
+ move.w d0,(Ctrl_1_logical).w
+ move.b #1,(Scroll_force_positions).w
+ move.w $30(a0),(Scroll_forced_X_pos).w
+ move.w $32(a0),(Scroll_forced_Y_pos).w
move.w ($FFFFB010).w,d0
addi.w #$10,d0
cmp.w $30(a0),d0
@@ -92076,8 +92099,8 @@ loc_44A26: ; ---------------------------------------------------------------------------
loc_44A56:
- move.b #0,($FFFFF7CA).w
- move.b #0,($FFFFF7CB).w
+ move.b #0,(Ctrl_1_locked).w
+ move.b #0,(Ctrl_2_locked).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -92266,10 +92289,10 @@ loc_44C96: ; ---------------------------------------------------------------------------
loc_44C9C:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #3,d0
bne.s loc_44CAA
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
loc_44CAA:
moveq #$18,d1
@@ -92363,7 +92386,7 @@ loc_44D98: move.w (sp)+,d0
btst #3,d0
beq.s loc_44DCE
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1)
beq.s loc_44DCE
tst.b $40(a1)
@@ -92374,7 +92397,7 @@ loc_44DCE: btst #4,d0
beq.s loc_44DEC
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
btst #1,$2A(a1)
beq.s loc_44DEC
tst.b $40(a1)
@@ -92394,10 +92417,10 @@ loc_44DFC: ; ---------------------------------------------------------------------------
loc_44E02:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #3,d0
bne.s loc_44E10
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
loc_44E10:
moveq #$38,d1
@@ -92507,7 +92530,7 @@ loc_44EF6: move.w (sp)+,d0
btst #3,d0
beq.s loc_44F2E
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1)
beq.s loc_44F2E
tst.b $40(a1)
@@ -92518,7 +92541,7 @@ loc_44F2E: btst #4,d0
beq.s loc_44F4C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
btst #1,$2A(a1)
beq.s loc_44F4C
tst.b $40(a1)
@@ -92542,7 +92565,7 @@ Obj_77_2: bset #7,$2A(a0)
move.w #$C0,$2E(a0)
lea loc_44FA2(pc),a1
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
beq.s loc_44F9E
lea loc_4501A(pc),a1
@@ -92565,17 +92588,17 @@ loc_44FBA: move.w d1,$2E(a0)
bne.s loc_45006
clr.b ($FFFFEED7).w
- clr.w ($FFFFEE14).w
- move.w #$19A0,($FFFFEE16).w
- move.w #-$100,($FFFFEE18).w
+ clr.w (Camera_min_X_pos).w
+ move.w #$19A0,(Camera_max_X_pos).w
+ move.w #-$100,(Camera_min_Y_pos).w
move.w #$1000,d0
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
- move.w #$140,($FFFFFE2E).w
- move.w #$C6C,($FFFFFE30).w
- move.b #1,($FFFFFE2A).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
+ move.w #$140,(Saved_X_pos).w
+ move.w #$C6C,(Saved_Y_pos).w
+ move.b #1,(Last_star_post_hit).w
jsr (Save_Level_Data).l
- clr.l ($FFFFFE34).w
+ clr.l (Saved_timer).w
moveq #0,d1
move.l #loc_4501A,(a0)
@@ -92713,11 +92736,11 @@ loc_45134: loc_45142:
move.b $2D(a0),$20(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $38(a0),a2
moveq #3,d6
bsr.s sub_45170
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $40(a0),a2
moveq #4,d6
bsr.s sub_45170
@@ -92956,19 +92979,19 @@ loc_4539E: jsr Gradual_SwingOffset(pc)
add.w $1A(a0),d0
move.w d0,$14(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $38(a0),a2
- move.w ($FFFFF602).w,d0
+ move.w (Ctrl_1_logical).w,d0
moveq #$14,d1
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_453CE
moveq #$11,d1
loc_453CE:
bsr.s sub_453E6
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $39(a0),a2
- move.w ($FFFFF66A).w,d0
+ move.w (Ctrl_2_logical).w,d0
moveq #$11,d1
bsr.s sub_453E6
jmp (Sprite_OnScreen_Test).l
@@ -93000,7 +93023,7 @@ loc_45400: bne.w locret_45526
cmpi.b #4,5(a1)
bcc.w locret_45526
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_45526
moveq #$4A,d0
jsr (Play_Sound_2).l
@@ -93103,9 +93126,9 @@ loc_4556A: loc_45574:
- cmpi.w #$1701,($FFFFFE10).w
+ cmpi.w #$1701,(Current_zone_and_act).w
beq.s loc_455AC
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
bne.s loc_455BA
jsr (Create_New_Sprite3).l
bne.s loc_45596
@@ -93114,7 +93137,7 @@ loc_45574: loc_45596:
move.w #$52E,$A(a0)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_455B2
move.b #$4A,$2C(a0)
bra.s loc_455B2
@@ -93138,7 +93161,7 @@ loc_455BA: loc_455CC:
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
bne.s loc_455F8
tst.b 4(a0)
bpl.s loc_455EE
@@ -93187,7 +93210,7 @@ loc_45640: bpl.w loc_456EE
tst.w $1A(a0)
beq.s loc_45660
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #3,d0
bne.w loc_456EE
subq.w #1,$1A(a0)
@@ -93198,7 +93221,7 @@ loc_45660: btst #3,$2A(a0)
beq.w loc_456EE
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
move.w $10(a2),d0
sub.w $10(a0),d0
addi.w #$C,d0
@@ -93208,7 +93231,7 @@ loc_45660: bne.w loc_456EE
cmpi.b #4,5(a2)
bcc.w loc_456EE
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_456EE
jsr (Create_New_Sprite3).l
bne.s loc_456EE
@@ -93241,7 +93264,7 @@ loc_456EE: loc_456F4:
jsr sub_45856(pc)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
movea.w $3C(a0),a2
cmpi.b #8,$46(a2)
blt.w loc_457B8
@@ -93268,7 +93291,7 @@ loc_4573E: loc_45744:
move.l #loc_457BE,(a0)
move.b $2C(a0),d0
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
beq.s loc_4575A
andi.w #$3F,d0
@@ -93278,23 +93301,23 @@ loc_4575A: moveq #0,d0
move.b d0,$20(a1)
move.b d0,$22(a1)
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
bne.s loc_4577E
- move.w #$AA0,($FFFFEE14).w
+ move.w #$AA0,(Camera_min_X_pos).w
bra.s loc_45790
; ---------------------------------------------------------------------------
loc_4577E:
- move.w #-$100,($FFFFEE18).w
+ move.w #-$100,(Camera_min_Y_pos).w
move.w #$1000,d0
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
loc_45790:
clr.b ($FFFFEED7).w
moveq #$73,d0
jsr (Play_Sound_2).l
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
bra.s loc_457B8
; ---------------------------------------------------------------------------
@@ -93311,7 +93334,7 @@ loc_457B8: loc_457BE:
jsr sub_45856(pc)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b $2D(a0)
bne.s loc_45804
move.b #1,$2E(a1)
@@ -93321,7 +93344,7 @@ loc_457BE: clr.l $2E(a0)
clr.l $32(a0)
clr.b $36(a0)
- clr.b ($FFFFEE0A).w
+ clr.b (Scroll_lock).w
movea.w $3C(a0),a1
st 5(a1)
move.l #loc_4581C,(a0)
@@ -93332,7 +93355,7 @@ loc_45804: subi.w #$10,$14(a1)
subq.b #1,$2D(a0)
beq.s loc_45816
- subi.w #$10,($FFFFEE7C).w
+ subi.w #$10,(Camera_Y_pos).w
loc_45816:
jmp (Draw_Sprite).l
@@ -93340,7 +93363,7 @@ loc_45816: loc_4581C:
jsr sub_45856(pc)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.l #$20000,d0
move.l #$800,d1
jsr Gradual_SwingOffset(pc)
@@ -93395,7 +93418,7 @@ loc_45884: loc_4588E:
move.w d0,$3A(a0)
lea word_4670C(pc),a1
- cmpi.b #$A,($FFFFFE10).w
+ cmpi.b #$A,(Current_zone).w
bne.s loc_458A6
move.l (a1,d0.w),($FFFFFC58).w
bra.s locret_458B2
@@ -93425,14 +93448,14 @@ Obj_TeleporterBeam: move.w $14(a0),$44(a0)
subi.w #$88,$44(a0)
move.b #$10,$47(a0) ; Wait 16 frames
- cmpi.b #3,($FFFFFE10).w
+ cmpi.b #3,(Current_zone).w
bne.s loc_45908
move.w #$24EE,$A(a0) ; If in CNZ, use this VRAM offset
bra.s Obj_TeleporterBeamSpawn
; ---------------------------------------------------------------------------
loc_45908:
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
bne.s Obj_TeleporterBeamSpawn
move.w #$652E,$A(a0) ; If in HPZ, use this VRAM offset
@@ -93516,10 +93539,10 @@ Obj_TeleporterBeamExpand: beq.w locret_45A64
move.w $44(a0),d0
move.w d0,d1
- sub.w ($FFFFEE7C).w,d1
+ sub.w (Camera_Y_pos).w,d1
cmpi.w #$68,d1
ble.s loc_459D6
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$68,d0 ; Ensure that object base Y is always centered or above the screen
loc_459D6:
@@ -93536,9 +93559,9 @@ loc_459EE: addq.w #6,d2
lsl.w #3,d3
lea word_46734(pc),a1 ; Use if in SSZ or HPZ
- cmpi.b #$A,($FFFFFE10).w
+ cmpi.b #$A,(Current_zone).w
beq.s loc_45A0A
- cmpi.b #$16,($FFFFFE10).w
+ cmpi.b #$16,(Current_zone).w
beq.s loc_45A0A
lea word_467FC(pc),a1 ; Use if anywhere else
@@ -93598,8 +93621,8 @@ loc_45A72: loc_45A84:
tst.w $2E(a0)
bne.s loc_45AB0
- move.w ($FFFFEE7C).w,d0
- cmp.w ($FFFFEE1A).w,d0
+ move.w (Camera_Y_pos).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
bne.s loc_45AD0
jsr (Create_New_Sprite).l
bne.s loc_45AAE
@@ -93699,15 +93722,15 @@ loc_45B8A: ; ---------------------------------------------------------------------------
loc_45B94:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_45BC8
- cmpi.w #$240,($FFFFEE7C).w
+ cmpi.w #$240,(Camera_Y_pos).w
bcc.s locret_45BF2
cmpi.w #$B00,($FFFFB010).w
bcs.s locret_45BF2
moveq #-$1F,d0
jsr (Play_Sound).l
- st ($FFFFEF56).w
+ st (SRAM_mask_interrupts_flag).w
jsr (SaveGame).l
move.w #$A01,d0
jmp (StartNewLevel).l
@@ -93733,27 +93756,27 @@ locret_45BF2: loc_45BF4:
move.w #$1600,d0
- cmp.w ($FFFFEE78).w,d0
+ cmp.w (Camera_X_pos).w,d0
bcs.s loc_45C0C
- cmp.w ($FFFFEE16).w,d0
+ cmp.w (Camera_max_X_pos).w,d0
beq.s loc_45C0C
- move.w d0,($FFFFEE16).w
- clr.w ($FFFFEE18).w
+ move.w d0,(Camera_max_X_pos).w
+ clr.w (Camera_min_Y_pos).w
loc_45C0C:
- lea ($FFFFB000).w,a1
- lea ($FFFFF602).w,a2
- lea ($FFFFF7CA).w,a3
+ lea (Player_1).w,a1
+ lea (Ctrl_1_logical).w,a2
+ lea (Ctrl_1_locked).w,a3
lea $30(a0),a4
lea 1(a4),a5
moveq #0,d6
bsr.s sub_45C8E
- tst.w ($FFFFFF08).w
+ tst.w (Player_mode).w
bne.s loc_45C42
- lea ($FFFFB04A).w,a1
- lea ($FFFFF66A).w,a2
- lea ($FFFFF7CB).w,a3
+ lea (Player_2).w,a1
+ lea (Ctrl_2_logical).w,a2
+ lea (Ctrl_2_locked).w,a3
lea $31(a0),a4
lea -1(a4),a5
moveq #1,d6
@@ -93782,10 +93805,10 @@ loc_45C72: tst.b 5(a0)
beq.s locret_45C8C
- subq.w #1,($FFFFEE78).w
+ subq.w #1,(Camera_X_pos).w
btst #0,5(a0)
beq.s loc_45C88
- subq.w #1,($FFFFEE7C).w
+ subq.w #1,(Camera_Y_pos).w
loc_45C88:
subq.b #1,5(a0)
@@ -93836,7 +93859,7 @@ loc_45CDE: loc_45CE4:
subq.b #1,d0
bne.s loc_45D0C
- tst.w ($FFFFFF08).w
+ tst.w (Player_mode).w
bne.s loc_45CF6
tst.b 2(a5)
beq.w locret_45DAC
@@ -93844,7 +93867,7 @@ loc_45CE4: loc_45CF6:
move.w #$13C,$2C(a0)
move.b #$48,5(a0)
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
addq.b #1,(a4)
bra.w locret_45DAC
; ---------------------------------------------------------------------------
@@ -93886,7 +93909,7 @@ loc_45D2E: loc_45D6E:
move.b #$3C,2(a4)
- tst.w ($FFFFFF08).w
+ tst.w (Player_mode).w
bne.s loc_45D80
move.b #$78,2(a4)
@@ -93905,7 +93928,7 @@ loc_45D8A: bne.s locret_45DAC
moveq #-$1F,d0
jsr (Play_Sound).l
- st ($FFFFEF56).w
+ st (SRAM_mask_interrupts_flag).w
jsr (SaveGame).l
move.w #$A00,d0
jmp (StartNewLevel).l
@@ -93939,7 +93962,7 @@ loc_45DFE: move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bls.s loc_45E2E
move.w $32(a0),d0
@@ -93965,13 +93988,13 @@ loc_45E2E: moveq #$21,d3
move.w $10(a0),d4
jsr (SolidObjectTop).l
- lea ($FFFFB000).w,a1
- lea ($FFFFF602).w,a2
+ lea (Player_1).w,a1
+ lea (Ctrl_1_logical).w,a2
lea $2E(a0),a3
moveq #3,d6
bsr.s sub_45E6E
- lea ($FFFFB04A).w,a1
- lea ($FFFFF66A).w,a2
+ lea (Player_2).w,a1
+ lea (Ctrl_2_logical).w,a2
lea $30(a0),a3
moveq #4,d6
bsr.s sub_45E6E
@@ -94072,14 +94095,14 @@ loc_45F3A: moveq #$11,d3
move.w $10(a0),d4
jsr (SolidObjectTop).l
- lea ($FFFFB000).w,a1
- lea ($FFFFF602).w,a2
+ lea (Player_1).w,a1
+ lea (Ctrl_1_logical).w,a2
lea $2E(a0),a3
lea $34(a0),a4
moveq #3,d6
bsr.s loc_45F74
- lea ($FFFFB04A).w,a1
- lea ($FFFFF66A).w,a2
+ lea (Player_2).w,a1
+ lea (Ctrl_2_logical).w,a2
lea $34(a0),a3
lea $2E(a0),a4
moveq #4,d6
@@ -94254,7 +94277,7 @@ loc_46142: move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bls.s loc_46172
move.w $38(a0),d0
@@ -94405,15 +94428,15 @@ loc_462C2: jsr (SolidObjectFull).l
swap d6
move.w d6,-(sp)
- lea ($FFFFB000).w,a1
- lea ($FFFFF602).w,a2
+ lea (Player_1).w,a1
+ lea (Ctrl_1_logical).w,a2
lea $30(a0),a3
moveq #3,d5
bsr.s sub_46324
move.w (sp)+,d6
lsr.w #1,d6
- lea ($FFFFB04A).w,a1
- lea ($FFFFF66A).w,a2
+ lea (Player_2).w,a1
+ lea (Ctrl_2_logical).w,a2
lea $32(a0),a3
moveq #4,d5
bsr.s sub_46324
@@ -94539,9 +94562,9 @@ loc_46452: exg d3,d4
loc_46482:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr sub_46514(pc)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr sub_46514(pc)
move.b $22(a0),d1
tst.w d0
@@ -94586,12 +94609,12 @@ loc_464DA: move.w $12(a0),$10(a0)
swap d6
move.w d6,-(sp)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $2E(a0),a2
bsr.s sub_46536
move.w (sp)+,d6
lsr.w #1,d6
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $30(a0),a2
bsr.s sub_46536
jmp (Sprite_OnScreen_Test).l
@@ -95023,7 +95046,7 @@ loc_46F28: add.l d0,$3A(a0)
move.l $3A(a0),d0
add.l d0,$14(a0)
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$110,d0
cmp.w $14(a0),d0
bgt.s loc_46F54
@@ -95067,12 +95090,12 @@ loc_46FC2: loc_46FCE:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d0
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d0
bsr.w sub_4703E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.w #1,a2
- move.w ($FFFFF66A).w,d0
+ move.w (Ctrl_2_logical).w,d0
bsr.w sub_4703E
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
@@ -95191,7 +95214,7 @@ loc_47104: bmi.s locret_4717C
cmpi.b #4,5(a1)
bcc.s locret_4717C
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_4717C
clr.w $18(a1)
clr.w $1A(a1)
@@ -95362,7 +95385,7 @@ loc_47440: jsr (SolidObjectTop).l
move.w $44(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
loc_47464:
cmpi.w #$280,d0
@@ -95495,7 +95518,7 @@ loc_47592: bne.s loc_475B6
btst #3,$2A(a0)
beq.s loc_4760E
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_4760E
move.b #1,$31(a0)
moveq #-$5D,d0
@@ -95755,9 +95778,9 @@ loc_4783C: move.l #loc_47842,(a0)
loc_47842:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_47854
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_47854
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -95938,10 +95961,10 @@ loc_47A58: sub_47A88:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_47A96
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
; End of function sub_47A88
@@ -95958,7 +95981,7 @@ sub_47A96: neg.w d0
loc_47AA6:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_47AAE
neg.w d0
@@ -96077,7 +96100,7 @@ loc_47BB2: loc_47BBA:
jsr (MoveSprite).l
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$120,d0
cmp.w $14(a0),d0
bgt.s loc_47BD8
@@ -96131,7 +96154,7 @@ sub_47DDE: andi.b #3,d1
addq.b #2,d1
lsl.w #5,d1
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
add.w $30(a0),d0
and.w $32(a0),d0
rts
@@ -96159,7 +96182,7 @@ loc_47E5C: loc_47E62:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
add.w $30(a0),d0
and.w $32(a0),d0
beq.s loc_47E76
@@ -96178,10 +96201,10 @@ loc_47E8C: subq.w #1,$34(a0)
bne.s loc_47EAA
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_47EE8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.s sub_47EE8
move.l #loc_47E62,(a0)
@@ -96245,7 +96268,7 @@ loc_47F26: loc_47F2C:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
add.w $30(a0),d0
and.w $32(a0),d0
beq.s loc_47F40
@@ -96267,10 +96290,10 @@ loc_47F56: move.l #loc_47F2C,(a0)
loc_47F62:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.s sub_47F9C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.s sub_47F9C
move.b ($FFFFFE05).w,d0
@@ -96405,7 +96428,7 @@ loc_48140: move.b 7(a0),d1
moveq #9,d3
move.w $10(a0),d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
loc_48156:
@@ -96417,7 +96440,7 @@ loc_48156: loc_4816E:
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
jsr (sub_1E2BC).l
btst #4,$2A(a0)
@@ -96474,12 +96497,12 @@ loc_48270: lea $30(a0),a4
loc_48274:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_48370
loc_4827C:
lea $38(a0),a4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_48370
tst.w $2E(a0)
beq.w loc_48316
@@ -96640,10 +96663,10 @@ loc_484E2: move.l #loc_484E8,(a0)
loc_484E8:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $30(a0),a4
bsr.s sub_48518
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $38(a0),a4
bsr.s sub_48518
movea.w $2E(a0),a1
@@ -96935,6 +96958,7 @@ loc_48780: swap d0
divs.w d1,d0
+
loc_4879E:
move.w d0,$18(a1)
move.w d3,$1A(a1)
@@ -97088,11 +97112,11 @@ loc_48AD6: loc_48B16:
add.w d0,$14(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w d6,d2
move.w #$14,d3
bsr.s sub_48B40
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w d6,d2
move.w #$28,d3
bsr.s sub_48B40
@@ -97135,7 +97159,7 @@ loc_48B7E: subq.w #1,$30(a0)
bpl.s loc_48B96
move.w #$13,$30(a0)
- eori.b #1,($FFFFF7C6).w
+ eori.b #1,(Reverse_gravity_flag).w
move.l #loc_48B9C,(a0)
loc_48B96:
@@ -97177,10 +97201,10 @@ Map_DEZGravitySwitch:include "Levels\DEZ\Misc Object Data\Map - Gravity Switch.a Obj_59_2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $30(a0),a4
bsr.s sub_48C30
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $3A(a0),a4
bsr.s sub_48C30
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -97205,7 +97229,7 @@ off_48C3C: dc.w loc_48C44-off_48C3C ; ---------------------------------------------------------------------------
loc_48C44:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_48D2A
move.w $10(a1),d0
sub.w $10(a0),d0
@@ -97254,7 +97278,7 @@ loc_48CB0: move.b $45(a1),$1F(a1)
sub.b $44(a1),d0
ext.w d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_48D0C
neg.w d0
@@ -97311,7 +97335,7 @@ loc_48D78: move.b RawAni_48DB2(pc,d0.w),$22(a1)
andi.b #-4,4(a1)
move.b byte_48DBE(pc,d0.w),d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_48D9C
ori.b #2,d0
@@ -97338,12 +97362,12 @@ loc_48DCA: move.b $2C(a0),d0
rol.b #1,d0
andi.b #1,d0
- cmp.b ($FFFFF7C6).w,d0
+ cmp.b (Reverse_gravity_flag).w,d0
bne.s loc_48DF2
move.b #1,1(a4)
loc_48DF2:
- move.b d0,($FFFFF7C6).w
+ move.b d0,(Reverse_gravity_flag).w
loc_48DF6:
@@ -97466,11 +97490,11 @@ loc_48EEC: move.w $30(a0),d4
move.w d4,d5
add.w d5,d5
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea ($FFFFF7B0).w,a2
moveq #3,d6
bsr.s sub_48F12
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea ($FFFFF7B1).w,a2
addq.b #1,d6
bsr.s sub_48F12
@@ -97497,7 +97521,7 @@ sub_48F12: bcc.w locret_48F8E
cmpi.b #6,5(a1)
bcc.s locret_48F8E
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_48F8E
move.w d1,-(sp)
jsr (RideObject_SetRide).l
@@ -97545,7 +97569,7 @@ loc_48FBA: move.b #0,$30(a1)
move.b #4,$31(a1)
bset #1,$2A(a1)
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s locret_48FF4
move.b $27(a1),d0
addi.b #$40,d0
@@ -97590,7 +97614,7 @@ loc_49022: move.w #1,$20(a1)
loc_4904A:
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_49056
eori.b #2,4(a1)
@@ -97612,11 +97636,11 @@ loc_4906A: move.w $30(a0),d4
move.w d4,d5
add.w d5,d5
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea ($FFFFF7B0).w,a2
moveq #3,d6
bsr.s sub_49090
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea ($FFFFF7B1).w,a2
addq.b #1,d6
bsr.s sub_49090
@@ -97641,7 +97665,7 @@ sub_49090: bcc.w locret_49140
cmpi.b #6,5(a1)
bcc.w locret_49140
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_49140
tst.b $2E(a1)
bmi.s locret_49140
@@ -97738,7 +97762,7 @@ RawAni_491DA: dc.b $6D, $6D, $6E, $6E, $6F, $6F, $70, $70, $71, $71, $72, $72, Obj_5B_2:
move.w #$20,$30(a0)
move.w $10(a0),d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmp.w $10(a1),d1
bcc.s loc_4920E
move.b #1,$32(a0)
@@ -97749,7 +97773,7 @@ loc_4920E: loc_49214:
move.w $10(a0),d1
lea $32(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_49228
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -97772,12 +97796,12 @@ sub_49228: blt.s locret_4926E
cmp.w d3,d4
bge.s locret_4926E
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_4926E
- move.b #0,($FFFFF7C6).w
+ move.b #0,(Reverse_gravity_flag).w
btst #0,4(a0)
bne.s locret_4926E
- move.b #1,($FFFFF7C6).w
+ move.b #1,(Reverse_gravity_flag).w
locret_4926E:
@@ -97798,12 +97822,12 @@ loc_49270: blt.s locret_4926E
cmp.w d3,d4
bge.s locret_4926E
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_4926E
- move.b #0,($FFFFF7C6).w
+ move.b #0,(Reverse_gravity_flag).w
btst #0,4(a0)
beq.s locret_4926E
- move.b #1,($FFFFF7C6).w
+ move.b #1,(Reverse_gravity_flag).w
rts
; End of function sub_49228
@@ -97811,12 +97835,12 @@ loc_49270: Obj_5C_2:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d1
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d1
bsr.s sub_492D4
lea $32(a0),a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF66A).w,d1
+ lea (Player_2).w,a1
+ move.w (Ctrl_2_logical).w,d1
bsr.s sub_492D4
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -97841,7 +97865,7 @@ sub_492D4: bne.s locret_49346
cmpi.b #6,5(a1)
bcc.s locret_49346
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_49346
bset #1,$2A(a1)
move.w #0,$18(a1)
@@ -98023,9 +98047,9 @@ loc_494FC: asr.w #3,d1
add.w $44(a0),d1
move.w d1,$10(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_4952A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_4952A
move.w $44(a0),d0
jmp (Sprite_OnScreen_Test2).l
@@ -98097,17 +98121,17 @@ Map_DEZHoverMachine:include "Levels\DEZ\Misc Object Data\Map - Hover Machine.asm Obj_5F_2:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d4
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d4
bsr.s sub_4964A
lea $31(a0),a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF66A).w,d4
+ lea (Player_2).w,a1
+ move.w (Ctrl_2_logical).w,d4
bsr.s sub_4964A
move.w $10(a0),d0
addi.w #$400,d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$680,d0
bhi.w loc_49638
rts
@@ -98138,7 +98162,7 @@ sub_4964A: addi.w #$140,d0
cmpi.w #$280,d0
bcc.s locret_496A6
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_496A6
move.b #1,$27(a1)
move.b #0,$20(a1)
@@ -98156,7 +98180,7 @@ locret_496A6: ; ---------------------------------------------------------------------------
loc_496A8:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_496BC
move.w $10(a1),d0
sub.w $10(a0),d0
@@ -98288,14 +98312,14 @@ loc_497C2: move.w d6,d0
andi.w #1,d0
beq.s loc_497F0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #5,d5
bsr.s sub_49848
loc_497F0:
andi.w #2,d6
beq.s loc_497FE
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #6,d5
bsr.s sub_49848
@@ -98319,14 +98343,14 @@ loc_49804: move.w d6,d0
andi.w #1,d0
beq.s loc_49834
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #5,d5
bsr.s sub_49848
loc_49834:
andi.w #2,d6
beq.s loc_49842
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #6,d5
bsr.s sub_49848
@@ -98463,7 +98487,7 @@ loc_499AC: move.w d6,d0
andi.w #1,d0
beq.s loc_499EC
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_49A0E
moveq #5,d5
bsr.s sub_49A02
@@ -98472,7 +98496,7 @@ loc_499EC: andi.w #2,d6
beq.s loc_499FC
bsr.s sub_49A0E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #6,d5
bsr.s sub_49A02
@@ -98577,14 +98601,14 @@ loc_49ADA: move.w d6,d0
andi.w #1,d0
beq.s loc_49B08
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #5,d5
bsr.s sub_49B76
loc_49B08:
andi.w #2,d6
beq.s loc_49B16
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #6,d5
bsr.s sub_49B76
@@ -98597,7 +98621,7 @@ loc_49B22: move.w $14(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFEF64).w,d0
+ sub.w (Camera_Y_pos_coarse_back).w,d0
cmpi.w #$200,d0
bhi.w loc_49B3C
jmp (Draw_Sprite).l
@@ -98616,7 +98640,7 @@ loc_49B48: loc_49B4E:
move.w $14(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFEF64).w,d0
+ sub.w (Camera_Y_pos_coarse_back).w,d0
cmpi.w #$200,d0
bhi.w loc_49B64
rts
@@ -98696,24 +98720,24 @@ loc_49C8A: move.w $10(a0),d4
jsr (SolidObjectTopSloped2).l
lea $36(a0),a3
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d5
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d5
moveq #3,d6
bsr.s sub_49CFE
lea $37(a0),a3
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF66A).w,d5
+ lea (Player_2).w,a1
+ move.w (Ctrl_2_logical).w,d5
moveq #4,d6
bsr.s sub_49CFE
tst.b $38(a0)
beq.s loc_49CEC
clr.b $38(a0)
lea $36(a0),a3
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
bsr.w sub_49D72
lea $37(a0),a3
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
bsr.w sub_49D72
move.b #1,$20(a0)
@@ -98728,7 +98752,7 @@ loc_49CEC: sub_49CFE:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_49D48
move.b (a3),d0
bne.s loc_49D3C
@@ -98943,7 +98967,7 @@ loc_49FAA: loc_49FAE:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $14(a1),d0
sub.w $14(a0),d0
addi.w #$180,d0
@@ -98958,7 +98982,7 @@ loc_49FAE: loc_49FD6:
bsr.s sub_49FE4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s sub_49FE4
jmp (Draw_Sprite).l
@@ -98981,7 +99005,7 @@ loc_49FFC: addi.w #$C,d0
cmpi.w #$18,d0
bcc.s locret_4A078
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_4A078
move.w $14(a0),$14(a1)
tst.b $2E(a1)
@@ -98998,16 +99022,16 @@ loc_4A024: move.b #1,$2C(a0)
subq.b #1,$24(a0)
bcc.s locret_4A078
- move.w ($FFFFFE2C).w,($FFFFFE10).w
- move.w ($FFFFFF9A).w,($FFFFEE4E).w
- move.b ($FFFFFE2B).w,($FFFFFE2A).w
- move.b #0,($FFFFFE48).w
- move.b #1,($FFFFFE02).w
- move.w ($FFFFFE20).w,($FFFFFE32).w
- move.b ($FFFFFE1B).w,($FFFFFE43).w
+ move.w (Saved_zone_and_act).w,(Current_zone_and_act).w
+ move.w (Saved_apparent_zone_and_act).w,(Apparent_zone_and_act).w
+ move.b (Saved_last_star_post_hit).w,(Last_star_post_hit).w
+ move.b #0,(Special_bonus_entry_flag).w
+ move.b #1,(Restart_level_flag).w
+ move.w (Ring_count).w,(Saved_ring_count).w
+ move.b (Extra_life_flags).w,(Saved_extra_life_flags).w
move.b ($FFFFB02B).w,d0
andi.b #$71,d0
- move.b d0,($FFFFFE47).w
+ move.b d0,(Saved_status_secondary).w
locret_4A078:
@@ -99033,6 +99057,7 @@ Obj_PachinkoInvisibleUnknown: move.b #-$78,7(a0)
move.b #8,6(a0)
move.w #$80,8(a0)
+
move.l #loc_4A0C6,(a0)
loc_4A0C6:
@@ -99121,7 +99146,7 @@ loc_4A238: move.b $14(a0),d1
andi.w #$F,d1
lsl.w #2,d1
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #3,d0
add.w d1,d0
lea (byte_1E4484).l,a1
@@ -99172,7 +99197,7 @@ loc_4A31A: move.w $14(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFEF64).w,d0
+ sub.w (Camera_Y_pos_coarse_back).w,d0
cmpi.w #$200,d0
bhi.w loc_4A33A
jsr (Add_SpriteToCollisionResponseList).l
@@ -99204,13 +99229,13 @@ loc_4A354: sub_4A362:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #0,$29(a0)
beq.s loc_4A370
bsr.s sub_4A384
loc_4A370:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #1,$29(a0)
beq.s loc_4A37E
bsr.s sub_4A384
@@ -99253,7 +99278,7 @@ loc_4A3B6: andi.w #$F,d0
lea (byte_1E44C4).l,a1
move.b (a1,d0.w),d0
- add.w d0,($FFFFFE32).w
+ add.w d0,(Saved_ring_count).w
jmp (AddRings).l
; End of function sub_4A384
@@ -99273,12 +99298,12 @@ Obj_EC_1: loc_4A408:
lea $30(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d1
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d1
bsr.s sub_4A428
addq.w #1,a2
- lea ($FFFFB04A).w,a1
- move.w ($FFFFF66A).w,d1
+ lea (Player_2).w,a1
+ move.w (Ctrl_2_logical).w,d1
bsr.s sub_4A428
jmp (loc_49B4E).l
@@ -99289,7 +99314,7 @@ sub_4A428: tst.b (a2)
beq.w loc_4A53A
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_4A4F0
cmpi.b #4,5(a1)
bcc.w loc_4A4F0
@@ -99395,7 +99420,7 @@ loc_4A54E: addi.w #$38,d2
cmpi.w #$70,d2
bcc.w locret_4A5DE
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w locret_4A5DE
cmpi.b #4,5(a1)
bcc.w locret_4A5DE
@@ -99577,13 +99602,13 @@ loc_4A74A: move.b d6,d0
andi.b #4,d0
beq.s loc_4A788
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (sub_24280).l
loc_4A788:
andi.b #8,d6
beq.s loc_4A798
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (sub_24280).l
loc_4A798:
@@ -99837,7 +99862,7 @@ loc_4AAC8: move.l #loc_4ACC6,(a0)
loc_4AAD8:
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
andi.w #$70,d0
beq.w loc_4AB6A
moveq #$62,d0
@@ -100058,7 +100083,7 @@ loc_4AD32: loc_4AD36:
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_4AD4C
jmp (Draw_Sprite).l
@@ -100264,12 +100289,12 @@ loc_4AF24: loc_4AF2E:
movea.w $46(a0),a3
lea $38(a0),a2
- lea ($FFFFB000).w,a1
- move.w ($FFFFF602).w,d0
+ lea (Player_1).w,a1
+ move.w (Ctrl_1_logical).w,d0
bsr.s sub_4AF80
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.w #1,a2
- move.w ($FFFFF66A).w,d0
+ move.w (Ctrl_2_logical).w,d0
bsr.s sub_4AF80
move.b #$21,$22(a0)
cmpi.w #3,$2E(a3)
@@ -100297,7 +100322,7 @@ sub_4AF80: bpl.w loc_4B03C
cmpi.b #4,5(a1)
bcc.w loc_4B03C
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.w loc_4B03C
cmpi.w #2,$2E(a3)
bne.w loc_4B04A
@@ -100450,7 +100475,7 @@ loc_4B13E: bne.s locret_4B1CE
cmpi.b #4,5(a1)
bcc.s locret_4B1CE
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_4B1CE
clr.w $18(a1)
clr.w $1A(a1)
@@ -100487,7 +100512,7 @@ Ending_4B356: bsr.w sub_4B4C4
bsr.w sub_4B592
lea ($FFFF7800).l,a1
- move.b ($FFFFE400).w,d0
+ move.b (Stat_table).w,d0
andi.b #-4,d0
jsr (GetSineCosine).l
move.w d0,d4
@@ -100495,13 +100520,13 @@ Ending_4B356: muls.w #$18,d4
muls.w #$18,d5
moveq #0,d2
- move.w ($FFFFEE78).w,d2
+ move.w (Camera_X_pos).w,d2
divu.w #$18,d2
swap d2
neg.w d2
addi.w #-$B4,d2
moveq #0,d3
- move.w ($FFFFEE7C).w,d3
+ move.w (Camera_Y_pos).w,d3
divu.w #$18,d3
swap d3
neg.w d3
@@ -100538,18 +100563,18 @@ loc_4B3C8: dbf d7,loc_4B3A6
lea ($FFFF3000).l,a0
moveq #0,d0
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
divu.w #$18,d0
mulu.w #$80,d0
adda.l d0,a0
moveq #0,d0
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
divu.w #$18,d0
adda.w d0,a0
lea ($FFFF7800).l,a4
- lea ($FFFFF800).w,a2
+ lea (Sprite_table_buffer).w,a2
moveq #0,d5
- move.b ($FFFFF62C).w,d5
+ move.b (Sprites_drawn).w,d5
move.w d5,d0
lsl.w #3,d0
adda.w d0,a2
@@ -100598,7 +100623,7 @@ loc_4B47C: dbf d7,loc_4B424
loc_4B48A:
- move.b d5,($FFFFF62C).w
+ move.b d5,(Sprites_drawn).w
rts
; End of function Ending_4B356
@@ -100644,7 +100669,7 @@ locret_4B4C2: sub_4B4C4:
lea ($FFFF700C).l,a1
moveq #0,d0
- move.b ($FFFFE400).w,d0
+ move.b (Stat_table).w,d0
lsr.b #2,d0
andi.w #$F,d0
moveq #2,d1
@@ -100678,7 +100703,7 @@ loc_4B514: loc_4B526:
move.b ($FFFFFEB1).w,$48(a1)
- move.b ($FFFFFEB3).w,$40(a1)
+ move.b (Rings_frame).w,$40(a1)
subq.b #1,($FFFFFEB4).w
bpl.s loc_4B548
move.b #3,($FFFFFEB4).w
@@ -100691,16 +100716,16 @@ loc_4B548: ; End of function sub_4B4C4
; ---------------------------------------------------------------------------
- subq.b #1,($FFFFFEB6).w
+ subq.b #1,(Ring_spill_anim_counter).w
bpl.s loc_4B566
- move.b #4,($FFFFFEB6).w
+ move.b #4,(Ring_spill_anim_counter).w
loc_4B55C:
- addq.b #1,($FFFFFEB7).w
- andi.b #3,($FFFFFEB7).w
+ addq.b #1,(Ring_spill_anim_frame).w
+ andi.b #3,(Ring_spill_anim_frame).w
loc_4B566:
- move.b ($FFFFFEB7).w,d0
+ move.b (Ring_spill_anim_frame).w,d0
move.b d0,$168(a1)
move.b d0,$170(a1)
move.b d0,$178(a1)
@@ -100996,8 +101021,8 @@ Map_SB_ColoredWall: include "Levels\Slots\Misc Object Data\Map - Colored Wall.as ; ---------------------------------------------------------------------------
Obj_Sonic_RotatingSlotBonus:
- move.w ($FFFFF604).w,($FFFFF602).w
- tst.w ($FFFFFE08).w
+ move.w (Ctrl_1).w,(Ctrl_1_logical).w
+ tst.w (Debug_placement_mode).w
beq.s loc_4B96E
jsr (DebugMode).l
bra.w sub_4BBF4
@@ -101012,7 +101037,7 @@ loc_4B96E: loc_4B97C:
move.b #2,$20(a0)
bsr.s sub_4B99E
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #0,d0
move.b $22(a1),d0
jsr (Tails_Carry_LoadPLC).l
@@ -101052,7 +101077,7 @@ loc_4B9CE: addq.b #2,5(a0)
move.b #$E,$1E(a0)
move.b #7,$1F(a0)
- move.w ($FFFFFF08).w,d0
+ move.w (Player_mode).w,d0
subq.w #1,d0
bcc.s loc_4B9E8
moveq #0,d0
@@ -101067,27 +101092,27 @@ loc_4B9E8: move.b #2,$20(a0)
bset #2,$2A(a0)
bset #1,$2A(a0)
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_4BA32
move.w #$6A0,$A(a0)
- move.l #Obj_Tails_Tail,($FFFFCC0A).w
+ move.l #Obj_Tails_Tail,(Tails_tails).w
move.w a0,($FFFFCC3A).w
loc_4BA32:
- clr.w ($FFFFE400).w
+ clr.w (Stat_table).w
move.w #$40,($FFFFE402).w
- move.w ($FFFFFE32).w,($FFFFFE20).w
- move.b ($FFFFFE43).w,($FFFFFE1B).w
- move.b #1,($FFFFFE1D).w
+ move.w (Saved_ring_count).w,(Ring_count).w
+ move.b (Saved_extra_life_flags).w,(Extra_life_flags).w
+ move.b #1,(Update_HUD_ring_count).w
loc_4BA4E:
- tst.w ($FFFFFFDA).w
+ tst.w (Debug_mode_flag).w
loc_4BA52:
beq.s loc_4BA62
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s loc_4BA62
- move.w #1,($FFFFFE08).w
+ move.w #1,(Debug_placement_mode).w
loc_4BA62:
@@ -101104,8 +101129,8 @@ loc_4BA62: loc_4BA80:
move.w ($FFFFE402).w,d0
asl.w #4,d0
- add.w ($FFFFE400).w,d0
- move.w d0,($FFFFE400).w
+ add.w (Stat_table).w,d0
+ move.w d0,(Stat_table).w
rts
; ---------------------------------------------------------------------------
off_4BA90: dc.w loc_4BA94-off_4BA90
@@ -101122,26 +101147,26 @@ loc_4BA98: bsr.w sub_4BDCA
bsr.w sub_4BE3A
jsr (MoveSprite2).l
- move.w ($FFFFE400).w,d0
+ move.w (Stat_table).w,d0
add.w ($FFFFE402).w,d0
- move.w d0,($FFFFE400).w
+ move.w d0,(Stat_table).w
rts
; =============== S U B R O U T I N E =======================================
sub_4BABC:
- btst #2,($FFFFF602).w
+ btst #2,(Ctrl_1_logical).w
beq.s loc_4BAC8
bsr.w sub_4BB54
loc_4BAC8:
- btst #3,($FFFFF602).w
+ btst #3,(Ctrl_1_logical).w
beq.s loc_4BAD4
bsr.w sub_4BB84
loc_4BAD4:
- move.b ($FFFFF602).w,d0
+ move.b (Ctrl_1_logical).w,d0
andi.b #$C,d0
bne.s loc_4BB04
move.w $1C(a0),d0
@@ -101166,7 +101191,7 @@ loc_4BB00: loc_4BB04:
- move.b ($FFFFE400).w,d0
+ move.b (Stat_table).w,d0
addi.b #$20,d0
andi.b #-$40,d0
neg.b d0
@@ -101258,10 +101283,10 @@ locret_4BBB0: sub_4BBB2:
- move.b ($FFFFF603).w,d0
+ move.b (Ctrl_1_pressed_logical).w,d0
andi.b #$70,d0
beq.s locret_4BBF2
- move.b ($FFFFE400).w,d0
+ move.b (Stat_table).w,d0
andi.b #-4,d0
neg.b d0
subi.b #$40,d0
@@ -101288,18 +101313,18 @@ sub_4BBF4: move.w $14(a0),d2
move.w $10(a0),d3
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
subi.w #$A0,d3
bcs.s loc_4BC0C
sub.w d3,d0
- sub.w d0,($FFFFEE78).w
+ sub.w d0,(Camera_X_pos).w
loc_4BC0C:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$70,d2
bcs.s locret_4BC1C
sub.w d2,d0
- sub.w d0,($FFFFEE7C).w
+ sub.w d0,(Camera_Y_pos).w
locret_4BC1C:
rts
@@ -101311,16 +101336,16 @@ loc_4BC1E: addi.w #$40,($FFFFE402).w
cmpi.w #$1800,($FFFFE402).w
bne.s loc_4BC46
- move.w #$3F,($FFFFF626).w
+ move.w #$3F,(Palette_fade_info).w
clr.w ($FFFFF794).w
move.l #loc_4BC54,(a0)
move.w #$3C,$38(a0)
st ($FFFFF650).w
loc_4BC46:
- move.w ($FFFFE400).w,d0
+ move.w (Stat_table).w,d0
add.w ($FFFFE402).w,d0
- move.w d0,($FFFFE400).w
+ move.w d0,(Stat_table).w
rts
; ---------------------------------------------------------------------------
@@ -101334,18 +101359,18 @@ loc_4BC54: loc_4BC6A:
addi.w #$40,($FFFFE402).w
- move.w ($FFFFE400).w,d0
+ move.w (Stat_table).w,d0
add.w ($FFFFE402).w,d0
- move.w d0,($FFFFE400).w
+ move.w d0,(Stat_table).w
subq.w #1,$38(a0)
bne.s loc_4BCAC
- move.w ($FFFFFE2C).w,($FFFFFE10).w
- move.w ($FFFFFF9A).w,($FFFFEE4E).w
- move.b ($FFFFFE2B).w,($FFFFFE2A).w
- move.b #0,($FFFFFE48).w
- move.b #1,($FFFFFE02).w
- move.w ($FFFFFE20).w,($FFFFFE32).w
- move.b ($FFFFFE1B).w,($FFFFFE43).w
+ move.w (Saved_zone_and_act).w,(Current_zone_and_act).w
+ move.w (Saved_apparent_zone_and_act).w,(Apparent_zone_and_act).w
+ move.b (Saved_last_star_post_hit).w,(Last_star_post_hit).w
+ move.b #0,(Special_bonus_entry_flag).w
+ move.b #1,(Restart_level_flag).w
+ move.w (Ring_count).w,(Saved_ring_count).w
+ move.b (Extra_life_flags).w,(Saved_extra_life_flags).w
loc_4BCAC:
bra.w loc_4B97C
@@ -101356,7 +101381,7 @@ loc_4BCAC: sub_4BCB0:
move.l $14(a0),d2
move.l $10(a0),d3
- move.b ($FFFFE400).w,d0
+ move.b (Stat_table).w,d0
andi.b #-4,d0
jsr (GetSineCosine).l
move.w $18(a0),d4
@@ -101519,11 +101544,11 @@ loc_4BDFC: loc_4BE10:
jsr (GiveRing).l
- cmpi.w #$32,($FFFFFE20).w
+ cmpi.w #$32,(Ring_count).w
bcs.s loc_4BE32
- bset #0,($FFFFFE1B).w
+ bset #0,(Extra_life_flags).w
bne.s loc_4BE32
- addq.b #1,($FFFFFE18).w
+ addq.b #1,(Continue_count).w
moveq #-$54,d0
jsr (Play_Sound).l
@@ -101674,10 +101699,10 @@ loc_4BF62: move.l #loc_4BF9A,(a0)
loc_4BF9A:
- move.b ($FFFFE400).w,d0
+ move.b (Stat_table).w,d0
andi.b #-4,d0
jsr (GetSineCosine).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #$460,d2
sub.w $10(a1),d2
move.w d2,d4
@@ -101699,7 +101724,7 @@ loc_4BF9A: move.w d2,($FFFFEED2).w
move.w d3,($FFFFEED4).w
lea $34(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_4C014
subq.b #1,$24(a0)
bpl.s locret_4C012
@@ -101887,10 +101912,10 @@ loc_4C23E: ; ---------------------------------------------------------------------------
loc_4C250:
- move.b ($FFFFE400).w,d0
+ move.b (Stat_table).w,d0
andi.w #$3C,d0
bne.s locret_4C290
- move.b ($FFFFE400).w,d0
+ move.b (Stat_table).w,d0
andi.b #-4,d0
jsr (GetSineCosine).l
asl.w #2,d0
@@ -101949,10 +101974,10 @@ loc_4C374: jsr (Play_Sound_2).l
loc_4C3CA:
- tst.w ($FFFFFE20).w
+ tst.w (Ring_count).w
beq.s loc_4C3DA
- subq.w #1,($FFFFFE20).w
- ori.b #-$7F,($FFFFFE1D).w
+ subq.w #1,(Ring_count).w
+ ori.b #-$7F,(Update_HUD_ring_count).w
loc_4C3DA:
jmp (Delete_Current_Sprite).l
@@ -102572,8 +102597,8 @@ byte_4C8DC: dc.b 0, 1, 2, 5, 4, 6, 3, 5 sub_4C8E4:
- clr.w ($FFFFFF0E).w
- lea ($FFFFFF10).w,a1
+ clr.w (Kos_decomp_queue_count).w
+ lea (Kos_decomp_stored_registers).w,a1
moveq #0,d0
move.w #$1A,d1
@@ -102582,7 +102607,7 @@ loc_4C8F2: dbf d1,loc_4C8F2
jsr (Clear_Nem_Queue).l
move #$2700,sr
- lea ($C00004).l,a6
+ lea (VDP_control_port).l,a6
move.w #-$7FFC,(a6)
move.w #-$7DD0,(a6)
move.w #-$7BF9,(a6)
@@ -102590,18 +102615,18 @@ loc_4C8F2: move.w #-$6E00,(a6)
move.w #-$74FD,(a6)
move.w #-$78E0,(a6)
- clr.b ($FFFFF64E).w
- clr.b ($FFFFF730).w
+ clr.b (Water_full_screen_flag).w
+ clr.b (Water_flag).w
move.w #-$737F,(a6)
jsr (Clear_DisplayData).l
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_4C940:
move.l d0,(a1)+
dbf d1,loc_4C940
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #0,d0
move.w #$7FF,d1
@@ -102609,16 +102634,16 @@ loc_4C950: move.l d0,(a1)+
dbf d1,loc_4C950
jsr (Init_SpriteTable).l
- lea ($FFFFFC00).w,a1
+ lea (Normal_palette).w,a1
moveq #0,d0
move.w #$3F,d1
loc_4C966:
move.l d0,(a1)+
dbf d1,loc_4C966
- clr.w ($FFFFFE10).w
- clr.w ($FFFFFB00).w
- move.l #-$500,($FFFFFBFC).w
+ clr.w (Current_zone_and_act).w
+ clr.w (DMA_queue).w
+ move.l #-$500,(DMA_queue_slot).w
rts
; End of function sub_4C8E4
@@ -102630,15 +102655,15 @@ BlueSpheresTitle: jsr (Pal_FadeToBlack).l
bsr.w sub_4C8E4
bsr.w sub_4CCA6
- lea ($FFFFFC80).w,a2
+ lea (Target_palette).w,a2
bsr.w sub_4CB1A
- move.l #$77E00002,($C00004).l
+ move.l #$77E00002,(VDP_control_port).l
lea (ArtNem_BlueSphereText).l,a0
jsr (Nem_Decomp).l
- move.l #$72E00000,($C00004).l
+ move.l #$72E00000,(VDP_control_port).l
lea (ArtNem_BlueSphereSKLogo).l,a0
jsr (Nem_Decomp).l
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
lea (ArtKos_BlueSphereChar).l,a0
jsr (Kos_Decomp).l
lea (ArtKos_BlueSphereCharSprite).l,a0
@@ -102655,20 +102680,20 @@ BlueSpheresTitle: move.w #-$5640,d2
move.w #$6D0,d3
jsr (Add_To_DMA_Queue).l
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
lea (MapEni_BlueSphereTitleFG).l,a0
move.w #$2000,d0
jsr (Eni_Decomp).l
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.l #$43800003,d0
moveq #$27,d1
moveq #$F,d2
jsr (Plane_Map_To_VRAM).l
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
lea (MapEni_BlueSphereTitleBG).l,a0
move.w #$4197,d0
jsr (Eni_Decomp).l
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.l #$609C0003,d0
moveq #$B,d1
moveq #7,d2
@@ -102677,8 +102702,8 @@ BlueSpheresTitle: tst.b ($FFFFFFA1).w
bne.s loc_4CA8C
lea aNoWayNoWayNoWa(pc),a1 ; "NO WAY! NO WAY! NO WAY! NO WAY"...
- move.w #1,($FFFFFF0A).w
- move.l #$FFF0FFF8,($FFFFF616).w
+ move.w #1,(Player_option).w
+ move.l #$FFF0FFF8,(V_scroll_value).w
loc_4CA8C:
move.w #$100,d2
@@ -102686,30 +102711,30 @@ loc_4CA8C: jsr (sub_5B318).l
tst.b ($FFFFFFA0).w
bne.s loc_4CAA8
- move.l #$FFF0FFF8,($FFFFF616).w
+ move.l #$FFF0FFF8,(V_scroll_value).w
loc_4CAA8:
- move.l #Obj_SpheresTitle_4CEAA,($FFFFB000).w
- move.l #Obj_SpheresTitle_4DA30,($FFFFB04A).w
- move.l #Obj_SpheresTitle_4D986,($FFFFB094).w
+ move.l #Obj_SpheresTitle_4CEAA,(Player_1).w
+ move.l #Obj_SpheresTitle_4DA30,(Player_2).w
+ move.l #Obj_SpheresTitle_4D986,(Reserved_object_3).w
jsr (Process_Sprites).l
jsr (Render_Sprites).l
moveq #$28,d0
jsr (Play_Sound).l
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Pal_FadeFromBlack).l
loc_4CAE8:
- move.b #$1A,($FFFFF62A).w
+ move.b #$1A,(V_int_routine).w
jsr (Process_Kos_Queue).l
jsr (Wait_VSync).l
bsr.w sub_4CC96
jsr (Process_Sprites).l
jsr (Render_Sprites).l
jsr (Process_Kos_Module_Queue).l
- cmpi.b #$2C,($FFFFF600).w
+ cmpi.b #$2C,(Game_mode).w
beq.s loc_4CAE8
rts
@@ -102748,7 +102773,7 @@ aGetBlueSpheres:dc.b "GET BLUE SPHERES ! ",0 sub_4CC96:
- lea ($FFFFE000).w,a1
+ lea (H_scroll_buffer).w,a1
moveq #$3F,d1
loc_4CC9C:
@@ -102918,7 +102943,7 @@ loc_4CD6A: loc_4CDE6:
lsl.l #1,d6
or.b d1,d6
- move.b ($FFFFFF9F).w,d1
+ move.b (Blue_spheres_header_flag).w,d1
andi.b #1,d1
lsl.l #1,d6
or.b d1,d6
@@ -102999,7 +103024,7 @@ Obj_SpheresTitle_4CEAA: loc_4CEB6:
tst.b (Vectors).w
bne.s locret_4CEC6
- move.b ($FFFFF604).w,d0
+ move.b (Ctrl_1).w,d0
cmpi.b #$70,d0
beq.s loc_4CEC8
@@ -103008,7 +103033,7 @@ locret_4CEC6: ; ---------------------------------------------------------------------------
loc_4CEC8:
- clr.b ($FFFFF605).w
+ clr.b (Ctrl_1_pressed).w
moveq #-1,d0
move.w d0,($FFFFE438).w
move.w d0,($FFFFE442).w
@@ -103058,15 +103083,15 @@ locret_4CF80: loc_4CF82:
tst.b ($FFFFFFA0).w
beq.w loc_4D008
- tst.w ($FFFFF616).w
+ tst.w (V_scroll_value).w
beq.s loc_4CFB2
- addq.w #1,($FFFFF616).w
+ addq.w #1,(V_scroll_value).w
btst #0,($FFFFF617).w
bne.s loc_4CFA0
- addq.w #1,($FFFFF618).w
+ addq.w #1,(V_scroll_value_BG).w
loc_4CFA0:
- lea ($FFFFB094).w,a1
+ lea (Reserved_object_3).w,a1
moveq #3,d1
loc_4CFA6:
@@ -103077,7 +103102,7 @@ loc_4CFA6: loc_4CFB2:
tst.b ($FFFFFFA1).w
bmi.s loc_4D000
- move.b ($FFFFF605).w,d1
+ move.b (Ctrl_1_pressed).w,d1
btst #0,d1
beq.s loc_4CFD4
tst.b ($FFFFFFAA).w
@@ -103098,7 +103123,7 @@ loc_4CFD4: cmpi.b #2,($FFFFFFAA).w
bne.s loc_4D000
ori.b #-$80,($FFFFFFA1).w
- clr.b ($FFFFF605).w
+ clr.b (Ctrl_1_pressed).w
loc_4D000:
@@ -103106,16 +103131,16 @@ loc_4D000: bne.s locret_4D03C
loc_4D008:
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
cmpi.b #-$80,d0
bne.s locret_4D03C
- move.b #0,($FFFFFE48).w
+ move.b #0,(Special_bonus_entry_flag).w
move.b #1,($FFFFFFD4).w
- move.w ($FFFFFF0A).w,($FFFFFF08).w
- move.b #3,($FFFFFE12).w
- move.b #0,($FFFFFFBB).w
- move.b #0,($FFFFFE16).w
- move.b #$34,($FFFFF600).w
+ move.w (Player_option).w,(Player_mode).w
+ move.b #3,(Life_count).w
+ move.b #0,(SK_special_stage_flag).w
+ move.b #0,(Current_special_stage).w
+ move.b #$34,(Game_mode).w
locret_4D03C:
@@ -103494,7 +103519,7 @@ loc_4D362: ; ---------------------------------------------------------------------------
loc_4D36A:
- lea ($FFFFE400).w,a2
+ lea (Stat_table).w,a2
move.l ($FFFFFFA6).w,(a2)
tst.b ($FFFFFFAB).w
beq.s loc_4D37E
@@ -103535,7 +103560,7 @@ loc_4D3CE: ; ---------------------------------------------------------------------------
loc_4D3DC:
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
cmpi.b #-$80,d0
bne.s loc_4D3EA
bsr.w sub_4D488
@@ -103547,7 +103572,7 @@ loc_4D3EA: mulu.w #$4A,d0
adda.w d0,a1
move.w #-$7AB2,$A(a1)
- move.b ($FFFFF605).w,d1
+ move.b (Ctrl_1_pressed).w,d1
btst #0,d1
beq.s loc_4D414
subq.b #1,$22(a1)
@@ -103594,7 +103619,7 @@ loc_4D456: move.w #-$7A9E,$A(a1)
loc_4D470:
- move.b ($FFFFF605).w,d1
+ move.b (Ctrl_1_pressed).w,d1
andi.b #$F,d1
beq.s loc_4D482
moveq #-$77,d0
@@ -103627,8 +103652,8 @@ sub_4D488: loc_4D4C2:
andi.l #$7FFFFFF,d1
- move.l d1,($FFFFE400).w
- lea ($FFFFE400).w,a2
+ move.l d1,(Stat_table).w
+ lea (Stat_table).w,a2
moveq #1,d6
bsr.w sub_4D5A0
andi.w #$7FF,d4
@@ -103689,7 +103714,7 @@ loc_4D4FC: divu.w #$7D,d2
swap d2
move.b d2,(a2)+
- lea ($FFFFFC00).w,a2
+ lea (Normal_palette).w,a2
bsr.w sub_4CB1A
moveq #$63,d0
jsr (Play_Sound_2).l
@@ -103797,7 +103822,7 @@ Obj_SpheresTitle_4D64E: move.l #Map_BlueSpheresIcon,$C(a0)
move.w #-$1A68,$A(a0)
- cmpi.w #3,($FFFFFF0A).w
+ cmpi.w #3,(Player_option).w
bne.s loc_4D66A
move.w #-$7A68,$A(a0)
@@ -103906,15 +103931,15 @@ loc_4D75E: andi.b #7,$22(a0)
loc_4D774:
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.b #$70,d0
beq.s loc_4D7A0
move.w $A(a0),d0
- move.w #3,($FFFFFF0A).w
+ move.w #3,(Player_option).w
move.w #-$7A68,$A(a0)
cmpi.w #-$7A68,d0
bne.s loc_4D7A0
- move.w #1,($FFFFFF0A).w
+ move.w #1,(Player_option).w
move.w #-$1A68,$A(a0)
loc_4D7A0:
@@ -104008,13 +104033,13 @@ loc_4DA80: jsr (Play_Sound).l
bsr.w sub_4C8E4
lea (Pal_SphereResults_012).l,a1
- lea ($FFFFFC80).w,a2
+ lea (Target_palette).w,a2
moveq #$3F,d0
loc_4DA96:
move.w (a1)+,(a2)+
dbf d0,loc_4DA96
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
loc_4DAA2:
lea (ArtKos_SSResultsGeneral).l,a0
@@ -104033,26 +104058,26 @@ loc_4DAA2: move.w #-$5640,d2
move.w #$6D0,d3
jsr (Add_To_DMA_Queue).l
- move.l #$77E00002,($C00004).l
+ move.l #$77E00002,(VDP_control_port).l
lea (ArtNem_BlueSphereText).l,a0
loc_4DB04:
jsr (Nem_Decomp).l
- move.l #$72E00000,($C00004).l
+ move.l #$72E00000,(VDP_control_port).l
lea (ArtNem_BlueSphereSKLogo).l,a0
jsr (Nem_Decomp).l
lea aCongratulation(pc),a1 ; "CONGRATULATIONS!"
move.w #$30A,d2
move.w #-$7A41,d6
jsr (sub_5B318).l
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
lea (MapEni_BlueSphereTitleBG).l,a0
move.w #$6197,d0
jsr (Eni_Decomp).l
bsr.w sub_4DEA2
move.b #1,($FFFFFFAA).w
- move.l #Obj_SphereResults_4DEF8,($FFFFB000).w
- move.l #Obj_SphereResults_4DF86,($FFFFB04A).w
+ move.l #Obj_SphereResults_4DEF8,(Player_1).w
+ move.l #Obj_SphereResults_4DF86,(Player_2).w
move.l #Obj_SpheresTitle_4D03E,($FFFFB1BC).w
move.w #$90,($FFFFB1D0).w
move.l #Obj_Sphere_Results_4E012,($FFFFB862).w
@@ -104060,19 +104085,19 @@ loc_4DB04: jsr (Render_Sprites).l
moveq #$29,d0
jsr (Play_Sound).l
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Pal_FromBlackWhite).l
loc_4DB9E:
- move.b #$1A,($FFFFF62A).w
+ move.b #$1A,(V_int_routine).w
jsr (Process_Kos_Queue).l
jsr (Wait_VSync).l
jsr (Process_Sprites).l
jsr (Render_Sprites).l
jsr (Process_Kos_Module_Queue).l
- cmpi.b #$30,($FFFFF600).w
+ cmpi.b #$30,(Game_mode).w
beq.s loc_4DB9E
tst.w ($FFFFE442).w
beq.s loc_4DC1A
@@ -104118,39 +104143,39 @@ loc_4DC36: move.l d0,(a1)+
dbf d1,loc_4DC36
lea (Pal_SonicTails).l,a1
- lea ($FFFFFC80).w,a2
+ lea (Target_palette).w,a2
moveq #7,d6
loc_4DC48:
move.l (a1)+,(a2)+
dbf d6,loc_4DC48
lea (Pal_Knuckles).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_4DC5A:
move.l (a1)+,(a2)+
dbf d6,loc_4DC5A
lea (Pal_SphereResults_3).l,a1
- lea ($FFFFFCC0).w,a2
+ lea (Target_palette_line_3).w,a2
moveq #7,d6
loc_4DC6C:
move.l (a1)+,(a2)+
dbf d6,loc_4DC6C
lea (Pal_EndingSKLogo).l,a1
- lea ($FFFFFCE0).w,a2
+ lea (Target_palette_line_4).w,a2
moveq #7,d6
loc_4DC7E:
move.l (a1)+,(a2)+
dbf d6,loc_4DC7E
- move.l #$40000000,($C00004).l
+ move.l #$40000000,(VDP_control_port).l
lea (ArtNem_BlueSphereSKLogo).l,a0
jsr (Nem_Decomp).l
lea PLC_SphereResults_4DDE8(pc),a1
jsr (Load_PLC_Immediate).l
- lea ($FFFF0000).l,a1
+ lea (RAM_start).l,a1
lea (ArtKos_SKPoseBanner).l,a0
jsr (Kos_Decomp).l
lea (ArtKos_ANDKnuckles).l,a0
@@ -104166,29 +104191,29 @@ loc_4DC7E: move.l #$FF0000,d1
move.w #$3000,d2
jsr (Add_To_DMA_Queue).l
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
lea (MapEni_BlueSphereTitleBG).l,a0
move.w #$4000,d0
jsr (Eni_Decomp).l
bsr.w sub_4DEA2
- move.l #Obj_SpheresTitle_4D03E,($FFFFB04A).w
+ move.l #Obj_SpheresTitle_4D03E,(Player_2).w
move.w #$C0,($FFFFB05E).w
move.l #Obj_SphereResults_4E0A4,($FFFFB3C2).w
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- clr.b ($FFFFFE19).w
+ clr.b (Super_Sonic_Knux_flag).w
clr.b ($FFFFF65F).w
- move.w #1,($FFFFFF08).w
+ move.w #1,(Player_mode).w
moveq #$2C,d0
jsr (Play_Sound).l
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
jsr (Pal_FadeFromBlack).l
loc_4DD5E:
- move.b #$1A,($FFFFF62A).w
+ move.b #$1A,(V_int_routine).w
jsr (Process_Kos_Queue).l
jsr (Wait_VSync).l
jsr (Process_Sprites).l
@@ -104198,7 +104223,7 @@ loc_4DD5E: move.b ($FFFFFFAC).w,d1
cmp.b ($FFFFFFAD).w,d1
bne.s loc_4DD5E
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
beq.s loc_4DD5E
tst.b ($FFFFFFAB).w
bmi.s locret_4DDE6
@@ -104259,7 +104284,7 @@ sub_4DEA2: moveq #$D,d5
loc_4DEA8:
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.w (a2)+,d0
swap d0
move.w #3,d0
@@ -104267,7 +104292,7 @@ loc_4DEA8: moveq #7,d2
jsr (Plane_Map_To_VRAM).l
dbf d5,loc_4DEA8
- move.w #$10,($FFFFF618).w
+ move.w #$10,(V_scroll_value_BG).w
lea ($FFFFE002).w,a1
move.w #$DF,d1
@@ -104320,9 +104345,9 @@ loc_4DF38: loc_4DF3E:
tst.w ($FFFFE442).w
beq.s locret_4DF50
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
beq.s locret_4DF50
- move.b #$2C,($FFFFF600).w
+ move.b #$2C,(Game_mode).w
locret_4DF50:
@@ -104336,11 +104361,11 @@ loc_4DF52: bmi.s loc_4DF64
loc_4DF5E:
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
beq.s loc_4DF6A
loc_4DF64:
- move.b #$2C,($FFFFF600).w
+ move.b #$2C,(Game_mode).w
loc_4DF6A:
move.b ($FFFFFE0F).w,d0
@@ -104367,12 +104392,12 @@ Obj_SphereResults_4DF86: move.b #$18,7(a0)
move.b #$18,6(a0)
move.b #$13,$20(a0)
- cmpi.w #1,($FFFFFF08).w
+ cmpi.w #1,(Player_mode).w
beq.s loc_4DFE8
move.l #Map_Knuckles,$C(a0)
move.b #$24,$20(a0)
lea (Pal_Knuckles).l,a1
- lea ($FFFFFC80).w,a2
+ lea (Target_palette).w,a2
moveq #7,d6
loc_4DFDA:
@@ -104428,13 +104453,13 @@ loc_4E05C: jsr (GetSineCosine).l
asl.w #4,d0
addi.w #$4000,d0
- move.w d0,($FFFFE400).w
+ move.w d0,(Stat_table).w
addq.b #1,$27(a0)
loc_4E074:
move.b $26(a0),d0
jsr (GetSineCosine).l
- move.w ($FFFFE400).w,d2
+ move.w (Stat_table).w,d2
muls.w d2,d1
muls.w d2,d0
swap d1
@@ -104513,6 +104538,7 @@ Difficulty_Level_Sprites_Display: move.l Difficulty_Sprites(pc,d1.w),(a1)
locret_4E178:
+
rts
; End of function Difficulty_Level_Sprites_Display
@@ -104558,7 +104584,7 @@ Obj_DifficultySonic: move.l #loc_4E202,(a0)
loc_4E202:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_4E222
move.l #Map_SuperSonic,$C(a0)
move.b #$1F,$20(a0)
@@ -104585,7 +104611,7 @@ loc_4E23A: Obj_Difficulty_4E24C:
move.b #1,($FFFFF65F).w
move.b #$F,($FFFFF65E).w
- move.b #1,($FFFFFE19).w
+ move.b #1,(Super_Sonic_Knux_flag).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -104638,72 +104664,72 @@ Map_BSResultsEmerald: include "General\Blue Sphere\Map - Results Emerald.asm" LevelSetup:
clr.b ($FFFFF664).w
bclr #7,($FFFFF74F).w
- clr.l ($FFFFEEA4).w
+ clr.l (Plane_double_update_flag).w
clr.w ($FFFFEEB2).w
clr.l ($FFFFEEBC).w
clr.l ($FFFFEEC0).w
clr.l ($FFFFEEC4).w
clr.w ($FFFFEECC).w
clr.l ($FFFFEECE).w
- clr.l ($FFFFEF74).w
+ clr.l (Plane_buffer_2_addr).w
clr.l ($FFFFEF66).w
clr.w ($FFFFEF6C).w
clr.w ($FFFFFAC0).w
clr.w ($FFFFEF70).w
- clr.w ($FFFFEE50).w
+ clr.w (Palette_fade_timer).w
clr.l ($FFFFEED2).w
clr.l ($FFFFEED6).w
clr.l ($FFFFEEDA).w
clr.l ($FFFFEEDE).w
- move.w #$FFF,($FFFFEEAA).w
- move.w #$FF0,($FFFFEEAC).w
- move.w #$7C,($FFFFEEAE).w
- move.w ($FFFFEE78).w,($FFFFEE80).w
- move.w ($FFFFEE7C).w,($FFFFEE84).w
- lea ($FFFFF100).w,a0
- lea ($FFFF9000).w,a2
- lea ($FFFF8008).w,a3
+ move.w #$FFF,(Screen_Y_wrap_value).w
+ move.w #$FF0,(Camera_Y_pos_mask).w
+ move.w #$7C,(Layout_row_index_mask).w
+ move.w (Camera_X_pos).w,(Camera_X_pos_copy).w
+ move.w (Camera_Y_pos).w,(Camera_Y_pos_copy).w
+ lea (Plane_buffer).w,a0
+ lea (Block_table).w,a2
+ lea (Level_layout_main).w,a3
move.w #-$4000,d7
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #2,d0
lsr.w #3,d0
movea.l Offs_ScreenInit(pc,d0.w),a1
jsr (a1)
addq.w #2,a3
move.w #-$2000,d7
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #2,d0
lsr.w #3,d0
movea.l Offs_BackgroundInit(pc,d0.w),a1
jsr (a1)
- move.w ($FFFFEE84).w,($FFFFF616).w
- move.w ($FFFFEE90).w,($FFFFF618).w
+ move.w (Camera_Y_pos_copy).w,(V_scroll_value).w
+ move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w
rts
; ---------------------------------------------------------------------------
ScreenEvents:
- move.w ($FFFFEE78).w,($FFFFEE80).w
- move.w ($FFFFEE7C).w,($FFFFEE84).w
+ move.w (Camera_X_pos).w,(Camera_X_pos_copy).w
+ move.w (Camera_Y_pos).w,(Camera_Y_pos_copy).w
jsr ShakeScreen_BG(pc)
- lea ($FFFFF100).w,a0
- lea ($FFFF9000).w,a2
- lea ($FFFF8008).w,a3
+ lea (Plane_buffer).w,a0
+ lea (Block_table).w,a2
+ lea (Level_layout_main).w,a3
move.w #$C000,d7
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #2,d0
lsr.w #3,d0
movea.l Offs_ScreenEvent(pc,d0.w),a1
jsr (a1)
addq.w #2,a3
move.w #-$2000,d7
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #2,d0
lsr.w #3,d0
movea.l Offs_BackgroundEvent(pc,d0.w),a1
jsr (a1)
- move.w ($FFFFEE84).w,($FFFFF616).w
- move.w ($FFFFEE90).w,($FFFFF618).w
+ move.w (Camera_Y_pos_copy).w,(V_scroll_value).w
+ move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w
rts
; ---------------------------------------------------------------------------
Offs_ScreenInit:dc.l AIZ1_ScreenInit
@@ -104903,10 +104929,10 @@ Offs_BackgroundEvent:dc.l AIZ1_BackgroundEvent ; 0 VInt_DrawLevel:
- lea ($C00000).l,a6
- lea ($FFFFF100).w,a0
+ lea (VDP_data_port).l,a6
+ lea (Plane_buffer).w,a0
bsr.s VInt_DrawLevel_2
- move.l ($FFFFEF74).w,d0
+ move.l (Plane_buffer_2_addr).w,d0
beq.s VInt_DrawLevel_Return
movea.l d0,a0
; End of function VInt_DrawLevel
@@ -104932,7 +104958,7 @@ VInt_DrawLevel_Col: andi.w #$7FFF,d1
VInt_DrawLevel_Draw:
- move.w d2,4(a6)
+ move.w d2,VDP_control_port-VDP_data_port(a6)
move.w d0,d2
move.w d1,d4
bsr.s VInt_VRAMWrite
@@ -104944,7 +104970,7 @@ VInt_DrawLevel_Draw: ; ---------------------------------------------------------------------------
VInt_DrawLevel_Done:
- move.w #$8F02,4(a6)
+ move.w #$8F02,VDP_control_port-VDP_data_port(a6)
VInt_DrawLevel_Return:
rts
@@ -104994,8 +105020,8 @@ loc_4E7D2: sub_4E7DA:
- lea ($C00000).l,a6
- lea ($FFFFF100).w,a0
+ lea (VDP_data_port).l,a6
+ lea (Plane_buffer).w,a0
loc_4E7E4:
move.w (a0),d0
@@ -105021,10 +105047,10 @@ locret_4E7FE: SpecialVInt_Function:
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
loc_4E806:
- move.w ($FFFFEEA6).w,d0
+ move.w (Special_V_int_routine).w,d0
jmp SpecialVInt_Array(pc,d0.w)
; End of function SpecialVInt_Function
@@ -105050,12 +105076,12 @@ SpecialVInt_Array: ; ---------------------------------------------------------------------------
SpecialVInt_VScrollOn:
- move.w #$8B07,4(a6) ; Command $8B07 - VScroll cell-based, HScroll line-based
- addq.w #4,($FFFFEEA6).w
+ move.w #$8B07,VDP_control_port-VDP_data_port(a6) ; Command $8B07 - VScroll cell-based, HScroll line-based
+ addq.w #4,(Special_V_int_routine).w
SpecialVInt_VScrollCopy:
lea ($FFFFEEEA).w,a0
- move.l #$40000010,4(a6)
+ move.l #$40000010,VDP_control_port-VDP_data_port(a6)
moveq #$13,d0
loc_4E846:
@@ -105065,13 +105091,13 @@ loc_4E846: ; ---------------------------------------------------------------------------
SpecialVInt_VScrollOff:
- move.w #$8B03,4(a6) ; Command $8B03 - VScroll full, HScroll line-based
- clr.w ($FFFFEEA6).w
+ move.w #$8B03,VDP_control_port-VDP_data_port(a6) ; Command $8B03 - VScroll full, HScroll line-based
+ clr.w (Special_V_int_routine).w
rts
; ---------------------------------------------------------------------------
SpecialVInt_LBZ2WindowCopy:
- lea ($FFFFF580).w,a0 ; Used specifically by the Death Egg platform at the end of LBZ2
+ lea (VRAM_buffer).w,a0 ; Used specifically by the Death Egg platform at the end of LBZ2
move.w ($FFFFEECA).w,d0
addi.w #$D,d0
andi.w #$1F,d0
@@ -105084,7 +105110,7 @@ SpecialVInt_LBZ2WindowCopy: move.w d2,d0
moveq #$18,d1
jsr SpecialVInt_VRAMRead(pc)
- lea ($FFFFF580).w,a0
+ lea (VRAM_buffer).w,a0
move.w ($FFFFEECA).w,d0
lsl.w #7,d0
addi.w #$8000,d0
@@ -105092,14 +105118,14 @@ SpecialVInt_LBZ2WindowCopy: jsr VInt_VRAMWrite(pc) ; Copies the pertinent data from scroll A to the window nametable
subq.w #1,($FFFFEECA).w ; Do this (EECA) number of times
bpl.s locret_4E8A2
- addq.w #4,($FFFFEEA6).w
+ addq.w #4,(Special_V_int_routine).w
locret_4E8A2:
rts
; ---------------------------------------------------------------------------
SpecialVInt_LBZ2ScrollAClear:
- move.l #$49000003,($C00004).l ; VRAM base $C900
+ move.l #$49000003,(VDP_control_port).l ; VRAM base $C900
moveq #0,d0
moveq #$5F,d1
@@ -105107,14 +105133,14 @@ loc_4E8B2: move.l d0,(a6) ; Clear 6 cell lines from VRAM A for when it scrolls upward
move.l d0,(a6)
dbf d1,loc_4E8B2
- move.w #$8320,4(a6) ; VRAM command $8320 - Window at base address $8000
- move.w #$9285,4(a6) ; VRAM command $9285 - Window starts 5 cells down from top
- clr.w ($FFFFEEA6).w
+ move.w #$8320,VDP_control_port-VDP_data_port(a6) ; VRAM command $8320 - Window at base address $8000
+ move.w #$9285,VDP_control_port-VDP_data_port(a6) ; VRAM command $9285 - Window starts 5 cells down from top
+ clr.w (Special_V_int_routine).w
rts
; ---------------------------------------------------------------------------
SpecialVInt_LBZ2ScrollAClear2:
- move.l #$46000003,($C00004).l ; VRAM base $C600
+ move.l #$46000003,(VDP_control_port).l ; VRAM base $C600
moveq #0,d0
moveq #$5F,d1
@@ -105122,12 +105148,12 @@ loc_4E8DA: move.l d0,(a6) ; Erase remainder of upper area of VRAM A
move.l d0,(a6)
dbf d1,loc_4E8DA
- addq.w #4,($FFFFEEA6).w
+ addq.w #4,(Special_V_int_routine).w
rts
; ---------------------------------------------------------------------------
SpecialVInt_LBZ2WindowClear:
- lea ($FFFFF580).w,a0
+ lea (VRAM_buffer).w,a0
move.w #$829C,d0
moveq #$18,d1
jsr SpecialVInt_VRAMRead(pc)
@@ -105136,11 +105162,11 @@ SpecialVInt_LBZ2WindowClear: jsr SpecialVInt_VRAMRead(pc) ; Copy from window data. Luckily, all 6 cell lines are identical so it only needs to be done once
loc_4E900:
- move.l #$49000003,($C00004).l ; VRAM position $C900
+ move.l #$49000003,(VDP_control_port).l ; VRAM position $C900
moveq #5,d0
loc_4E90C:
- lea ($FFFFF580).w,a0
+ lea (VRAM_buffer).w,a0
moveq #$F,d1
loc_4E912:
@@ -105148,8 +105174,8 @@ loc_4E912: move.l (a0)+,(a6) ; Write cell lines back to Scroll A
dbf d1,loc_4E912
dbf d0,loc_4E90C
- move.w #$9200,4(a6) ; VRAM command $9200 - Zero out window position
- clr.w ($FFFFEEA6).w
+ move.w #$9200,VDP_control_port-VDP_data_port(a6) ; VRAM command $9200 - Zero out window position
+ clr.w (Special_V_int_routine).w
rts
; =============== S U B R O U T I N E =======================================
@@ -105173,11 +105199,11 @@ Draw_TileColumn: loc_4E948:
andi.w #$30,d2
cmpi.w #$10,d2
- sne ($FFFFEEA4).w
+ sne (Plane_double_update_flag).w
movem.w d1/d6,-(sp)
bsr.s Setup_TileColumnDraw
movem.w (sp)+,d1/d6
- tst.b ($FFFFEEA4).w
+ tst.b (Plane_double_update_flag).w
beq.w locret_4EAB6
addi.w #$10,d0
bra.s Setup_TileColumnDraw
@@ -105206,11 +105232,11 @@ Draw_TileColumn2: loc_4E98C:
andi.w #$30,d2
cmpi.w #$10,d2
- sne ($FFFFEEA4).w
+ sne (Plane_double_update_flag).w
movem.w d1/d6,-(sp)
bsr.s Setup_TileColumnDraw
movem.w (sp)+,d1/d6
- tst.b ($FFFFEEA4).w
+ tst.b (Plane_double_update_flag).w
beq.w locret_4EAB6
addi.w #$10,d0
; End of function Draw_TileColumn2
@@ -105229,7 +105255,7 @@ Setup_TileColumnDraw: asr.w #4,d1
move.w d1,d4
asr.w #1,d1
- and.w ($FFFFEEAE).w,d1
+ and.w (Layout_row_index_mask).w,d1
andi.w #$F,d4
moveq #$10,d5
sub.w d4,d5
@@ -105332,7 +105358,7 @@ loc_4EA98: andi.w #$70,d2
bne.s loc_4EAAE
addq.w #4,d1
- and.w ($FFFFEEAE).w,d1
+ and.w (Layout_row_index_mask).w,d1
bsr.s Get_LevelChunkColumn
loc_4EAAE:
@@ -105374,7 +105400,7 @@ Get_LevelChunkColumn: Draw_TileRow:
move.w (a6),d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w (a5),d2
move.w d0,(a5)
move.w d2,d3
@@ -105385,23 +105411,23 @@ Draw_TileRow: neg.w d2
move.w d3,d0
addi.w #$F0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
loc_4EAFA:
andi.w #$30,d2
cmpi.w #$10,d2
loc_4EB02:
- sne ($FFFFEEA4).w
+ sne (Plane_double_update_flag).w
movem.w d1/d6,-(sp)
bsr.s Setup_TileRowDraw
loc_4EB0C:
movem.w (sp)+,d1/d6
- tst.b ($FFFFEEA4).w
+ tst.b (Plane_double_update_flag).w
beq.w locret_4EC46
addi.w #$10,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
bra.s Setup_TileRowDraw
; End of function Draw_TileRow
@@ -105412,7 +105438,7 @@ loc_4EB0C: Draw_TileRow2:
move.w (a6),d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w (a5),d2
move.w d0,(a5)
move.w d2,d3
@@ -105423,20 +105449,20 @@ Draw_TileRow2: neg.w d2
move.w d3,d0
addi.w #$F0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
swap d1
loc_4EB46:
andi.w #$30,d2
cmpi.w #$10,d2
- sne ($FFFFEEA4).w
+ sne (Plane_double_update_flag).w
movem.w d1/d6,-(sp)
bsr.s Setup_TileRowDraw
movem.w (sp)+,d1/d6
- tst.b ($FFFFEEA4).w
+ tst.b (Plane_double_update_flag).w
beq.w locret_4EC46
addi.w #$10,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
; End of function Draw_TileRow2
@@ -105567,7 +105593,7 @@ Get_LevelAddrChunkRow: move.w d0,d3
asr.w #5,d3
- and.w ($FFFFEEAE).w,d3
+ and.w (Layout_row_index_mask).w,d3
movea.w (a3,d3.w),a4
Get_ChunkRow:
@@ -105740,8 +105766,8 @@ Refresh_PlaneScreenDirect: moveq #$15,d6
Refresh_PlaneDirect2:
- move.w ($FFFFEE84).w,d0
- move.w ($FFFFEE80).w,d1
+ move.w (Camera_Y_pos_copy).w,d0
+ move.w (Camera_X_pos_copy).w,d1
; =============== S U B R O U T I N E =======================================
@@ -105768,14 +105794,14 @@ loc_4ED72: DrawTilesAsYouMove:
- lea ($FFFFEE80).w,a6
- lea ($FFFFEE88).w,a5
- move.w ($FFFFEE84).w,d1
+ lea (Camera_X_pos_copy).w,a6
+ lea (Camera_X_pos_rounded).w,a5
+ move.w (Camera_Y_pos_copy).w,d1
moveq #$F,d6
jsr Draw_TileColumn(pc)
- lea ($FFFFEE84).w,a6
- lea ($FFFFEE8A).w,a5
- move.w ($FFFFEE80).w,d1
+ lea (Camera_Y_pos_copy).w,a6
+ lea (Camera_Y_pos_rounded).w,a5
+ move.w (Camera_X_pos_copy).w,d1
moveq #$15,d6
jmp Draw_TileRow(pc)
; End of function DrawTilesAsYouMove
@@ -105786,14 +105812,14 @@ DrawTilesAsYouMove: DrawBGAsYouMove:
- lea ($FFFFEE8C).w,a6
- lea ($FFFFEE94).w,a5
- move.w ($FFFFEE90).w,d1
+ lea (Camera_X_pos_BG_copy).w,a6
+ lea (Camera_X_pos_BG_rounded).w,a5
+ move.w (Camera_Y_pos_BG_copy).w,d1
moveq #$F,d6
jsr Draw_TileColumn(pc)
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
- move.w ($FFFFEE8C).w,d1
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
+ move.w (Camera_X_pos_BG_copy).w,d1
moveq #$15,d6
jmp Draw_TileRow(pc)
; End of function DrawBGAsYouMove
@@ -105802,12 +105828,12 @@ DrawBGAsYouMove: loc_4EDD8:
movem.l d5/a4-a5,-(sp)
- lea ($FFFFEE84).w,a6
+ lea (Camera_Y_pos_copy).w,a6
jsr Get_DeformDrawPosVert(pc)
- lea ($FFFFEE8A).w,a5
+ lea (Camera_Y_pos_rounded).w,a5
jsr Draw_TileRow2(pc)
movem.l (sp)+,d5/a4/a6
- move.w ($FFFFEE8A).w,d6
+ move.w (Camera_Y_pos_rounded).w,d6
bra.s Draw_BGNoVert
; =============== S U B R O U T I N E =======================================
@@ -105816,21 +105842,22 @@ loc_4EDD8: Draw_BG:
movem.l d5/a4-a5,-(sp)
- lea ($FFFFEE90).w,a6
+ lea (Camera_Y_pos_BG_copy).w,a6
loc_4EDFE:
jsr Get_DeformDrawPosVert(pc)
loc_4EE02:
- lea ($FFFFEE96).w,a5
+
+ lea (Camera_Y_pos_BG_rounded).w,a5
loc_4EE06:
jsr Draw_TileRow2(pc)
movem.l (sp)+,d5/a4/a6
- move.w ($FFFFEE96).w,d6
- tst.w ($FFFFEE90).w
+ move.w (Camera_Y_pos_BG_rounded).w,d6
+ tst.w (Camera_Y_pos_BG_copy).w
bpl.s Draw_BGNoVert
- move.w ($FFFFEE90).w,d6
+ move.w (Camera_Y_pos_BG_copy).w,d6
andi.w #-$10,d6
Draw_BGNoVert:
@@ -105929,12 +105956,12 @@ loc_4EE98: DrawTilesVDeform:
movem.l d5/a4-a5,-(sp)
- lea ($FFFFEE80).w,a6
+ lea (Camera_X_pos_copy).w,a6
jsr Get_XDeformRange(pc)
- lea ($FFFFEE88).w,a5
+ lea (Camera_X_pos_rounded).w,a5
jsr Draw_TileColumn2(pc)
movem.l (sp)+,d5/a4/a6
- move.w ($FFFFEE88).w,d6
+ move.w (Camera_X_pos_rounded).w,d6
bra.s loc_4EED8
; =============== S U B R O U T I N E =======================================
@@ -105942,12 +105969,12 @@ DrawTilesVDeform: DrawTilesVDeform2:
movem.l d5/a4-a5,-(sp)
- lea ($FFFFEE8C).w,a6
+ lea (Camera_X_pos_BG_copy).w,a6
jsr Get_XDeformRange(pc)
- lea ($FFFFEE94).w,a5
+ lea (Camera_X_pos_BG_rounded).w,a5
jsr Draw_TileColumn2(pc)
movem.l (sp)+,d5/a4/a6
- move.w ($FFFFEE94).w,d6
+ move.w (Camera_X_pos_BG_rounded).w,d6
loc_4EED8:
move.w d6,d1
@@ -105956,7 +105983,7 @@ loc_4EEDA: sub.w (a4)+,d6
bcs.s loc_4EEEA
move.w (a6)+,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,(a6)+
subq.w #1,d5
bra.s loc_4EEDA
@@ -106004,7 +106031,7 @@ loc_4EF2C: subq.w #1,d5
beq.s locret_4EF3A
move.w (a6)+,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,(a6)+
bra.s loc_4EF2C
; ---------------------------------------------------------------------------
@@ -106061,10 +106088,10 @@ Draw_PlaneVertBottomUp: Draw_PlaneVertSingleBottomUp:
- and.w ($FFFFEEAC).w,d2
+ and.w (Camera_Y_pos_mask).w,d2
move.w d2,d3
addi.w #$F0,d3
- and.w ($FFFFEEAC).w,d3
+ and.w (Camera_Y_pos_mask).w,d3
move.w ($FFFFEEC8).w,d0
cmp.w d2,d0
bcs.s loc_4EF84
@@ -106086,10 +106113,10 @@ loc_4EF84: Draw_PlaneVertTopDown:
- and.w ($FFFFEEAC).w,d2
+ and.w (Camera_Y_pos_mask).w,d2
move.w d2,d3
addi.w #$F0,d3
- and.w ($FFFFEEAC).w,d3
+ and.w (Camera_Y_pos_mask).w,d3
move.w ($FFFFEEC8).w,d0
cmp.w d2,d0
bcs.s loc_4EFB0
@@ -106200,10 +106227,10 @@ Draw_PlaneVertBottomUpComplex: sub_4F03E:
- and.w ($FFFFEEAC).w,d1
+ and.w (Camera_Y_pos_mask).w,d1
move.w d1,d2
addi.w #$F0,d2
- and.w ($FFFFEEAC).w,d2
+ and.w (Camera_Y_pos_mask).w,d2
move.w ($FFFFEEC8).w,d0
cmp.w d1,d0
bcs.s loc_4F066
@@ -106231,11 +106258,11 @@ loc_4F066: PlainDeformation:
- lea ($FFFFE000).w,a1
- move.w ($FFFFEE80).w,d0
+ lea (H_scroll_buffer).w,a1
+ move.w (Camera_X_pos_copy).w,d0
neg.w d0
swap d0
- move.w ($FFFFEE8C).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d0
neg.w d0
moveq #$37,d1
@@ -106254,11 +106281,11 @@ loc_4F086: PlainDeformation_Flipped:
- lea ($FFFFE000).w,a1
- move.w ($FFFFEE8C).w,d0
+ lea (H_scroll_buffer).w,a1
+ move.w (Camera_X_pos_BG_copy).w,d0
neg.w d0
swap d0
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
neg.w d0
moveq #$37,d1
@@ -106300,9 +106327,9 @@ loc_4F0C2: ApplyDeformation:
move.w #$DF,d1
- lea ($FFFFE000).w,a1
- move.w ($FFFFEE90).w,d0
- move.w ($FFFFEE80).w,d3
+ lea (H_scroll_buffer).w,a1
+ move.w (Camera_Y_pos_BG_copy).w,d0
+ move.w (Camera_X_pos_copy).w,d3
ApplyDeformation2:
@@ -106404,9 +106431,9 @@ locret_4F158: ApplyFGDeformation:
move.w #$DF,d1
- lea ($FFFFE000).w,a1
- move.w ($FFFFEE84).w,d0
- move.w ($FFFFEE8C).w,d3
+ lea (H_scroll_buffer).w,a1
+ move.w (Camera_Y_pos_copy).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d3
ApplyFGDeformation2:
@@ -106627,8 +106654,8 @@ loc_4F288: Apply_FGVScroll:
lea ($FFFFEEEA).w,a1
- move.w ($FFFFEE90).w,d1
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d1
+ move.w (Camera_X_pos_copy).w,d0
move.w d0,d2
andi.w #$F,d2
beq.s loc_4F2A4
@@ -106681,13 +106708,13 @@ locret_4F2D8: Reset_TileOffsetPositionActual:
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
move.w d0,d1
andi.w #-$10,d0
- move.w d0,($FFFFEE88).w
- move.w ($FFFFEE84).w,d0
- and.w ($FFFFEEAC).w,d0
- move.w d0,($FFFFEE8A).w
+ move.w d0,(Camera_X_pos_rounded).w
+ move.w (Camera_Y_pos_copy).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
+ move.w d0,(Camera_Y_pos_rounded).w
rts
; End of function Reset_TileOffsetPositionActual
@@ -106697,30 +106724,30 @@ Reset_TileOffsetPositionActual: Reset_TileOffsetPositionEff:
- move.w ($FFFFEE8C).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d0
move.w d0,d1
andi.w #-$10,d0
move.w d0,d2
- move.w d0,($FFFFEE94).w
- move.w ($FFFFEE90).w,d0
+ move.w d0,(Camera_X_pos_BG_rounded).w
+ move.w (Camera_Y_pos_BG_copy).w,d0
loc_4F30A:
- and.w ($FFFFEEAC).w,d0
- move.w d0,($FFFFEE96).w
+ and.w (Camera_Y_pos_mask).w,d0
+ move.w d0,(Camera_Y_pos_BG_rounded).w
rts
; End of function Reset_TileOffsetPositionEff
; ---------------------------------------------------------------------------
- move.w ($FFFFEE60).w,($FFFFEE68).w
- move.w ($FFFFEE64).w,($FFFFEE6C).w
+ move.w (Camera_X_pos_P2).w,(Camera_X_pos_P2_copy).w
+ move.w (Camera_Y_pos_P2).w,(Camera_Y_pos_P2_copy).w
rts
; ---------------------------------------------------------------------------
- move.w ($FFFFEE6C).w,d0
+ move.w (Camera_Y_pos_P2_copy).w,d0
subi.w #$70,d0
- move.w d0,($FFFFF61E).w
+ move.w d0,(V_scroll_value_P2).w
move.w ($FFFFEE74).w,d0
subi.w #$70,d0
- move.w d0,($FFFFF620).w
+ move.w d0,(V_scroll_value_BG_P2).w
rts
; =============== S U B R O U T I N E =======================================
@@ -106743,6 +106770,7 @@ off_4F34E: dc.l locret_4F366 locret_4F366:
+
rts
; End of function SpecialEvents
@@ -106782,11 +106810,11 @@ loc_4F382: Get_BGActualEffectiveDiff:
- move.w ($FFFFEE80).w,d0
- sub.w ($FFFFEE8C).w,d0
+ move.w (Camera_X_pos_copy).w,d0
+ sub.w (Camera_X_pos_BG_copy).w,d0
move.w d0,($FFFFEE3E).w
- move.w ($FFFFEE84).w,d0
- sub.w ($FFFFEE90).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
+ sub.w (Camera_Y_pos_BG_copy).w,d0
move.w d0,($FFFFEE40).w
rts
; End of function Get_BGActualEffectiveDiff
@@ -106797,13 +106825,13 @@ Get_BGActualEffectiveDiff: Offset_SomeObjectsDuringTransition:
- tst.b ($FFFFF667).w
+ tst.b (Super_Tails_flag).w
bne.s loc_4F3A8
rts
; ---------------------------------------------------------------------------
loc_4F3A8:
- lea ($FFFFCD7C).w,a1
+ lea (Hyper_Sonic_stars).w,a1
moveq #3,d2
bra.s loc_4F3B6
; ---------------------------------------------------------------------------
@@ -106851,7 +106879,7 @@ ShakeScreen_Setup: ; ---------------------------------------------------------------------------
loc_4F3FA:
- move.w ($FFFFFE04).w,d0 ; If EECC is negative, it's a constant screen shake
+ move.w (Level_frame_counter).w,d0 ; If EECC is negative, it's a constant screen shake
loc_4F3FE:
andi.w #$3F,d0
@@ -106876,7 +106904,7 @@ ShakeScreen_BG: move.w d0,($FFFFEF66).w
move.b ScreenShakeArray(pc,d0.w),d0
ext.w d0
- add.w d0,($FFFFEE80).w
+ add.w d0,(Camera_X_pos_copy).w
locret_4F422:
rts
@@ -106932,7 +106960,7 @@ LBZ_WaterWaveArray: dc.w 1, 1, 1, 0, 0, 0,$FFFF,$FFFF,$FF Clear_Switches:
- lea ($FFFFF7E0).w,a1
+ lea (Level_trigger_array).w,a1
moveq #7,d0
loc_4F8FE:
@@ -106953,7 +106981,7 @@ AIZ1_ScreenEvent: jsr DrawTilesAsYouMove(pc)
move.w ($FFFFEEC4).w,d0
beq.w locret_4F9BE
- cmpi.w #$2D30,($FFFFEE78).w ; perform the tree tile manipulation routine when signalled.
+ cmpi.w #$2D30,(Camera_X_pos).w ; perform the tree tile manipulation routine when signalled.
bcc.w AIZ1SE_ChangeChunk1
cmpi.w #$39,d0
bcc.w AIZ1SE_ChangeChunk1
@@ -106975,6 +107003,7 @@ loc_4F948: bcs.s loc_4F952
bsr.w AIZ1SE_ChangeChunk4
+
loc_4F952:
lea (AIZ_TreeRevealArray).l,a6
@@ -106997,7 +107026,7 @@ loc_4F976: loc_4F97E:
- cmp.w ($FFFFEE8A).w,d0
+ cmp.w (Camera_Y_pos_rounded).w,d0
bcc.s loc_4F994
lea $20(a6),a6
addi.w #$10,d0
@@ -107098,7 +107127,7 @@ locret_4FA40: Adjust_AIZ1Chunks:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s Adjust_AIZ1Chunks2 ; Make changes to AIZ's chunk data if playing as Knuckles
rts
; End of function Adjust_AIZ1Chunks
@@ -107180,7 +107209,7 @@ word_4FAEA: dc.w $E40 ; ---------------------------------------------------------------------------
AIZ1_BackgroundInit:
- cmpi.w #$1300,($FFFFEE78).w
+ cmpi.w #$1300,(Camera_X_pos).w
bcc.s loc_4FB1C
lea ($FFFFA800).w,a1 ; Intro deformation
moveq #9,d0
@@ -107234,7 +107263,7 @@ loc_4FB50: AIZ1BGE_Intro:
tst.w ($FFFFEEC6).w
beq.s loc_4FBA4
- tst.w ($FFFFFF0E).w
+ tst.w (Kos_decomp_queue_count).w
bne.w loc_4FBA4
clr.w ($FFFFEEC6).w
jsr (AIZ1_Deform).l ; Set up normal deformation when intro is over
@@ -107242,7 +107271,7 @@ AIZ1BGE_Intro: clr.l ($FFFFA800).w
move.w d2,($FFFFA806).w
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w ; Next routine
@@ -107268,7 +107297,7 @@ AIZ1BGE_NormalRefresh: loc_4FBD0:
lea (AIZ1_DrawArray).l,a4
lea ($FFFFA7FC).w,a5
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
jsr Draw_PlaneVertBottomUpComplex(pc)
bpl.s loc_4FBF6
addq.w #4,($FFFFEEC2).w
@@ -107298,10 +107327,10 @@ AIZ1_AIZ2_Transition: move.l #$4E006E,(a1)+
move.l #$AE00CE,(a1)+
move.l #$2EE0AEE,(a1)
- move.l #$200000,($FFFFEE90).w
- move.w #$10,($FFFFEE96).w
+ move.l #$200000,(Camera_Y_pos_BG_copy).w
+ move.w #$10,(Camera_Y_pos_BG_rounded).w
move.w #$68,($FFFFEED2).w
- move.w #4,($FFFFEEA6).w
+ move.w #4,(Special_V_int_routine).w
addq.w #4,($FFFFEEC2).w
AIZ1BGE_FireTransition:
@@ -107312,9 +107341,9 @@ AIZ1BGE_FireTransition: move.w ($FFFFEED2).w,d0
swap d0
clr.w d0
- sub.l ($FFFFEE90).w,d0
+ sub.l (Camera_Y_pos_BG_copy).w,d0
asr.l #5,d0
- add.l d0,($FFFFEE90).w
+ add.l d0,(Camera_Y_pos_BG_copy).w
cmpi.l #$1400,d0
bcc.s loc_4FC74
@@ -107323,19 +107352,19 @@ loc_4FC6E: loc_4FC74:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
move.w #$1000,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
- cmpi.w #$190,($FFFFEE90).w
+ cmpi.w #$190,(Camera_Y_pos_BG_copy).w
bcs.w loc_4FD22
movem.l d7-a0/a2-a3,-(sp)
lea (AIZ2_128x128_Kos).l,a1
- lea ($FFFF0000).l,a2
+ lea (RAM_start).l,a2
jsr (Queue_Kos).l
lea (AIZ2_16x16_Primary_Kos).l,a1
- lea ($FFFF9000).w,a2
+ lea (Block_table).w,a2
jsr (Queue_Kos).l
lea (AIZ2_16x16_Secondary_Kos).l,a1
lea ($FFFF9AB8).w,a2
@@ -107377,7 +107406,7 @@ AIZ1BGE_FireRefresh: jsr (AIZ1_FireRise).l
loc_4FD32:
- lea ($FFFF8008).w,a3
+ lea (Level_layout_main).w,a3
move.w #$C000,d7
move.w #$180,d1
moveq #0,d2
@@ -107398,13 +107427,13 @@ AIZ1BGE_Finish: jsr (AIZ1_FireRise).l
loc_4FD62:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.w loc_4FE2E ; Wait for the art to be loaded
- move.w #1,($FFFFFE10).w ; Officially change this to act 2
- clr.b ($FFFFEE33).w
- clr.b ($FFFFF76C).w
- clr.b ($FFFFF710).w
- clr.b ($FFFFF7AA).w
+ move.w #1,(Current_zone_and_act).w ; Officially change this to act 2
+ clr.b (Dynamic_resize_routine).w
+ clr.b (Object_load_routine).w
+ clr.b (Rings_manager_routine).w
+ clr.b (Boss_flag).w
clr.b ($FFFFFF97).w
jsr Clear_Switches(pc)
movem.l d7-a0/a2-a3,-(sp)
@@ -107426,20 +107455,20 @@ loc_4FD62: sub.w d0,($FFFFB05A).w
sub.w d1,($FFFFB05E).w
jsr Offset_SomeObjectsDuringTransition(pc)
- sub.w d0,($FFFFEE78).w
- sub.w d1,($FFFFEE7C).w
- sub.w d0,($FFFFEE80).w
- sub.w d1,($FFFFEE84).w ; Offset objects and camera positions
+ sub.w d0,(Camera_X_pos).w
+ sub.w d1,(Camera_Y_pos).w
+ sub.w d0,(Camera_X_pos_copy).w
+ sub.w d1,(Camera_Y_pos_copy).w ; Offset objects and camera positions
move.l #$100010,d0
- move.l d0,($FFFFEE14).w
+ move.l d0,(Camera_min_X_pos).w
move.l #$260,d0
- move.l d0,($FFFFEE18).w
- move.w d0,($FFFFEE12).w
- move.w ($FFFFEE80).w,($FFFFEEB4).w
- move.w ($FFFFEE80).w,($FFFFEEB6).w
+ move.l d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
+ move.w (Camera_X_pos_copy).w,($FFFFEEB4).w
+ move.w (Camera_X_pos_copy).w,($FFFFEEB6).w
jsr Reset_TileOffsetPositionActual(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
clr.w ($FFFFEEC2).w
@@ -107450,7 +107479,7 @@ loc_4FE2E: ; ---------------------------------------------------------------------------
Obj_AIZTransitionFloor:
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_4FE4A
move.w #$7FFF,$10(a0)
move.l #Delete_Current_Sprite,(a0)
@@ -107469,7 +107498,7 @@ loc_4FE4A: Adjust_AIZ2Layout:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_4FECC
move.w #$5B,($FF1020).l ; Only do this if playing as Knuckles
lea ($FF3420).l,a1
@@ -107549,7 +107578,7 @@ AIZ2_ScreenInit: AIZ2_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
move.w ($FFFFEEC0).w,d0
jmp loc_4FF26(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -107573,17 +107602,17 @@ AIZ2SE_Normal: move.w #$180,($FFFFEEC8).w ; Set up redraw memory
move.w #5,($FFFFEECA).w
clr.l ($FFFFA9F8).w
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
andi.w #-$10,d0
subi.w #$10,d0
move.w d0,($FFFFA9FE).w
- st ($FFFFEE0A).w ; Camera doesn't follow Sonic
+ st (Scroll_lock).w ; Camera doesn't follow Sonic
move.w #4,($FFFFEEB2).w
addq.w #4,($FFFFEEC0).w ; Set speed of automatic movement
AIZ2SE_ShipRefresh:
move.w #$4380,d1
- move.w ($FFFFEE84).w,d2
+ move.w (Camera_Y_pos_copy).w,d2
subi.w #$10,d2
jsr Draw_PlaneVertBottomUp(pc)
bpl.w loc_4FFF0
@@ -107591,9 +107620,9 @@ AIZ2SE_ShipRefresh: move.w d0,($FFFFA9F6).w
move.w d0,($FFFFEE98).w
clr.w ($FFFFEE9A).w ; Set up secondary BG camera X
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
addi.w #$8F0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEE9C).w
move.w d0,($FFFFEEA2).w ; Set up secondary BG camera Y
jsr (Create_New_Sprite).l
@@ -107602,9 +107631,9 @@ AIZ2SE_ShipRefresh: loc_4FFBA:
st ($FFFFEED6).w
- move.l #HInt6,($FFFFFFF8).w ; HInt is needed to change Y scroll value to proper amount mid-draw
- clr.b ($FFFFF730).w
- move.b #$40,($FFFFF625).w ; Set HInt position
+ move.l #HInt6,(H_int_addr).w ; HInt is needed to change Y scroll value to proper amount mid-draw
+ clr.b (Water_flag).w
+ move.b #$40,(H_int_counter).w ; Set HInt position
addq.w #4,($FFFFEEC0).w
AIZ2SE_ShipDraw:
@@ -107621,9 +107650,9 @@ loc_4FFF0: lea word_50072(pc),a4
lea ($FFFFA9F8).w,a6
- move.w ($FFFFEE80).w,4(a6)
+ move.w (Camera_X_pos_copy).w,4(a6)
moveq #2,d5
- move.w ($FFFFEE8A).w,d6
+ move.w (Camera_Y_pos_rounded).w,d6
loc_50004:
jmp Draw_BGNoVert(pc)
@@ -107641,21 +107670,21 @@ loc_50018: AIZ2SE_EndRefresh:
move.w #$4380,d1
- move.w ($FFFFEE84).w,d2
+ move.w (Camera_Y_pos_copy).w,d2
subi.w #$10,d2
loc_50028:
jsr Draw_PlaneVertBottomUp(pc)
bpl.s loc_4FFF0
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
andi.w #-$10,d0
loc_50036:
subi.w #$10,d0
- move.w d0,($FFFFEE88).w
+ move.w d0,(Camera_X_pos_rounded).w
move.w #$46C0,($FFFFEED4).w ; Set level X start to 46C0
clr.w ($FFFFEED6).w
- move.b #-1,($FFFFF625).w
+ move.b #-1,(H_int_counter).w
addq.w #4,($FFFFEEC0).w
AIZ2SE_End:
@@ -107664,9 +107693,9 @@ AIZ2SE_End: HInt6:
- move.w #$8AFF,($C00004).l
- move.l #$40000010,($C00004).l
- move.w ($FFFFEE84).w,($C00000).l
+ move.w #$8AFF,(VDP_control_port).l
+ move.l #$40000010,(VDP_control_port).l
+ move.w (Camera_Y_pos_copy).w,(VDP_data_port).l
rte
; ---------------------------------------------------------------------------
word_50072: dc.w $180
@@ -107676,10 +107705,10 @@ word_50076: dc.w $A80 ; ---------------------------------------------------------------------------
AIZ2_BackgroundInit:
- move.w ($FFFFEE80).w,($FFFFEEB4).w
- move.w ($FFFFEE80).w,($FFFFEEB6).w
+ move.w (Camera_X_pos_copy).w,($FFFFEEB4).w
+ move.w (Camera_X_pos_copy).w,($FFFFEEB6).w
move.w #$C,($FFFFEEC2).w
- cmpi.w #$3E80,($FFFFEE78).w
+ cmpi.w #$3E80,(Camera_X_pos).w
bcs.s loc_500A0
move.w #$14,($FFFFEEC2).w
move.w #$4440,($FFFFEED4).w
@@ -107694,7 +107723,7 @@ loc_500A0: AIZ2_BackgroundEvent:
lea ($FFFFEEB4).w,a1
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
move.w #$100,d2
move.w #$200,d3
jsr Adjust_BGDuringLoop(pc)
@@ -107717,10 +107746,10 @@ loc_500D2: ; ---------------------------------------------------------------------------
AIZ2BGE_FireRedraw:
- lea ($FFFF8008).w,a3
+ lea (Level_layout_main).w,a3
move.w #$C000,d7
- move.w ($FFFFEE80).w,d1
- move.w ($FFFFEE84).w,d2
+ move.w (Camera_X_pos_copy).w,d1
+ move.w (Camera_Y_pos_copy).w,d2
jsr Draw_PlaneVertBottomUp(pc)
bmi.s loc_50110
jsr (AIZ1_FireRise).l
@@ -107739,7 +107768,7 @@ AIZ2BGE_WaitFire: jsr (AIZTrans_WavyFlame).l
tst.w ($FFFFEED2).w
bne.s loc_50160
- move.w ($FFFFEE90).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d0
andi.w #$7F,d0
cmpi.w #$20,d0
bcs.s loc_50144
@@ -107752,19 +107781,19 @@ loc_50144: loc_50148:
addi.w #$180,d0
- move.w d0,($FFFFEE90).w
- and.w ($FFFFEEAC).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ and.w (Camera_Y_pos_mask).w,d0
subi.w #$10,d0
- move.w d0,($FFFFEE96).w
+ move.w d0,(Camera_Y_pos_BG_rounded).w
st ($FFFFEED2).w
loc_50160:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
move.w #$200,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
- cmpi.w #$310,($FFFFEE90).w
+ cmpi.w #$310,(Camera_Y_pos_BG_copy).w
bcs.s loc_501D6 ; If fire hasn't subsided, branch
movem.l d7-a0/a2-a3,-(sp)
moveq #$C,d0
@@ -107776,14 +107805,14 @@ loc_50160: move.l #$8E004E,(a1)+
move.l #$2E000C,(a1)
move.w #$6000,d0
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_max_X_pos).w
jsr (AIZ2_Deform).l
jsr Reset_TileOffsetPositionEff(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w ; Set up Effective BG Y location for screen redraw
move.w #$F,($FFFFEECA).w ; Set up redraw count
- move.w #$C,($FFFFEEA6).w
+ move.w #$C,(Special_V_int_routine).w
addq.w #4,($FFFFEEC2).w
bra.s loc_50204
; ---------------------------------------------------------------------------
@@ -107791,7 +107820,7 @@ loc_50160: loc_501D6:
jsr (AIZ2_ApplyDeform).l
lea ($FFFFE002).w,a1
- move.w ($FFFFEE8C).w,d0 ; Cancel out background deformation since we're still in the open field
+ move.w (Camera_X_pos_BG_copy).w,d0 ; Cancel out background deformation since we're still in the open field
neg.w d0
moveq #$37,d1
@@ -107813,7 +107842,7 @@ AIZ2BGE_BGRedraw: loc_50204:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr Draw_PlaneVertBottomUp(pc)
bpl.s loc_50260
addq.w #4,($FFFFEEC2).w
@@ -107826,16 +107855,16 @@ AIZ2BGE_Normal: beq.s loc_50260
clr.w ($FFFFEEC6).w
move.w #$A8,d0
- cmpi.w #$400,($FFFFEE7C).w
+ cmpi.w #$400,(Camera_Y_pos).w
bcs.s loc_50236
move.w #-$198,d0
loc_50236:
move.w d0,($FFFFEEE8).w
- add.w d0,($FFFFEE90).w
+ add.w d0,(Camera_Y_pos_BG_copy).w
jsr Reset_TileOffsetPositionEff(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
move.w #$4440,($FFFFEED4).w
@@ -107845,8 +107874,8 @@ loc_50236: loc_50260:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -107859,7 +107888,7 @@ AIZ2BGE_ShipRefresh: loc_50280:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr Draw_PlaneVertBottomUp(pc)
bpl.s loc_50298
addq.w #4,($FFFFEEC2).w
@@ -107871,16 +107900,16 @@ AIZ2BGE_ShipMove: loc_50298:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
jsr (AIZ2_ApplyDeform).l
tst.w ($FFFFEED6).w
beq.s loc_502C2
- move.w ($FFFFEE9C).w,($FFFFF616).w ; Use effective camera position rather than actual camera position
- move.w ($FFFFEE90).w,($FFFFF618).w
+ move.w ($FFFFEE9C).w,(V_scroll_value).w ; Use effective camera position rather than actual camera position
+ move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w
addq.w #4,sp ; Skip last part of ScreenEvents
loc_502C2:
@@ -107889,7 +107918,7 @@ loc_502C2: AIZ2_DoShipLoop:
clr.w ($FFFFEEBC).w
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addq.w #4,d0
cmp.w ($FFFFEED4).w,d0
bcs.s loc_502FA
@@ -107901,19 +107930,19 @@ AIZ2_DoShipLoop: move.w d0,d1
andi.w #-$10,d1
subi.w #$10,d1
- move.w d1,($FFFFEE88).w
+ move.w d1,(Camera_X_pos_rounded).w
move.w d1,($FFFFA9FE).w
loc_502FA:
- move.w d0,($FFFFEE78).w
- move.w d0,($FFFFEE80).w
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE16).w ; Set all the camera/start positions
+ move.w d0,(Camera_X_pos).w
+ move.w d0,(Camera_X_pos_copy).w
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_max_X_pos).w ; Set all the camera/start positions
move.w d0,d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_50318
move.w d1,d0
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; =============== S U B R O U T I N E =======================================
@@ -107961,7 +107990,7 @@ loc_50364: dbf d2,loc_50364
loc_5037E:
- lea ($FFFFFC20).w,a1
+ lea (Normal_palette_line_2).w,a1
lea (Pal_AIZBattleship).l,a5
moveq #7,d0
@@ -108004,7 +108033,7 @@ loc_503D2: move.w d1,($FFFFEE9C).w ; Get the bobbing motion delta, apply it to the second camera Y
loc_503EA:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
subq.w #1,d0
andi.w #$F,d0
bne.s loc_503FE
@@ -108144,7 +108173,7 @@ Translate_Camera2ObjPosition: move.w $30(a0),d0
sub.w ($FFFFEE9C).w,d0
- add.w ($FFFFEE84).w,d0
+ add.w (Camera_Y_pos_copy).w,d0
Translate_Camera2ObjX:
sub.w ($FFFFEED0).w,d0
@@ -108152,7 +108181,7 @@ Translate_Camera2ObjX: move.w d0,$14(a0)
move.w $2E(a0),d0
sub.w ($FFFFEE98).w,d0
- add.w ($FFFFEE80).w,d0
+ add.w (Camera_X_pos_copy).w,d0
move.w d0,$10(a0)
rts
; End of function Translate_Camera2ObjPosition
@@ -108201,7 +108230,7 @@ loc_5060E: ; ---------------------------------------------------------------------------
Obj_AIZ2MakeTree:
- cmpi.w #$44D0,($FFFFEE78).w
+ cmpi.w #$44D0,(Camera_X_pos).w
bcc.s loc_5061E
rts
; ---------------------------------------------------------------------------
@@ -108243,7 +108272,7 @@ Obj_AIZ2BGTree: move.w ($FFFFEEB6).w,$30(a0)
Obj_AIZ2BGTreeMove:
- cmpi.w #$4880,($FFFFEE78).w
+ cmpi.w #$4880,(Camera_X_pos).w
bcs.s loc_50698
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -108286,17 +108315,17 @@ loc_506FA: Obj_AIZ2BossSmallMain:
tst.b $2E(a0)
bne.s loc_50712
- cmpi.w #$4670,($FFFFEE78).w
+ cmpi.w #$4670,(Camera_X_pos).w
bcs.s locret_5077C
st $2E(a0)
loc_50712:
cmpi.w #$240,$10(a0)
bcs.s loc_50732
- clr.b ($FFFFEE0A).w
+ clr.b (Scroll_lock).w
clr.w ($FFFFEEB2).w
clr.w ($FFFFEEBC).w ; Stop repeating scrolling section
- move.w #$6000,($FFFFEE16).w ; Change level size
+ move.w #$6000,(Camera_max_X_pos).w ; Change level size
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -108319,7 +108348,7 @@ loc_50758: loc_5075E:
move.l d1,$18(a0)
jsr (Draw_Sprite).l
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
subq.w #1,d0
andi.w #$F,d0
bne.s locret_5077C
@@ -108911,8 +108940,8 @@ HCZ1BGE_Normal: loc_50C2A:
jsr HCZ1_Deform(pc)
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -108922,13 +108951,13 @@ loc_50C2A: ; ---------------------------------------------------------------------------
HCZ1BGE_DoTransition:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.w loc_50CDC ; Don't do anything else until kos queue has been cleared
- move.w #$101,($FFFFFE10).w ; Change the act
- clr.b ($FFFFEE33).w ; Reload resize routine counter
- clr.b ($FFFFF76C).w ; Reload sprite manager
- clr.b ($FFFFF710).w ; Reload ring manager
- clr.b ($FFFFF7AA).w ; Unlock the screen
+ move.w #$101,(Current_zone_and_act).w ; Change the act
+ clr.b (Dynamic_resize_routine).w ; Reload resize routine counter
+ clr.b (Object_load_routine).w ; Reload sprite manager
+ clr.b (Rings_manager_routine).w ; Reload ring manager
+ clr.b (Boss_flag).w ; Unlock the screen
clr.b ($FFFFFF97).w ; Refresh sprite/ring memory
jsr Clear_Switches(pc)
move.l #Obj_HCZWaterSplash,($FFFFB172).w ; Load the splash object
@@ -108938,9 +108967,9 @@ HCZ1BGE_DoTransition: jsr (LoadSolids).l
jsr (CheckLevelForWater).l
move.w #$6A0,d0
- move.w d0,($FFFFF646).w
- move.w d0,($FFFFF648).w
- move.w d0,($FFFFF64A).w ; Set the water up
+ move.w d0,(Water_level).w
+ move.w d0,(Mean_water_level).w
+ move.w d0,(Target_water_level).w ; Set the water up
moveq #$D,d0
jsr (LoadPalette_Immediate).l ; Load HCZ2 palette
movem.l (sp)+,d7-a0/a2-a3
@@ -108949,17 +108978,17 @@ HCZ1BGE_DoTransition: sub.w d0,($FFFFB010).w
sub.w d0,($FFFFB05A).w
jsr Offset_ObjectsDuringTransition(pc)
- sub.w d0,($FFFFEE78).w
- sub.w d0,($FFFFEE80).w
- sub.w d0,($FFFFEE14).w
- sub.w d0,($FFFFEE16).w ; Offset objects/camera position by specified amount
+ sub.w d0,(Camera_X_pos).w
+ sub.w d0,(Camera_X_pos_copy).w
+ sub.w d0,(Camera_min_X_pos).w
+ sub.w d0,(Camera_max_X_pos).w ; Offset objects/camera position by specified amount
jsr Reset_TileOffsetPositionActual(pc)
clr.w ($FFFFEEC2).w
loc_50CDC:
jsr HCZ1_Deform(pc)
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -108972,16 +109001,16 @@ loc_50CDC: HCZ1_Deform:
- move.w ($FFFFEE84).w,d0 ; Get the BG camera Y position
+ move.w (Camera_Y_pos_copy).w,d0 ; Get the BG camera Y position
subi.w #$610,d0 ; Get the difference between that and the water line equilibrium point
move.w d0,d1
asr.w #2,d0
move.w d0,d2
addi.w #$190,d0
- move.w d0,($FFFFEE90).w ; The effective BG Y is negative when the BG is above the water line, positive when otherwise
+ move.w d0,(Camera_Y_pos_BG_copy).w ; The effective BG Y is negative when the BG is above the water line, positive when otherwise
sub.w d1,d2 ; The difference between the effective BG Y and the actual BG Y difference is what's used to calculate how the water line should be drawn
move.w d2,($FFFFEEE2).w
- move.w ($FFFFEE80).w,d0 ; Get the camera BG X
+ move.w (Camera_X_pos_copy).w,d0 ; Get the camera BG X
swap d0
clr.w d0
tst.w d2
@@ -109168,14 +109197,14 @@ HCZ2_ScreenInit: HCZ2_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
jmp DrawTilesAsYouMove(pc)
; ---------------------------------------------------------------------------
HCZ2_BackgroundInit:
- cmpi.w #$C00,($FFFFEE78).w
+ cmpi.w #$C00,(Camera_X_pos).w
bcc.s loc_50ED0
- cmpi.w #$500,($FFFFEE7C).w
+ cmpi.w #$500,(Camera_Y_pos).w
bcs.s loc_50ED0
move.w #4,($FFFFEEC2).w ; Special deformation occurs when camera X is less than $C00 and
jsr (Create_New_Sprite).l ; camera Y is greater than $500
@@ -109272,7 +109301,7 @@ HCZ2BGE_NormalTransition: jsr HCZ2_Deform(pc)
jsr Reset_TileOffsetPositionEff(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -109284,7 +109313,7 @@ HCZ2BGE_NormalRefresh: loc_50FB8:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr Draw_PlaneVertBottomUp(pc)
bpl.s loc_50FCE
addq.w #4,($FFFFEEC2).w
@@ -109296,8 +109325,8 @@ HCZ2BGE_Normal: loc_50FCE:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -109340,7 +109369,7 @@ loc_5102E: loc_5103A:
sub.l d0,($FFFFEED2).w ; Subtract speed from BG X offset
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
subq.w #1,d0
andi.w #$F,d0
bne.s loc_51052
@@ -109349,13 +109378,13 @@ loc_5103A: loc_51052:
- move.w ($FFFFEE84).w,d0 ; Get BG camera Y
+ move.w (Camera_Y_pos_copy).w,d0 ; Get BG camera Y
subi.w #$500,d0
- move.w d0,($FFFFEE90).w ; Offset it by $500 and put it in effective BG Y
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w ; Offset it by $500 and put it in effective BG Y
+ move.w (Camera_X_pos_copy).w,d0
subi.w #$200,d0
add.w ($FFFFEED2).w,d0
- move.w d0,($FFFFEE8C).w ; Do the same with the BG Camera X, offsetting it by the wall movement amount
+ move.w d0,(Camera_X_pos_BG_copy).w ; Do the same with the BG Camera X, offsetting it by the wall movement amount
rts
; End of function HCZ2_WallMove
@@ -109365,13 +109394,13 @@ loc_51052: HCZ2_Deform:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w ($FFFFEECE).w,d1
sub.w d1,d0
asr.w #2,d0
add.w d1,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #1,d0
@@ -109440,7 +109469,7 @@ MGZ1_ScreenInit: MGZ1_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
jsr Do_ShakeSound(pc)
jmp DrawTilesAsYouMove(pc)
; ---------------------------------------------------------------------------
@@ -109494,13 +109523,13 @@ loc_511B0: ; ---------------------------------------------------------------------------
MGZ1BGE_Transition:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.w loc_51268 ; Wait for Kos queue to finish
- move.w #$201,($FFFFFE10).w ; Change act
- clr.b ($FFFFEE33).w
- clr.b ($FFFFF76C).w
- clr.b ($FFFFF710).w
- clr.b ($FFFFF7AA).w
+ move.w #$201,(Current_zone_and_act).w ; Change act
+ clr.b (Dynamic_resize_routine).w
+ clr.b (Object_load_routine).w
+ clr.b (Rings_manager_routine).w
+ clr.b (Boss_flag).w
clr.b ($FFFFFF97).w ; Reset various managers
jsr Clear_Switches(pc)
movem.l d7-a0/a2-a3,-(sp)
@@ -109516,15 +109545,15 @@ MGZ1BGE_Transition: sub.w d0,($FFFFB05A).w
sub.w d1,($FFFFB05E).w
jsr Offset_ObjectsDuringTransition(pc)
- sub.w d0,($FFFFEE78).w
- sub.w d1,($FFFFEE7C).w
- sub.w d0,($FFFFEE80).w
- sub.w d1,($FFFFEE84).w
- sub.w d0,($FFFFEE14).w
- sub.w d0,($FFFFEE16).w
- sub.w d1,($FFFFEE18).w
- sub.w d1,($FFFFEE1A).w
- move.w ($FFFFEE1A).w,($FFFFEE12).w
+ sub.w d0,(Camera_X_pos).w
+ sub.w d1,(Camera_Y_pos).w
+ sub.w d0,(Camera_X_pos_copy).w
+ sub.w d1,(Camera_Y_pos_copy).w
+ sub.w d0,(Camera_min_X_pos).w
+ sub.w d0,(Camera_max_X_pos).w
+ sub.w d1,(Camera_min_Y_pos).w
+ sub.w d1,(Camera_max_Y_pos).w
+ move.w (Camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
jsr Reset_TileOffsetPositionActual(pc)
clr.l ($FFFFEEE2).w
clr.w ($FFFFEEE6).w
@@ -109544,13 +109573,14 @@ loc_51268: Do_ShakeSound:
+
cmpi.b #6,($FFFFB005).w
bcc.s locret_512A4 ; If dying, skip this
tst.w ($FFFFEEE8).w
bne.s locret_512A4 ; If flag is set, skip this
tst.w ($FFFFEECC).w
bpl.s locret_512A4 ; If screen is not shaking continuously, skip this
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
subq.w #1,d0
andi.w #$F,d0
bne.s locret_512A4
@@ -109574,7 +109604,7 @@ MGZ2_ScreenInit: MGZ2_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
tst.w ($FFFFEEB4).w
beq.s loc_512D0
st ($FFFFEECC).w ; Turn continuous shaking on
@@ -109658,8 +109688,8 @@ loc_51372: lea ($FFFFA902).w,a1
lea ($FFFFA93C).w,a5
lea $28(a5),a6
- move.w ($FFFFEE84).w,d0 ; Get BG Y camera
- and.w ($FFFFEEAC).w,d0 ; AND it to get tile position
+ move.w (Camera_Y_pos_copy).w,d0 ; Get BG Y camera
+ and.w (Camera_Y_pos_mask).w,d0 ; AND it to get tile position
moveq #9,d1
loc_51394:
@@ -109698,7 +109728,7 @@ loc_513FA: st ($FFFFEECC).w ; Turn quake on
clr.w ($FFFFEED8).w
st ($FFFFEEA2).w ; Turn on special VScroll VInt function
- move.w #4,($FFFFEEA6).w
+ move.w #4,(Special_V_int_routine).w
loc_5140C:
lea ($FFFFA900).w,a1
@@ -109725,13 +109755,13 @@ loc_51436: subq.w #1,d1 ; When maximum scroll is reached, lower amount of "active" scrolling lines
loc_5144C:
- move.w ($FFFFEE84).w,d4 ; Get BG Y
+ move.w (Camera_Y_pos_copy).w,d4 ; Get BG Y
sub.w d3,d4
move.w d4,(a4)+
move.w d4,(a1) ; Subtract from scroll to get... something
addq.w #4,a1
dbf d2,loc_5142A ; Repeat until all scrolling parts are off-screen
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
subq.w #1,d0
andi.w #$F,d0
bne.s loc_51470
@@ -109755,8 +109785,8 @@ loc_51484: dbf d1,loc_51484
clr.w ($FFFFEECC).w ; Stop quaking
clr.l ($FFFFEEDA).w ; Stop special tile drawing
- move.w ($FFFFEE80).w,($FFFFEEDE).w
- move.w #$C,($FFFFEEA6).w ; Set VScroll VInt routine
+ move.w (Camera_X_pos_copy).w,($FFFFEEDE).w
+ move.w #$C,(Special_V_int_routine).w ; Set VScroll VInt routine
addq.w #4,($FFFFEEC0).w ; Next screen routine
locret_514A8:
@@ -109772,12 +109802,12 @@ MGZ2_QuakeEvent: tst.w ($FFFFEEB8).w
beq.s loc_514D8
bpl.s loc_514BE
- tst.l ($FFFFF680).w
+ tst.l (Nem_decomp_queue).w
bne.s loc_514D8
move.w #$FF,($FFFFEEB8).w
loc_514BE:
- move.w ($FFFFEE18).w,d0
+ move.w (Camera_min_Y_pos).w,d0
beq.s loc_514D8
cmpi.w #$1E0,d0
beq.s loc_514D8
@@ -109787,7 +109817,7 @@ loc_514BE: move.w d0,($FFFFEEB8).w
loc_514D4:
- move.w d0,($FFFFEE18).w
+ move.w d0,(Camera_min_Y_pos).w
loc_514D8:
move.w ($FFFFB010).w,d0
@@ -109833,17 +109863,17 @@ loc_51512: bcc.s loc_51552
move.w d2,($FFFFEEE2).w
move.w 8(a1),d0
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
move.w $A(a1),d0
cmpi.w #4,d2
bne.s loc_5154C
- move.w d0,($FFFFEE16).w ; First earthquake event near start of level makes you go right
+ move.w d0,(Camera_max_X_pos).w ; First earthquake event near start of level makes you go right
rts
; ---------------------------------------------------------------------------
loc_5154C:
- move.w d0,($FFFFEE14).w ; The other two make you go left
+ move.w d0,(Camera_min_X_pos).w ; The other two make you go left
rts
; ---------------------------------------------------------------------------
@@ -109859,10 +109889,10 @@ loc_51552: MGZ2_QuakeEvent1:
cmpi.w #$780,d0
bcs.w loc_51656 ; If player retreats, revert to normal camera movement
- move.w ($FFFFEE16).w,d0
- cmp.w ($FFFFEE78).w,d0
+ move.w (Camera_max_X_pos).w,d0
+ cmp.w (Camera_X_pos).w,d0
bhi.s locret_515A2 ; If camera X hasn't reached level X end, branch
- move.w d0,($FFFFEE14).w ; Lock the screen
+ move.w d0,(Camera_min_X_pos).w ; Lock the screen
st ($FFFFEEE4).w ; Set the earthquake flag for this first one
addi.w #$C,($FFFFEEE2).w ; Set next quake event routine
jsr (Create_New_Sprite).l
@@ -109881,25 +109911,25 @@ locret_515A2: MGZ2_QuakeEvent2:
cmpi.w #$3200,d0
bcs.s loc_515B4
- move.w #$1DF,($FFFFEE18).w ; If player retreats, reset level height
+ move.w #$1DF,(Camera_min_Y_pos).w ; If player retreats, reset level height
bra.w loc_51656
; ---------------------------------------------------------------------------
loc_515B4:
- move.w ($FFFFEE1A).w,d1
- cmp.w ($FFFFEE7C).w,d1
+ move.w (Camera_max_Y_pos).w,d1
+ cmp.w (Camera_Y_pos).w,d1
bne.s loc_515CC
- cmp.w ($FFFFEE18).w,d1
+ cmp.w (Camera_min_Y_pos).w,d1
beq.s loc_515CC
- move.w d1,($FFFFEE18).w ; Adjust level height during this event
+ move.w d1,(Camera_min_Y_pos).w ; Adjust level height during this event
st ($FFFFEEB9).w
loc_515CC:
- move.w ($FFFFEE14).w,d0 ; If camera X hasn't reached level X start, branch
- cmp.w ($FFFFEE78).w,d0
+ move.w (Camera_min_X_pos).w,d0 ; If camera X hasn't reached level X start, branch
+ cmp.w (Camera_X_pos).w,d0
bcs.s locret_5160C
- move.w d0,($FFFFEE16).w ; Lock the screen
+ move.w d0,(Camera_max_X_pos).w ; Lock the screen
st ($FFFFEEE5).w ; Set this earthquake flag
addi.w #$C,($FFFFEEE2).w ; Set next quake event routine
jsr (Create_New_Sprite).l
@@ -109919,10 +109949,10 @@ locret_5160C: MGZ2_QuakeEvent3:
cmpi.w #$3480,d0 ; Same as above, you know the drill (haha, drill...)
bcc.s loc_51656
- move.w ($FFFFEE14).w,d0
- cmp.w ($FFFFEE78).w,d0
+ move.w (Camera_min_X_pos).w,d0
+ cmp.w (Camera_X_pos).w,d0
bcs.s locret_51654
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_max_X_pos).w
st ($FFFFEEE6).w
addi.w #$C,($FFFFEEE2).w
jsr (Create_New_Sprite).l
@@ -109942,10 +109972,10 @@ locret_51654: loc_51656:
move.w #$1000,d0
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
move.l #$6000,d0
- move.l d0,($FFFFEE14).w
+ move.l d0,(Camera_min_X_pos).w
clr.w ($FFFFEEE2).w
rts
; ---------------------------------------------------------------------------
@@ -109962,7 +109992,7 @@ MGZ2_QuakeEvent2Cont: cmpi.w #$2F80,($FFFFB010).w
bcs.s locret_51696
move.w #$6000,d0
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_max_X_pos).w
bra.s loc_516A2
; ---------------------------------------------------------------------------
@@ -109980,8 +110010,8 @@ MGZ2_QuakeEvent3Cont: loc_516A2:
move.w #$1000,d0
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
clr.w ($FFFFEEE2).w
rts
@@ -110052,7 +110082,7 @@ MGZ2_ChunkEvent1: bcs.s loc_51762
clr.w ($FFFFEECC).w ; Stop shaking when first chunk event is finished
clr.w ($FFFFEEB4).w ; Reset quake event
- clr.w ($FFFFEE14).w ; Reset level height
+ clr.w (Camera_min_X_pos).w ; Reset level height
move.w #$10,($FFFFEED6).w
rts
; ---------------------------------------------------------------------------
@@ -110063,7 +110093,7 @@ MGZ2_ChunkEvent2_3: cmpi.w #$5C,d0
bcs.s loc_51762
move.w #$6000,d0
- move.w d0,($FFFFEE16).w ; Reset level end X
+ move.w d0,(Camera_max_X_pos).w ; Reset level end X
move.w #$14,($FFFFEED6).w
rts
; ---------------------------------------------------------------------------
@@ -110077,7 +110107,7 @@ loc_51762: bsr.s MGZ2_ModifyChunk
move.w ($FFFFEEDC).w,d0
addi.w #$80,d0
- sub.w ($FFFFEE80).w,d0
+ sub.w (Camera_X_pos_copy).w,d0
bcs.s locret_517C2
cmpi.w #$1C0,d0 ; Calculate the X position of the screen redraw
bcc.s locret_517C2
@@ -110087,8 +110117,8 @@ loc_51762: move.w 2(a1,d2.w),d2 ; And the number of lines to write
loc_51798:
- move.w ($FFFFEE84).w,d3
- and.w ($FFFFEEAC).w,d3
+ move.w (Camera_Y_pos_copy).w,d3
+ and.w (Camera_Y_pos_mask).w,d3
cmp.w d3,d0
bcs.s loc_517BA
addi.w #$F0,d3
@@ -110147,6 +110177,7 @@ loc_517F6: move.l (a4)+,(a5)+
move.l (a4)+,(a5)+
dbf d1,loc_517F6
+
addq.w #2,d0
move.w d0,($FFFFEED8).w
rts
@@ -110291,7 +110322,7 @@ loc_51968: jsr Reset_TileOffsetPositionEff(pc)
move.w d2,($FFFFA806).w
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -110304,7 +110335,7 @@ MGZ2BGE_Refresh: loc_51994:
lea (MGZ2_BGDrawArray).l,a4
lea ($FFFFA7FC).w,a5
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
jsr Draw_PlaneVertBottomUpComplex(pc)
bpl.w loc_51926
subq.w #4,($FFFFEEC2).w
@@ -110482,8 +110513,8 @@ locret_51AFE: loc_51B00:
move.w d3,$2E(a0)
move.w d4,$32(a0)
- move.w ($FFFFEE80).w,d0
- move.w d0,($FFFFEE14).w
+ move.w (Camera_X_pos_copy).w,d0
+ move.w d0,(Camera_min_X_pos).w
bset #7,($FFFFF74F).w
move.l #loc_51B1C,(a0)
@@ -110568,7 +110599,7 @@ loc_51BAA: asr.w #4,d2
move.w d3,d5
asr.w #5,d3
- and.w ($FFFFEEAE).w,d3
+ and.w (Layout_row_index_mask).w,d3
movea.w (a3,d3.w),a4
moveq #-1,d6
clr.w d6
@@ -110669,15 +110700,15 @@ loc_51C8E: ; ---------------------------------------------------------------------------
CNZ1BGE_Normal:
- cmpi.w #$3000,($FFFFEE78).w
+ cmpi.w #$3000,(Camera_X_pos).w
bcs.s loc_51CFA
- cmpi.w #$54C,($FFFFEE7C).w
+ cmpi.w #$54C,(Camera_Y_pos).w
bcs.s loc_51CD2
move.w #$700,d0 ; This is positional adjustment for Knuckles' path
sub.w d0,($FFFFB014).w
sub.w d0,($FFFFB05E).w
- sub.w d0,($FFFFEE7C).w
- sub.w d0,($FFFFEE84).w
+ sub.w d0,(Camera_Y_pos).w
+ sub.w d0,(Camera_Y_pos_copy).w
jsr Reset_TileOffsetPositionActual(pc)
loc_51CD2:
@@ -110686,7 +110717,7 @@ loc_51CD2: lea (Pal_CNZMiniboss).l,a1
jsr (PalLoad_Line1).l
move.w #$1C0,d0
- move.w d0,($FFFFEE18).w ; Change level start Y
+ move.w d0,(Camera_min_Y_pos).w ; Change level start Y
bset #7,($FFFFF74F).w ; Disable wall grabbing for Knuckles
addq.w #4,($FFFFEEC2).w
bra.s loc_51D26
@@ -110694,8 +110725,8 @@ loc_51CD2: loc_51CFA:
jsr CNZ1_Deform(pc)
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -110718,8 +110749,8 @@ CNZ1BGE_Boss: move.w #$1C0,d0
jsr CNZ1_ScrollToYStart(pc)
jsr CNZ1_BossLevelScroll2(pc)
- lea ($FFFFEE8C).w,a6
- lea ($FFFFEE94).w,a5
+ lea (Camera_X_pos_BG_copy).w,a6
+ lea (Camera_X_pos_BG_rounded).w,a5
move.w #$200,d1
moveq #$10,d6
jsr Draw_TileColumn(pc)
@@ -110749,6 +110780,7 @@ CNZ1BGE_FGRefresh: move.w #-$4000,d7
moveq #0,d1
move.w #$200,d2
+
jsr Draw_PlaneVertSingleBottomUp(pc) ; Refresh the foreground using BG chunks
bmi.s loc_51DAE
move.w #-$2000,d7
@@ -110783,11 +110815,11 @@ loc_51DCA: move.w #$1C0,d0
add.w d0,($FFFFB014).w ; Move players and camera to position
add.w d0,($FFFFB05E).w
- add.w d0,($FFFFEE7C).w
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos).w
+ add.w d0,(Camera_Y_pos_copy).w
jsr Reset_TileOffsetPositionActual(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w ; Set up refresh position
move.w #$F,($FFFFEECA).w ; Refresh amount
addq.w #4,($FFFFEEC2).w
@@ -110795,10 +110827,10 @@ loc_51DCA: CNZ1BGE_FGRefresh2:
move.w #$380,d0
jsr CNZ1_ScrollToYStart(pc)
- lea ($FFFF8008).w,a3
+ lea (Level_layout_main).w,a3
move.w #-$4000,d7
- move.w ($FFFFEE80).w,d1
- move.w ($FFFFEE84).w,d2
+ move.w (Camera_X_pos_copy).w,d1
+ move.w (Camera_Y_pos_copy).w,d2
jsr Draw_PlaneVertSingleBottomUp(pc) ; Refresh the FG using FG chunks this time
bmi.s loc_51E42
addq.w #2,a3
@@ -110828,19 +110860,19 @@ CNZ1BGE_DoTransition: jsr (Load_PLC).l
moveq #$19,d0
jsr (Load_PLC).l ; Load CNZ 2 PLCs
- move.w #$301,($FFFFFE10).w ; Change to act 2
- clr.b ($FFFFEE33).w
- clr.b ($FFFFF76C).w
- clr.b ($FFFFF710).w
- clr.b ($FFFFF7AA).w
+ move.w #$301,(Current_zone_and_act).w ; Change to act 2
+ clr.b (Dynamic_resize_routine).w
+ clr.b (Object_load_routine).w
+ clr.b (Rings_manager_routine).w
+ clr.b (Boss_flag).w
clr.b ($FFFFFF97).w ; Reset various managers
jsr Clear_Switches(pc)
jsr (Load_Level).l
jsr (LoadSolids).l
jsr (CheckLevelForWater).l ; Level stuff, etc etc
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_51EC0
- move.w #$8014,($C00004).l ; Turn HInt on for water only if not playing as Knuckles
+ move.w #$8014,(VDP_control_port).l ; Turn HInt on for water only if not playing as Knuckles
loc_51EC0:
moveq #$11,d0
@@ -110854,15 +110886,15 @@ loc_51EC0: sub.w d0,($FFFFB05A).w
sub.w d1,($FFFFB05E).w ; Offset object/player positions
jsr Offset_ObjectsDuringTransition(pc)
- sub.w d0,($FFFFEE78).w
- sub.w d1,($FFFFEE7C).w
- sub.w d0,($FFFFEE80).w
- sub.w d1,($FFFFEE84).w ; Offset camera positions
- sub.w d0,($FFFFEE14).w
- sub.w d0,($FFFFEE16).w
- sub.w d1,($FFFFEE18).w
- sub.w d1,($FFFFEE1A).w ; Offset level start/ends
- move.w ($FFFFEE1A).w,($FFFFEE12).w
+ sub.w d0,(Camera_X_pos).w
+ sub.w d1,(Camera_Y_pos).w
+ sub.w d0,(Camera_X_pos_copy).w
+ sub.w d1,(Camera_Y_pos_copy).w ; Offset camera positions
+ sub.w d0,(Camera_min_X_pos).w
+ sub.w d0,(Camera_max_X_pos).w
+ sub.w d1,(Camera_min_Y_pos).w
+ sub.w d1,(Camera_max_Y_pos).w ; Offset level start/ends
+ move.w (Camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
jsr Reset_TileOffsetPositionActual(pc)
move.w #$2F0,($FFFFEEC8).w ; Set up refresh
move.w #$F,($FFFFEECA).w
@@ -110878,7 +110910,7 @@ loc_51F28: CNZ1_Deform:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w ($FFFFEECE).w,d2
sub.w d2,d0
swap d0
@@ -110891,8 +110923,8 @@ CNZ1_Deform: add.l d1,d0
swap d0
add.w d2,d0
- move.w d0,($FFFFEE90).w ; Effective BG Y is about 1/10th (13/128ths to be exact) of camera Y
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w ; Effective BG Y is about 1/10th (13/128ths to be exact) of camera Y
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #1,d0
@@ -110904,7 +110936,7 @@ CNZ1_Deform: swap d0
sub.l d1,d0
swap d0
- move.w d0,($FFFFEE8C).w ; Effective BG X is 7/16th speed of normal camera
+ move.w d0,(Camera_X_pos_BG_copy).w ; Effective BG X is 7/16th speed of normal camera
move.w d0,-(a1)
swap d0
sub.l d1,d0
@@ -110935,19 +110967,19 @@ CNZ1_Deform: CNZ1_BossLevelScroll:
- cmpi.w #$1E0,($FFFFEE90).w
+ cmpi.w #$1E0,(Camera_Y_pos_BG_copy).w
bcs.s CNZ1_BossLevelScroll2
addq.w #4,($FFFFEEC2).w
CNZ1_BossLevelScroll2:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
subi.w #$100,d0
add.w ($FFFFEEDA).w,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
subi.w #$2F80,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
rts
; End of function CNZ1_BossLevelScroll
@@ -110974,7 +111006,7 @@ loc_51FD8: ; ---------------------------------------------------------------------------
Obj_CNZMinibossScrollInit:
- lea ($FFFF8008).w,a3
+ lea (Level_layout_main).w,a3
movea.w $14(a3),a1 ; $280 Y
move.b $63(a1),d0 ; $3180 X chunk
suba.w -8(a3),a1
@@ -111045,12 +111077,12 @@ Obj_CNZMinibossScrollWait2: loc_5209E:
move.w d0,($FFFFEEDA).w ; Reset scroll offset
- move.w #$1000,($FFFFEE12).w ; Reset Y end
+ move.w #$1000,(Camera_target_max_Y_pos).w ; Reset Y end
st ($FFFFF664).w ; BG collision is on
addq.w #4,($FFFFEEC2).w ; Next BG Event
- movea.w ($FFFF8008).w,a1
+ movea.w (Level_layout_main).w,a1
lea $67(a1),a1
- move.w ($FFFF8000).w,d0
+ move.w (Level_layout_header).w,d0
moveq #0,d1
moveq #6,d2
@@ -111077,15 +111109,15 @@ loc_520DE: CNZ1_ScrollToYStart:
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
cmp.w d0,d1
bcs.s loc_520F2
exg d0,d1
loc_520F2:
- cmp.w ($FFFFEE18).w,d1
+ cmp.w (Camera_min_Y_pos).w,d1
bls.s locret_520FC
- move.w d1,($FFFFEE18).w
+ move.w d1,(Camera_min_Y_pos).w
locret_520FC:
rts
@@ -111107,7 +111139,7 @@ CNZ2_ScreenInit: CNZ2_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
cmpi.w #$4600,($FFFFB010).w
bcc.s loc_52138 ; If player is far enough to the right, skip ahead
moveq #0,d0
@@ -111116,9 +111148,9 @@ CNZ2_ScreenEvent: move.w #$580,d0 ; If player is still in old boss arena, set the level Y start to $580, otherwise, make it 0 like normal
loc_5212E:
- cmp.w ($FFFFEE18).w,d0
+ cmp.w (Camera_min_Y_pos).w,d0
beq.s loc_52138
- move.w d0,($FFFFEE18).w
+ move.w d0,(Camera_min_Y_pos).w
loc_52138:
@@ -111142,14 +111174,14 @@ loc_5214E: ; ---------------------------------------------------------------------------
loc_5215A:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_5216C
move.w #8,($FFFFEEC0).w ; If playing as Sonic/Tails, don't do any special screen events
bra.w CNZ2SE_Normal
; ---------------------------------------------------------------------------
loc_5216C:
- lea ($FFFFB000).w,a1 ; Only do all this is Knuckles is playing
+ lea (Player_1).w,a1 ; Only do all this is Knuckles is playing
cmpi.w #$4880,$10(a1)
bcs.w CNZ2SE_Normal ; If Knuckles is not past $4880 X, just play normally
@@ -111171,8 +111203,8 @@ loc_5217A: loc_521BE:
- move.w #$4750,($FFFFEE14).w
- move.w #$48E0,($FFFFEE16).w
+ move.w #$4750,(Camera_min_X_pos).w
+ move.w #$48E0,(Camera_max_X_pos).w
clr.b ($FFFFFAAA).w
addq.w #4,($FFFFEEC0).w
@@ -111226,7 +111258,7 @@ loc_52238: jsr CNZ1_Deform(pc)
jsr Reset_TileOffsetPositionEff(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -111238,7 +111270,7 @@ loc_52266: loc_5226A:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr Draw_PlaneVertSingleBottomUp(pc)
bpl.s loc_52280
addq.w #4,($FFFFEEC2).w
@@ -111250,8 +111282,8 @@ loc_5227C: loc_52280:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -111262,7 +111294,7 @@ loc_52280: ; ---------------------------------------------------------------------------
Obj_CNZTeleporter:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.w #$4A38,$10(a1)
bcs.s locret_522FE ; If Knuckles isn't in range, don't bother
btst #1,$2A(a1)
@@ -111275,8 +111307,8 @@ Obj_CNZTeleporter: loc_522C2:
clr.w $18(a1)
clr.w $1C(a1) ; Stop Knuckles' momentum
- st ($FFFFF7CA).w ; Turn off player control
- clr.w ($FFFFF602).w ; Clear buttons
+ st (Ctrl_1_locked).w ; Turn off player control
+ clr.w (Ctrl_1_logical).w ; Clear buttons
lea (ArtKosM_SSZTeleport).l,a1
move.w #-$6000,d2
jsr (Queue_Kos_Module).l ; Load teleporter graphics
@@ -111292,9 +111324,9 @@ locret_522FE: ; ---------------------------------------------------------------------------
Obj_CNZTeleporterMain:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.s locret_52348 ; Don't do anything while art is loading
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1)
bne.s locret_52348 ; Wait till Knuckles is not in the air
jsr (Create_New_Sprite3).l
@@ -111316,7 +111348,7 @@ locret_52348: ; ---------------------------------------------------------------------------
loc_5234A:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
movea.w $3C(a0),a2
cmpi.b #8,$46(a2)
blt.s locret_523C8
@@ -111349,7 +111381,7 @@ loc_5238E: move.b d0,$22(a1)
moveq #$73,d0
jsr (Play_Sound_2).l
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
bra.s locret_523C8
; ---------------------------------------------------------------------------
@@ -111364,8 +111396,8 @@ locret_523C8: ; ---------------------------------------------------------------------------
loc_523CA:
- subi.w #$10,($FFFFEE7C).w
- cmpi.w #$780,($FFFFEE7C).w
+ subi.w #$10,(Camera_Y_pos).w
+ cmpi.w #$780,(Camera_Y_pos).w
bcc.s locret_523EA
moveq #-$1F,d0
jsr (Play_Sound).l
@@ -111961,7 +111993,7 @@ FBZ1BGE_ChangeTopDown: loc_528DE:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
tst.w ($FFFFEED6).w
beq.s loc_528F0
move.w #$200,d1
@@ -111979,7 +112011,7 @@ FBZ1BGE_ChangeBottomUp: loc_52904:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
tst.w ($FFFFEED6).w
beq.s loc_52916
move.w #$200,d1
@@ -111996,7 +112028,7 @@ FBZ1BGE_ChangeLeftRight: jsr FBZ1_CheckBGChange(pc)
loc_5292A:
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
moveq #0,d2
tst.w ($FFFFEED6).w
beq.s loc_5293C
@@ -112014,7 +112046,7 @@ FBZ1BGE_ChangeRightLeft: jsr FBZ1_CheckBGChange(pc)
loc_52950:
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
moveq #0,d2
tst.w ($FFFFEED6).w
beq.s loc_52962
@@ -112035,11 +112067,11 @@ FBZ1BGE_Normal: movem.l d7-a0/a2-a3,-(sp)
moveq #$1C,d0
jsr (Load_PLC).l
- move.w #$401,($FFFFFE10).w
- clr.b ($FFFFEE33).w
- clr.b ($FFFFF76C).w
- clr.b ($FFFFF710).w
- clr.b ($FFFFF7AA).w
+ move.w #$401,(Current_zone_and_act).w
+ clr.b (Dynamic_resize_routine).w
+ clr.b (Object_load_routine).w
+ clr.b (Rings_manager_routine).w
+ clr.b (Boss_flag).w
clr.b ($FFFFFF97).w
jsr Clear_Switches(pc)
jsr (Load_Level).l
@@ -112052,10 +112084,10 @@ FBZ1BGE_Normal: sub.w d0,($FFFFB010).w
sub.w d0,($FFFFB05A).w
jsr Offset_ObjectsDuringTransition(pc)
- sub.w d0,($FFFFEE78).w
- sub.w d0,($FFFFEE80).w
- sub.w d0,($FFFFEE14).w
- sub.w d0,($FFFFEE16).w
+ sub.w d0,(Camera_X_pos).w
+ sub.w d0,(Camera_X_pos_copy).w
+ sub.w d0,(Camera_min_X_pos).w
+ sub.w d0,(Camera_max_X_pos).w
jsr Reset_TileOffsetPositionActual(pc)
jsr FBZ_Deform(pc)
jsr Reset_TileOffsetPositionEff(pc)
@@ -112078,8 +112110,8 @@ FBZ1BGE_GoDeform: move.w #$200,d1
loc_52A06:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #$20,d6
jsr Draw_TileRow(pc)
lea FBZ_InBGDeformArray(pc),a4
@@ -112098,13 +112130,13 @@ FBZ_Deform: tst.w ($FFFFEED6).w
bne.s loc_52A70
- move.w ($FFFFEE84).w,d0 ; Indoors
+ move.w (Camera_Y_pos_copy).w,d0 ; Indoors
asr.w #1,d0
move.w d0,d1
asr.w #5,d1
sub.w d1,d0
- move.w d0,($FFFFEE90).w ; Effective BG Y is slightly below half speed of normal BG Y
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w ; Effective BG Y is slightly below half speed of normal BG Y
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #4,d0
@@ -112135,10 +112167,10 @@ locret_52A6E: loc_52A70:
moveq #$16,d0 ; Outdoors
add.w ($FFFFEEDA).w,d0 ; Add offset of bobbing motion to 16
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
lea ($FFFFA800).w,a1
lea FBZ_OutBGDeformIndex(pc),a5
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #4,d0
@@ -112457,7 +112489,7 @@ loc_52CD8: jsr FBZ_Deform(pc) ; Do deformation as normal
jsr Reset_TileOffsetPositionEff(pc)
add.w d6,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,sp ; Finish here without doing anything else
@@ -112539,10 +112571,10 @@ Pal_FBZBGOutdoors: binclude "Levels\FBZ\Palettes\FBZ BG Outdoors.bin" FBZ2_ScreenInit:
move.w #$2C40,d0
- cmp.w ($FFFFEE78).w,d0
+ cmp.w (Camera_X_pos).w,d0
bhi.s loc_52E2C
move.w #4,($FFFFEEC0).w ; If screen X is past subboss battle, change screen event
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_min_X_pos).w
jsr SetUp_FBZ2BossEvent(pc)
clr.l ($FFFFEE98).w
clr.l ($FFFFEE9C).w ; Clear BG camera offset
@@ -112563,7 +112595,7 @@ loc_52E2C: FBZ2_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
move.w ($FFFFEEC0).w,d0
jmp loc_52E44(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -112612,7 +112644,7 @@ FBZ2_NoLayoutMod: loc_52E90:
jsr DrawTilesAsYouMove(pc)
- cmpi.w #$2B30,($FFFFEE78).w
+ cmpi.w #$2B30,(Camera_X_pos).w
bcs.s locret_52EAC
jsr SetUp_FBZ2BossEvent(pc) ; If Player passes certain point, set up the boss event
clr.l ($FFFFEE98).w
@@ -112749,7 +112781,7 @@ FBZ2_BackgroundInit: move.l #Obj_FBZOutdoorBGMotion,(a1)
loc_52FB6:
- cmpi.w #$2C40,($FFFFEE78).w
+ cmpi.w #$2C40,(Camera_X_pos).w
bcs.s loc_53002
move.w #$10,($FFFFEEC2).w ; If in boss event area, set BG event
move.w (a3),d0
@@ -112764,8 +112796,8 @@ loc_52FB6: jsr Refresh_PlaneFull(pc)
jsr PlainDeformation_Flipped(pc) ; Reverse deformation
jsr Get_BGActualEffectiveDiff(pc)
- move.w ($FFFFEE90).w,($FFFFF616).w
- move.w ($FFFFEE84).w,($FFFFF618).w
+ move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value).w
+ move.w (Camera_Y_pos_copy).w,(V_scroll_value_BG).w
addq.w #4,sp
locret_53000:
@@ -112804,7 +112836,7 @@ FBZ2BGE_ChangeTopDown: loc_5303C:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
tst.w ($FFFFEED6).w
beq.s loc_5304E
move.w #$200,d1
@@ -112822,7 +112854,7 @@ FBZ2BGE_ChangeBottomUp: loc_53060:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
tst.w ($FFFFEED6).w
beq.s loc_53072
move.w #$200,d1
@@ -112868,8 +112900,8 @@ loc_530BA: move.w #$200,d1
loc_530C4:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #$20,d6
jsr Draw_TileRow(pc)
lea FBZ_InBGDeformArray(pc),a4
@@ -112892,8 +112924,8 @@ loc_530F0: jsr PlainDeformation_Flipped(pc)
jsr Get_BGActualEffectiveDiff(pc)
jsr ShakeScreen_Setup(pc)
- move.w ($FFFFEE90).w,($FFFFF616).w
- move.w ($FFFFEE84).w,($FFFFF618).w
+ move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value).w
+ move.w (Camera_Y_pos_copy).w,(V_scroll_value_BG).w
addq.w #4,sp
tst.w ($FFFFEED8).w
beq.s locret_5318A
@@ -112906,26 +112938,26 @@ loc_530F0: add.w d0,($FFFFB05E).w
loc_53134:
- add.w d0,($FFFFEE7C).w
- add.w d0,($FFFFEE84).w
- add.w d0,($FFFFEE18).w
- add.w d0,($FFFFEE1A).w ; Add offset to camera Ys
- move.w ($FFFFEE1A).w,($FFFFEE12).w
+ add.w d0,(Camera_Y_pos).w
+ add.w d0,(Camera_Y_pos_copy).w
+ add.w d0,(Camera_min_Y_pos).w
+ add.w d0,(Camera_max_Y_pos).w ; Add offset to camera Ys
+ move.w (Camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
move.w ($FFFFEE98).w,d0
clr.w ($FFFFEE98).w
sub.w d0,($FFFFB010).w
loc_53156:
sub.w d0,($FFFFB05A).w ; Adjust X position of players
- sub.w d0,($FFFFEE78).w
+ sub.w d0,(Camera_X_pos).w
loc_5315E:
- sub.w d0,($FFFFEE80).w
- sub.w d0,($FFFFEE14).w
- sub.w d0,($FFFFEE16).w ; and of cameras
+ sub.w d0,(Camera_X_pos_copy).w
+ sub.w d0,(Camera_min_X_pos).w
+ sub.w d0,(Camera_max_X_pos).w ; and of cameras
movea.w ($FFFF8034).w,a1 ; $580 Y of FG
lea $5C(a1),a1 ; $2D00 X of FG
- move.w ($FFFF8000).w,d0
+ move.w (Level_layout_header).w,d0
subi.w #$14,d0
moveq #3,d1
@@ -112946,17 +112978,17 @@ locret_5318A: FBZ2_CloudDeform:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
subi.w #$300,d0
add.w ($FFFFEE9C).w,d0 ; Add camera BG Y to Y event offset
- move.w d0,($FFFFEE90).w ; Make that the effective Y
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w ; Make that the effective Y
+ move.w (Camera_X_pos_copy).w,d0
subi.w #$2600,d0
sub.w ($FFFFEE98).w,d0
- move.w d0,($FFFFEE8C).w ; Do the same with the X values
+ move.w d0,(Camera_X_pos_BG_copy).w ; Do the same with the X values
lea ($FFFFA800).w,a1
lea FBZ2_CloudDeformIndex(pc),a5
- move.w ($FFFFEE8C).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d0
swap d0
clr.w d0
asr.l #4,d0
@@ -112977,7 +113009,7 @@ loc_531D2: dbf d3,loc_531D2
lea ($FFFFA800).w,a1
lea ($FFFFEEEA).w,a5
- move.w ($FFFFEE90).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d0
move.w ($FFFFEECE).w,d1
sub.w d1,d0
asr.w #1,d0
@@ -113061,7 +113093,7 @@ loc_5327E: jsr FBZ_Deform(pc)
jsr Reset_TileOffsetPositionEff(pc)
add.w d6,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,sp
@@ -113074,14 +113106,14 @@ Obj_FBZEndBossEventControl: move.l #loc_532E0,(a0)
move.b #$11,6(a0)
bset #7,$2A(a0)
- move.w #$32B8,($FFFFEE16).w ; Set $32B8 as the X end
+ move.w #$32B8,(Camera_max_X_pos).w ; Set $32B8 as the X end
move.w #$3C,d0
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_532DC
addq.w #4,d0
loc_532DC:
- move.w d0,($FFFFEE18).w ; Set level Y start depending on whether Tails is playing or not. I guess this is because Tails' center point is slightly lower than Sonic's
+ move.w d0,(Camera_min_Y_pos).w ; Set level Y start depending on whether Tails is playing or not. I guess this is because Tails' center point is slightly lower than Sonic's
loc_532E0:
cmpi.w #$2E80,($FFFFB010).w
@@ -113100,11 +113132,11 @@ loc_532F0: move.l #loc_53322,(a0)
loc_53322:
- move.w ($FFFFEE18).w,d0
- cmp.w ($FFFFEE7C).w,d0
+ move.w (Camera_min_Y_pos).w,d0
+ cmp.w (Camera_Y_pos).w,d0
bne.s loc_5333A
- move.w d0,($FFFFEE1A).w ; Lock screen when camera has scrolled as high as possible
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_max_Y_pos).w ; Lock screen when camera has scrolled as high as possible
+ move.w d0,(Camera_target_max_Y_pos).w
move.l #loc_5333A,(a0)
loc_5333A:
@@ -113112,14 +113144,14 @@ loc_5333A: cmpi.w #$280,($FFFFB014).w
bcc.s loc_53348
- move.w ($FFFFEE78).w,($FFFFEE14).w ; If player is above $280 Y then lock screen X as you move
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w ; If player is above $280 Y then lock screen X as you move
loc_53348:
- move.w ($FFFFEE18).w,d0
- cmp.w ($FFFFEE1A).w,d0
+ move.w (Camera_min_Y_pos).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
bne.s loc_533A4
- move.w ($FFFFEE16).w,d0
- cmp.w ($FFFFEE14).w,d0
+ move.w (Camera_max_X_pos).w,d0
+ cmp.w (Camera_min_X_pos).w,d0
bne.s loc_533A4
move.w #$F0,($FFFFEEC8).w ; When the screen is completely locked, start proper Screen Events
move.w #$F,($FFFFEECA).w
@@ -113189,9 +113221,9 @@ loc_5341E: addi.w #$80,d2
addi.w #$100,d3
clr.w $30(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s FBZBossPillar_CheckPlayerPos
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.s FBZBossPillar_CheckPlayerPos
tst.w $30(a0)
beq.s loc_53456
@@ -113300,9 +113332,9 @@ FBZCloud_PositionFrameData: dc.w $1E0, $EC, 1 ; ---------------------------------------------------------------------------
ICZ1_ScreenInit:
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.s loc_53648 ; If not restarting from a lamppost
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_53648 ; And we're Knuckles
jsr (Create_New_Sprite).l
bne.s loc_53648
@@ -113310,17 +113342,17 @@ ICZ1_ScreenInit: move.w #$3640,($FFFFB010).w
move.w #$660,($FFFFB014).w
move.w #$35A0,d0
- move.w d0,($FFFFEE80).w
- move.w d0,($FFFFEE78).w
+ move.w d0,(Camera_X_pos_copy).w
+ move.w d0,(Camera_X_pos).w
move.w #$5FB,d0
- move.w d0,($FFFFEE84).w
- move.w d0,($FFFFEE7C).w
+ move.w d0,(Camera_Y_pos_copy).w
+ move.w d0,(Camera_Y_pos).w
loc_53648:
- move.w #$7FF,($FFFFEEAA).w
- move.w #$7F0,($FFFFEEAC).w
- move.w #$3C,($FFFFEEAE).w ; We're in a looping level!
+ move.w #$7FF,(Screen_Y_wrap_value).w
+ move.w #$7F0,(Camera_Y_pos_mask).w
+ move.w #$3C,(Layout_row_index_mask).w ; We're in a looping level!
jsr Reset_TileOffsetPositionActual(pc)
jmp Refresh_PlaneFull(pc)
; ---------------------------------------------------------------------------
@@ -113347,21 +113379,21 @@ loc_5366A: ICZ1SE_Init:
tst.w ($FFFFEECC).w
beq.s loc_53696
- tst.b ($FFFFF7CA).w ; If shaking due to hitting the wall, remove player control temporarily
+ tst.b (Ctrl_1_locked).w ; If shaking due to hitting the wall, remove player control temporarily
bne.s loc_53696
- st ($FFFFF7CA).w
- clr.w ($FFFFF602).w
+ st (Ctrl_1_locked).w
+ clr.w (Ctrl_1_logical).w
loc_53696:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE80).w
+ add.w d0,(Camera_X_pos_copy).w
bra.s ICZ1SE_Normal
; ---------------------------------------------------------------------------
ICZ1SE_WaitQuake:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
ICZ1SE_Normal:
@@ -113376,11 +113408,11 @@ loc_536B0: move.w (a1),$20(a1) ; Upper $400 of BG is mirrored in lower $400
addq.w #4,a1
dbf d0,loc_536B0
- move.w ($FFFFEE84).w,($FFFFEEB4).w
- move.w ($FFFFEE84).w,($FFFFEEB6).w ; Camera BG Y is noted in two variables
- cmpi.w #$3940,($FFFFEE78).w
+ move.w (Camera_Y_pos_copy).w,($FFFFEEB4).w
+ move.w (Camera_Y_pos_copy).w,($FFFFEEB6).w ; Camera BG Y is noted in two variables
+ cmpi.w #$3940,(Camera_X_pos).w
bcc.s loc_53704
- cmpi.w #$3580,($FFFFEE78).w
+ cmpi.w #$3580,(Camera_X_pos).w
bcs.s loc_536DC
addi.w #$2800,($FFFFEEB6).w ; If past $3580 X, adjust BG camera
@@ -113429,7 +113461,7 @@ ICZ1BGE_Intro: tst.w ($FFFFEEC6).w
beq.s loc_53780
clr.w ($FFFFEEC6).w ; If flag is set
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_5375C
addq.w #4,($FFFFEEC2).w ; Just go to next BG event if playing as Knuckles
bra.s loc_53780
@@ -113452,8 +113484,8 @@ loc_5376A: loc_53780:
jsr ICZ1_IntroDeform(pc) ; Deformation is pretty standard during the intro portion
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
move.w #$1880,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -113466,7 +113498,7 @@ loc_53780: ICZ1BGE_SnowFall:
tst.w ($FFFFEEC6).w
bne.s loc_537C6
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_53780
jsr ICZ1_BigSnowFall(pc) ; If Knuckles, skip
@@ -113490,7 +113522,7 @@ ICZ1BGE_Refresh: jsr ICZ1_Deform(pc)
jsr Reset_TileOffsetPositionEff(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -113501,8 +113533,8 @@ ICZ1BGE_Refresh2: jsr ICZ1_Deform(pc)
loc_5380E:
- move.w ($FFFFEE8C).w,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_X_pos_BG_copy).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr Draw_PlaneVertBottomUp(pc)
bpl.s loc_5387E
st ($FFFFEEE8).w ; Go indoors
@@ -113512,7 +113544,7 @@ loc_5380E: ; ---------------------------------------------------------------------------
ICZ1BGE_Normal:
- cmpi.w #$6900,($FFFFEE78).w
+ cmpi.w #$6900,(Camera_X_pos).w
bcs.s loc_5387A
movem.l d7-a0/a2-a3,-(sp)
lea (ICZ2_128x128_Secondary_Kos).l,a1
@@ -113539,20 +113571,20 @@ loc_5387E: ; ---------------------------------------------------------------------------
ICZ1BGE_Transition:
- tst.w ($FFFFFF0E).w
+ tst.w (Kos_decomp_queue_count).w
bne.w loc_53938
- move.w #$501,($FFFFFE10).w
- clr.b ($FFFFEE33).w
- clr.b ($FFFFF76C).w
- clr.b ($FFFFF710).w
- clr.b ($FFFFF7AA).w
+ move.w #$501,(Current_zone_and_act).w
+ clr.b (Dynamic_resize_routine).w
+ clr.b (Object_load_routine).w
+ clr.b (Rings_manager_routine).w
+ clr.b (Boss_flag).w
clr.b ($FFFFFF97).w
jsr Clear_Switches(pc)
movem.l d7-a0/a2-a3,-(sp)
jsr (Load_Level).l
jsr (LoadSolids).l
jsr (CheckLevelForWater).l
- move.w #-$7FEC,($C00004).l ; Turn on HInt since ICZ2 has water
+ move.w #-$7FEC,(VDP_control_port).l ; Turn on HInt since ICZ2 has water
moveq #$15,d0
jsr (LoadPalette_Immediate).l
movem.l (sp)+,d7-a0/a2-a3
@@ -113564,18 +113596,18 @@ ICZ1BGE_Transition: sub.w d1,($FFFFB05E).w
jsr Offset_ObjectsDuringTransition(pc)
jsr Offset_SomeObjectsDuringTransition(pc)
- sub.w d0,($FFFFEE78).w
- sub.w d1,($FFFFEE7C).w
- sub.w d0,($FFFFEE80).w
- sub.w d1,($FFFFEE84).w
+ sub.w d0,(Camera_X_pos).w
+ sub.w d1,(Camera_Y_pos).w
+ sub.w d0,(Camera_X_pos_copy).w
+ sub.w d1,(Camera_Y_pos_copy).w
move.l #$7000,d0
- move.l d0,($FFFFEE14).w
+ move.l d0,(Camera_min_X_pos).w
move.l #$B20,d0
- move.l d0,($FFFFEE18).w
- move.w d0,($FFFFEE12).w
- move.w #$FFF,($FFFFEEAA).w
- move.w #$FF0,($FFFFEEAC).w
- move.w #$7C,($FFFFEEAE).w
+ move.l d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
+ move.w #$FFF,(Screen_Y_wrap_value).w
+ move.w #$FF0,(Camera_Y_pos_mask).w
+ move.w #$7C,(Layout_row_index_mask).w
jsr Reset_TileOffsetPositionActual(pc)
clr.w ($FFFFEEC2).w
@@ -113589,14 +113621,14 @@ loc_53938: ICZ1_IntroDeform:
lea ($FFFFEEB4).w,a1
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w #$400,d2
move.w #$800,d3
jsr Adjust_BGDuringLoop(pc)
move.w ($FFFFEEB6).w,d0
asr.w #7,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
move.w ($FFFFEECE).w,d3
sub.w d3,d0
swap d0
@@ -113647,7 +113679,7 @@ ICZ1_BigSnowFall: addi.l #$2400,($FFFFEED6).w
move.l ($FFFFEED6).w,d0
sub.l d0,($FFFFEED2).w
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
subq.w #1,d0
andi.w #$F,d0
bne.s loc_539F0
@@ -113664,13 +113696,13 @@ loc_539DE: loc_539F0:
- move.w ($FFFFEE84).w,d0 ; Use portion of background to show snow object
+ move.w (Camera_Y_pos_copy).w,d0 ; Use portion of background to show snow object
subi.w #$460,d0
add.w ($FFFFEED2).w,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
subi.w #$1D40,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
rts
; End of function ICZ1_BigSnowFall
@@ -113680,15 +113712,15 @@ loc_539F0: ICZ1_Deform:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
asr.w #1,d0
- move.w d0,($FFFFEE90).w ; BG moves up/down at half speed
+ move.w d0,(Camera_Y_pos_BG_copy).w ; BG moves up/down at half speed
asr.w #1,d0
move.w d0,($FFFFEEE4).w ; Dynamic BG moves up/down at quarter speed
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
asr.w #1,d0
subi.w #$1D80,d0
- move.w d0,($FFFFEE8C).w ; BG moves left/right at half speed
+ move.w d0,(Camera_X_pos_BG_copy).w ; BG moves left/right at half speed
asr.w #1,d0
move.w d0,($FFFFEEE2).w ; Dynamic BG moves left/right at quarter speed
rts
@@ -113718,15 +113750,15 @@ loc_53A5A: jsr (SolidObjectTopSloped2).l
cmpi.w #$70E,$14(a0)
bne.s locret_53AD2
- tst.b ($FFFFF7CA).w
+ tst.b (Ctrl_1_locked).w
beq.s locret_53AD2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1) ; Wait till player is standing on ground
bne.s locret_53AD2
- move.b ($FFFFF605).w,d0
+ move.b (Ctrl_1_pressed).w,d0
andi.w #$70,d0 ; Wait until a jump button is pressed
beq.s locret_53AD2
- clr.b ($FFFFF7CA).w ; When done, unlock player
+ clr.b (Ctrl_1_locked).w ; When done, unlock player
move.w #-$600,$1A(a1)
bset #1,$2A(a1)
move.b #1,$40(a1)
@@ -113779,13 +113811,13 @@ loc_53ADE: lea ($FFFFFCB0).w,a1
move.w #$EA2,(a1)
move.w #$E80,4(a1) ; Slight change to palette
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #1,$2E(a1)
move.b #2,$20(a1)
bset #2,$2A(a1) ; Knuckles is under object control, spinning animation, and jumping
Obj_ICZTeleporterMain:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.l #$20000,d0
move.l #$800,d1
jsr (Gradual_SwingOffset).l ; Do gradual swing on Knuckles until he starts to reverse direction
@@ -113798,7 +113830,7 @@ Obj_ICZTeleporterMain: move.l #Obj_ICZTeleporterCheckDel,(a0)
Obj_ICZTeleporterCheckDel:
- cmpi.w #$3780,($FFFFEE80).w
+ cmpi.w #$3780,(Camera_X_pos_copy).w
bcs.s loc_53BEE
lea ($FFFFFC30).w,a1 ; When player moves far enough to the right, restore palette and delete object
move.w #$2C,(a1)
@@ -113846,6 +113878,7 @@ ICZ1_SnowpileSlopeDef: dc.b $56, $56 dc.b $46, $46
dc.b $45, $45
dc.b $44, $44
+
dc.b $43, $43
dc.b $42, $42
dc.b $41, $41
@@ -113925,19 +113958,19 @@ ICZ2_ScreenEvent: ICZ2_BackgroundInit:
move.w #4,($FFFFEEC2).w
- cmpi.w #$3600,($FFFFEE78).w ; Check ranges for either indoor/outdoor BGs
+ cmpi.w #$3600,(Camera_X_pos).w ; Check ranges for either indoor/outdoor BGs
bcc.s loc_53CF6
- cmpi.w #$720,($FFFFEE7C).w
+ cmpi.w #$720,(Camera_Y_pos).w
bcc.s loc_53D2C
- cmpi.w #$1000,($FFFFEE78).w
+ cmpi.w #$1000,(Camera_X_pos).w
bcc.s loc_53CF6
- cmpi.w #$580,($FFFFEE7C).w
+ cmpi.w #$580,(Camera_Y_pos).w
bcc.s loc_53D2C
loc_53CF6:
clr.w ($FFFFEEE8).w ; Outdoors
- cmpi.w #$720,($FFFFEE78).w
+ cmpi.w #$720,(Camera_X_pos).w
bcc.s loc_53D0A
jsr (ICZ2_SetICZ1Pal).l
bra.s loc_53D10
@@ -113984,7 +114017,7 @@ loc_53D5C: ICZ2BGE_FromICZ1:
addq.w #4,($FFFFEEC2).w ; This only applies when coming from ICZ 1
- cmpi.w #$580,($FFFFEE7C).w
+ cmpi.w #$580,(Camera_Y_pos).w
bcc.s loc_53D96
bra.w loc_53DFC
; ---------------------------------------------------------------------------
@@ -113992,12 +114025,12 @@ ICZ2BGE_FromICZ1: ICZ2BGE_Normal:
tst.w ($FFFFEEE8).w
bne.s loc_53DD8
- move.w ($FFFFEE78).w,d0 ; If outdoors
+ move.w (Camera_X_pos).w,d0 ; If outdoors
cmpi.w #$1000,d0
bcs.s loc_53DC4
cmpi.w #$3600,d0
bcc.s loc_53DC4
- cmpi.w #$720,($FFFFEE7C).w
+ cmpi.w #$720,(Camera_Y_pos).w
bcs.s loc_53DC4
loc_53D96:
@@ -114006,7 +114039,7 @@ loc_53D96: jsr (ICZ2_InDeform).l
jsr Reset_TileOffsetPositionEff(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -114025,7 +114058,7 @@ loc_53DCA: ; ---------------------------------------------------------------------------
loc_53DD8:
- move.w ($FFFFEE78).w,d0 ; If indoors
+ move.w (Camera_X_pos).w,d0 ; If indoors
cmpi.w #$1900,d0
bcs.s loc_53DE8
cmpi.w #$1B80,d0
@@ -114036,12 +114069,12 @@ loc_53DE8: bcs.s loc_53E38
cmpi.w #$3600,d0
bcc.s loc_53E38
- cmpi.w #$720,($FFFFEE7C).w
+ cmpi.w #$720,(Camera_Y_pos).w
bcc.s loc_53E38
loc_53DFC:
clr.w ($FFFFEEE8).w
- cmpi.w #$720,($FFFFEE78).w
+ cmpi.w #$720,(Camera_X_pos).w
bcc.s loc_53E10
jsr (ICZ2_SetICZ1Pal).l
bra.s loc_53E16
@@ -114054,7 +114087,7 @@ loc_53E16: jsr (ICZ2_OutDeform).l
jsr Reset_TileOffsetPositionEff(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -114067,8 +114100,8 @@ loc_53E38: loc_53E3E:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -114084,7 +114117,7 @@ ICZ2BGE_Refresh: loc_53E68:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr Draw_PlaneVertBottomUp(pc)
bpl.w loc_53DCA
subq.w #4,($FFFFEEC2).w
@@ -114096,7 +114129,7 @@ loc_53E7E: loc_53E84:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr Draw_PlaneVertBottomUp(pc)
bpl.s loc_53E3E
subq.w #4,($FFFFEEC2).w
@@ -114127,12 +114160,12 @@ loc_53ECC: loc_53EDC:
move.w (a1)+,d1
- and.w ($FFFFEEAC).w,d1
+ and.w (Camera_Y_pos_mask).w,d1
move.w d1,(a1)+ ; Set up tile offsets for VScroll array
dbf d0,loc_53EDC
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_53F06
- cmpi.w #$3B60,($FFFFEE78).w ; Skip this if Knuckles
+ cmpi.w #$3B60,(Camera_X_pos).w ; Skip this if Knuckles
bcs.s loc_53F0A
jsr (Create_New_Sprite).l
bne.s loc_53F06
@@ -114153,12 +114186,12 @@ loc_53F0A: LBZ1_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
jsr LBZ1_KnuxLevelSizeAdjust(pc)
cmpi.w #$55,($FFFFEEC4).w
bne.s loc_53F6A
clr.w ($FFFFEEC4).w
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_53F50
movea.w 8(a3),a1
move.b #-$26,$7D(a1) ; Changes the chunk where the boss appears
@@ -114259,7 +114292,7 @@ LBZ1_EventVScroll: beq.w loc_540AC
bpl.s loc_5401C
move.w #1,($FFFFEEC4).w
- move.w #4,($FFFFEEA6).w
+ move.w #4,(Special_V_int_routine).w
jsr (Create_New_Sprite).l
bne.s loc_5401C
move.l #Obj_LBZ1InvisibleBarrier,(a1)
@@ -114295,7 +114328,7 @@ loc_54062: swap d5
move.l d5,(a1)+
dbf d3,loc_54040
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
subq.w #1,d0
andi.w #$F,d0
bne.s loc_54082
@@ -114310,7 +114343,7 @@ loc_54082: bne.s loc_540AC
clr.w ($FFFFEECC).w
clr.w ($FFFFEEC4).w
- move.w #$C,($FFFFEEA6).w
+ move.w #$C,(Special_V_int_routine).w
jsr LBZ1_ModEndingLayout(pc)
lea ($FFFFA948).w,a1
moveq #$D,d0
@@ -114326,7 +114359,7 @@ loc_540AC: lea ($FFFFA900).w,a1
lea ($FFFFA930).w,a4
lea ($FFFFA948).w,a5
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
moveq #$B,d1
loc_540BE:
@@ -114378,7 +114411,7 @@ loc_540FC: LBZ1_KnuxLevelSizeAdjust:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s locret_54144 ; Only do this if playing as Knuckles
move.w ($FFFFB010).w,d0
cmpi.w #$37C0,d0 ; Basically this adjusts the top of the screen for Knuckles when he approaches the end of the level
@@ -114396,7 +114429,7 @@ LBZ1_KnuxLevelSizeAdjust: move.w #$40C,d1
loc_54140:
- move.w d1,($FFFFEE18).w
+ move.w d1,(Camera_min_Y_pos).w
locret_54144:
@@ -114429,7 +114462,7 @@ loc_54156: Obj_LBZ1InvisibleBarrier:
- cmpi.w #$3D80,($FFFFEE78).w
+ cmpi.w #$3D80,(Camera_X_pos).w
bcs.s loc_54172
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -114447,7 +114480,7 @@ loc_54172: ; ---------------------------------------------------------------------------
LBZ1_BackgroundInit:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_541C6
movea.w (a3),a1 ; Get rid of the death egg portion of the BG while playing as Knuckles. For obvious reasons.
addq.w #2,a1
@@ -114490,7 +114523,7 @@ LBZ1BGE_Normal: clr.w ($FFFFEEC6).w ; Yeah, normal transition nonsense for the level change
movem.l d7-a0/a2-a3,-(sp)
lea (LBZ2_128x128_Kos).l,a1
- lea ($FFFF0000).l,a2
+ lea (RAM_start).l,a2
jsr (Queue_Kos).l
lea (LBZ2_16x16_Secondary_Kos).l,a1
lea ($FFFF96B8).w,a2
@@ -114518,20 +114551,20 @@ loc_54248: ; ---------------------------------------------------------------------------
LBZ1BGE_DoTransition:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.w loc_5432E
- move.w #$601,($FFFFFE10).w
- clr.b ($FFFFEE33).w
- clr.b ($FFFFF76C).w
- clr.b ($FFFFF710).w
- clr.b ($FFFFF7AA).w
+ move.w #$601,(Current_zone_and_act).w
+ clr.b (Dynamic_resize_routine).w
+ clr.b (Object_load_routine).w
+ clr.b (Rings_manager_routine).w
+ clr.b (Boss_flag).w
clr.b ($FFFFFF97).w
jsr Clear_Switches(pc)
movem.l d7-a0/a2-a3,-(sp)
jsr (Load_Level).l
jsr (LoadSolids).l
jsr (CheckLevelForWater).l
- move.w #-$7FEC,($C00004).l ; Water in this stage yaaay
+ move.w #-$7FEC,(VDP_control_port).l ; Water in this stage yaaay
moveq #$17,d0
jsr (LoadPalette_Immediate).l
movem.l (sp)+,d7-a0/a2-a3
@@ -114541,10 +114574,10 @@ LBZ1BGE_DoTransition: sub.w d0,($FFFFB010).w
sub.w d0,($FFFFB05A).w
jsr Offset_ObjectsDuringTransition(pc)
- sub.w d0,($FFFFEE78).w
- sub.w d0,($FFFFEE80).w
- sub.w d0,($FFFFEE14).w
- sub.w d0,($FFFFEE16).w
+ sub.w d0,(Camera_X_pos).w
+ sub.w d0,(Camera_X_pos_copy).w
+ sub.w d0,(Camera_min_X_pos).w
+ sub.w d0,(Camera_max_X_pos).w
jsr Reset_TileOffsetPositionActual(pc)
clr.l ($FFFFEED2).w
clr.l ($FFFFEEE6).w
@@ -114552,7 +114585,7 @@ LBZ1BGE_DoTransition: clr.w ($FFFFEF40).w
clr.w ($FFFFEEBE).w
move.w #$40,($FFFFEEE2).w
- cmpi.w #$540,($FFFFEE7C).w
+ cmpi.w #$540,(Camera_Y_pos).w
bcs.s loc_5431C
neg.w ($FFFFEEE2).w
@@ -114590,7 +114623,7 @@ LBZ2_ScreenInit: LBZ2_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
move.w ($FFFFEEC0).w,d0
jmp loc_5437C(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -114602,7 +114635,7 @@ loc_5437C: ; ---------------------------------------------------------------------------
LBZ2SE_FromTransition:
- cmpi.w #3,($FFFFFF08).w ; Only run when going from transition, of course
+ cmpi.w #3,(Player_mode).w ; Only run when going from transition, of course
beq.s loc_543C2 ; Knuckles adjusts the layout immediately.
cmpi.w #$60A,($FFFFB010).w
bcs.s loc_5439E
@@ -114716,7 +114749,7 @@ LBZ2BGE_FromTransition: jsr LBZ2_Deform(pc) ; This and below are only done when transitioning
jsr Reset_TileOffsetPositionEff(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -114728,7 +114761,7 @@ LBZ2BGE_Refresh: loc_54488:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr Draw_PlaneVertBottomUp(pc)
bpl.s loc_544A4
addq.w #4,($FFFFEEC2).w
@@ -114742,8 +114775,8 @@ LBZ2BGE_Normal: loc_544A4:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -114758,14 +114791,14 @@ loc_544C6: move.w 8(a3),(a3)
move.w $C(a3),4(a3) ; Modify the background slightly
move.w #$4390,d0
- move.w d0,($FFFFEE16).w ; X-end is at $4390
+ move.w d0,(Camera_max_X_pos).w ; X-end is at $4390
move.w #$668,d0
- move.w d0,($FFFFEE1A).w ; Y-end is $668
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_max_Y_pos).w ; Y-end is $668
+ move.w d0,(Camera_target_max_Y_pos).w
move.w #$3C,($FFFFEEE0).w
move.w #$1E00,($FFFFEEA2).w
move.l #$6200,($FFFFEE9C).w
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
st ($FFFFEF40).w
addq.w #4,($FFFFEEC2).w
@@ -114779,7 +114812,7 @@ LBZ2BGE_DeathEgg: ; ---------------------------------------------------------------------------
loc_5451A:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
subq.w #1,d0
andi.w #$F,d0
bne.s loc_5452E
@@ -114795,23 +114828,23 @@ loc_5452E: bpl.w loc_545DE
clr.w ($FFFFEEC6).w ; When movement starts going negative
move.w #$1B,($FFFFEECA).w
- move.w #$10,($FFFFEEA6).w ; Do the first window copy
- clr.b ($FFFFF730).w ; No more water evidently
+ move.w #$10,(Special_V_int_routine).w ; Do the first window copy
+ clr.b (Water_flag).w ; No more water evidently
addq.w #4,($FFFFEEC2).w
bra.w loc_545DE
; ---------------------------------------------------------------------------
LBZ2BGE_PlatformDetach:
- tst.w ($FFFFEEA6).w
+ tst.w (Special_V_int_routine).w
bne.s sub_545DA ; Wait for window copy to finish
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #3,d0
bne.s loc_545AA
move.w ($FFFFEEE8).w,d0 ; Only ever four frames
cmpi.w #$28,d0
bcs.s loc_545A4
clr.w ($FFFFEEE8).w ; When scroll A has scrolled off screen
- move.w #$18,($FFFFEEA6).w ; Use the next Special VInt function to restore the entire platform
+ move.w #$18,(Special_V_int_routine).w ; Use the next Special VInt function to restore the entire platform
movea.w $2A(a3),a1
lea $87(a1),a1
clr.b (a1)
@@ -114831,10 +114864,10 @@ loc_545A4: loc_545AA:
bsr.s sub_545DA
- move.w ($FFFFEE84).w,($FFFFF616).w
- move.w ($FFFFEE90).w,($FFFFF618).w
+ move.w (Camera_Y_pos_copy).w,(V_scroll_value).w
+ move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w
move.w ($FFFFEEE8).w,d0
- add.w d0,($FFFFF616).w ; Actual vertical scroll is modified by EEE8.
+ add.w d0,(V_scroll_value).w ; Actual vertical scroll is modified by EEE8.
addq.w #4,sp
rts
; ---------------------------------------------------------------------------
@@ -114843,9 +114876,9 @@ LBZ2BGE_Falling: tst.w ($FFFFEEC6).w
beq.s sub_545DA ; Continue Death Egg deformation until signal
- st ($FFFFEE0A).w ; Set flag so that camera doesn't follow Sonic
- move.w ($FFFFEE7C).w,($FFFFEE84).w ; Scroll screen upwards
- subq.w #2,($FFFFEE7C).w
+ st (Scroll_lock).w ; Set flag so that camera doesn't follow Sonic
+ move.w (Camera_Y_pos).w,(Camera_Y_pos_copy).w ; Scroll screen upwards
+ subq.w #2,(Camera_Y_pos).w
rts
; =============== S U B R O U T I N E =======================================
@@ -114859,8 +114892,8 @@ loc_545DE: jsr LBZ2_DeathEggMoveScreen(pc)
jsr LBZ2_DeathEggDeform(pc)
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -114876,7 +114909,7 @@ loc_545DE: LBZ2_Deform:
- move.w ($FFFFEE84).w,d0 ; Oh hey, it's more waterline fun, wasn't this just so interesting the first timeno
+ move.w (Camera_Y_pos_copy).w,d0 ; Oh hey, it's more waterline fun, wasn't this just so interesting the first timeno
move.w ($FFFFEECE).w,d3
sub.w d3,d0
subi.w #$5F0,d0
@@ -114893,10 +114926,10 @@ LBZ2_Deform: move.w d0,d2
addi.w #$2C0,d0
add.w d3,d0
- move.w d0,($FFFFEE90).w ; Calculate effective Y position
+ move.w d0,(Camera_Y_pos_BG_copy).w ; Calculate effective Y position
sub.w d1,d2
move.w d2,($FFFFEEE2).w ; Water line equilibrium point
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
tst.w d2
@@ -114998,7 +115031,7 @@ loc_546FA: move.l d1,d3
asr.l #3,d3
swap d1
- move.w d1,($FFFFEE8C).w ; Effective X
+ move.w d1,(Camera_X_pos_BG_copy).w ; Effective X
move.w d1,-(a1)
swap d1
sub.l d3,d1
@@ -115118,7 +115151,7 @@ loc_547D2: loc_547E6:
lea ($FFFFA9DE).w,a1
lea LBZ_WaterWaveArray(pc),a5 ; Water wave array
- move.w ($FFFFFE04).w,d1
+ move.w (Level_frame_counter).w,d1
asr.w #1,d1
andi.w #$7E,d1
adda.w d1,a5
@@ -115143,7 +115176,7 @@ locret_5480A: LBZ2_DeathEggDeform:
- move.w ($FFFFEE84).w,d0 ; Oh no, I'm not commenting all of this again.
+ move.w (Camera_Y_pos_copy).w,d0 ; Oh no, I'm not commenting all of this again.
move.w ($FFFFEECE).w,d3
sub.w d3,d0
subi.w #$5F0,d0
@@ -115186,7 +115219,7 @@ loc_5485C: loc_5486C:
add.w ($FFFFEEA0).w,d0
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
tst.w ($FFFFEEA0).w
beq.s loc_5488A
@@ -115198,7 +115231,7 @@ loc_5487A: ; ---------------------------------------------------------------------------
loc_54886:
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
loc_5488A:
tst.w ($FFFFEE9C).w
@@ -115211,7 +115244,7 @@ loc_54894: loc_54898:
move.w d2,($FFFFEEE2).w
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
move.l d0,d1
@@ -115335,7 +115368,7 @@ loc_54968: loc_549A0:
lea ($FFFFA8EC).w,a1
lea LBZ_WaterWaveArray2(pc),a5
- move.w ($FFFFFE04).w,d1
+ move.w (Level_frame_counter).w,d1
asr.w #1,d1
andi.w #$7E,d1
adda.w d1,a5
@@ -115360,22 +115393,22 @@ loc_549BC: LBZ2_DeathEggMoveScreen:
cmpi.b #6,($FFFFB005).w
bcc.w locret_54A92 ; If dying, don't bother
- tst.b ($FFFFEE0A).w
+ tst.b (Scroll_lock).w
beq.s loc_549FC ; Skip if flag turned off
move.w ($FFFFB010).w,d0
- sub.w ($FFFFEE78).w,d0
+ sub.w (Camera_X_pos).w,d0
subi.w #$A0,d0
bcs.s loc_549E8
- add.w d0,($FFFFEE78).w ; Move screen along with player in robotnik ship
+ add.w d0,(Camera_X_pos).w ; Move screen along with player in robotnik ship
loc_549E8:
- cmpi.w #$4390,($FFFFEE78).w
+ cmpi.w #$4390,(Camera_X_pos).w
bcc.s loc_549F8
- cmpi.w #$668,($FFFFEE7C).w
+ cmpi.w #$668,(Camera_Y_pos).w
bcs.s loc_549FC
loc_549F8:
- clr.b ($FFFFEE0A).w ; Stop movement when screen edge is reached
+ clr.b (Scroll_lock).w ; Stop movement when screen edge is reached
loc_549FC:
@@ -115386,16 +115419,16 @@ loc_549FC: ; ---------------------------------------------------------------------------
loc_54A0A:
- cmpi.w #$4390,($FFFFEE78).w
+ cmpi.w #$4390,(Camera_X_pos).w
bcs.s loc_54A1A
- move.w ($FFFFEE16).w,d0
- move.w d0,($FFFFEE14).w
+ move.w (Camera_max_X_pos).w,d0
+ move.w d0,(Camera_min_X_pos).w
loc_54A1A:
- cmpi.w #$668,($FFFFEE7C).w
+ cmpi.w #$668,(Camera_Y_pos).w
bcs.s loc_54A2A
- move.w ($FFFFEE1A).w,d0
- move.w d0,($FFFFEE18).w ; Lock screen when edges are reached
+ move.w (Camera_max_Y_pos).w,d0
+ move.w d0,(Camera_min_Y_pos).w ; Lock screen when edges are reached
loc_54A2A:
lea ($FFFFEED4).w,a1
@@ -115407,7 +115440,7 @@ loc_54A2A: sub.w 8(a1),d0
move.w d1,8(a1)
move.w #$2200,d1
- tst.b ($FFFFEE0A).w
+ tst.b (Scroll_lock).w
bne.s loc_54A50
move.l ($FFFFEE9C).w,d1 ; Get BG movement speed if edge of screen is reached
@@ -115417,14 +115450,14 @@ loc_54A50: move.w d1,d2
sub.w $A(a1),d1
move.w d2,$A(a1)
- tst.b ($FFFFEE0A).w
+ tst.b (Scroll_lock).w
beq.s loc_54A74
movea.w ($FFFFEED2).w,a5 ; If movement is still going
add.w d0,$14(a5) ; Add Y movement to screen and robotnik ship
- add.w d0,($FFFFEE7C).w
+ add.w d0,(Camera_Y_pos).w
loc_54A74:
- move.w ($FFFFF64A).w,d2
+ move.w (Target_water_level).w,d2
add.w d0,d2
add.w d1,d2
cmpi.w #$F00,d2
@@ -115432,7 +115465,7 @@ loc_54A74: move.w #$F80,d2
loc_54A86:
- move.w d2,($FFFFF64A).w
+ move.w d2,(Target_water_level).w
move.w d0,($FFFFEEE6).w
add.w d1,($FFFFEEE6).w
@@ -115468,11 +115501,11 @@ MHZ1_ScreenInit: clr.w ($FFFFEEE8).w
clr.b ($FFFFF7C1).w
jsr sub_54B80(pc)
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
beq.s loc_54B18
- move.b ($FFFFFE2A).w,d0
+ move.b (Last_star_post_hit).w,d0
beq.s loc_54AE0
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_54B18
subq.b #1,d0
bne.s loc_54B18
@@ -115483,21 +115516,21 @@ MHZ1_ScreenInit: loc_54AE0:
move.w #$560,d2
move.w #$948,d3
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_54B08
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #$718,$10(a1)
move.w #$62D,$14(a1)
move.w #$680,d2
move.w #$5CD,d3
loc_54B08:
- move.w d3,($FFFFEE7C).w
- move.w d3,($FFFFEE84).w
+ move.w d3,(Camera_Y_pos).w
+ move.w d3,(Camera_Y_pos_copy).w
loc_54B10:
- move.w d2,($FFFFEE78).w
- move.w d2,($FFFFEE80).w
+ move.w d2,(Camera_X_pos).w
+ move.w d2,(Camera_X_pos_copy).w
loc_54B18:
@@ -115517,17 +115550,17 @@ MHZ1_ScreenEvent: move.w #$710,d0
loc_54B40:
- cmp.w ($FFFFEE1A).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
beq.s loc_54B4E
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
loc_54B4E:
- cmpi.w #$710,($FFFFEE7C).w
+ cmpi.w #$710,(Camera_Y_pos).w
bcs.s loc_54B7C
- cmpi.w #$4298,($FFFFEE78).w
+ cmpi.w #$4298,(Camera_X_pos).w
bcs.s loc_54B7C
- move.w #$710,($FFFFEE18).w
+ move.w #$710,(Camera_min_Y_pos).w
move.w #8,($FFFFEEB2).w
st ($FFFFEED2).w
jsr (Create_New_Sprite).l
@@ -115544,7 +115577,7 @@ loc_54B7C: sub_54B80:
move.w #$680,d0
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_54B98
moveq #0,d0
cmpi.w #$580,($FFFFB014).w
@@ -115553,9 +115586,9 @@ sub_54B80: loc_54B98:
- cmp.w ($FFFFEE14).w,d0
+ cmp.w (Camera_min_X_pos).w,d0
beq.s locret_54BA2
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_min_X_pos).w
locret_54BA2:
rts
@@ -115564,8 +115597,8 @@ locret_54BA2: ; ---------------------------------------------------------------------------
MHZ1_BackgroundInit:
- move.w ($FFFFEE80).w,($FFFFEEB4).w
- move.w ($FFFFEE80).w,($FFFFEEB6).w
+ move.w (Camera_X_pos_copy).w,($FFFFEEB4).w
+ move.w (Camera_X_pos_copy).w,($FFFFEEB6).w
jsr sub_54C68(pc)
jsr Reset_TileOffsetPositionEff(pc)
moveq #0,d1
@@ -115580,11 +115613,11 @@ MHZ1_BackgroundEvent: movem.l d7-a0/a2-a3,-(sp)
moveq #$28,d0
jsr (Load_PLC).l
- move.w #$701,($FFFFFE10).w
- clr.b ($FFFFEE33).w
- clr.b ($FFFFF76C).w
- clr.b ($FFFFF710).w
- clr.b ($FFFFF7AA).w
+ move.w #$701,(Current_zone_and_act).w
+ clr.b (Dynamic_resize_routine).w
+ clr.b (Object_load_routine).w
+ clr.b (Rings_manager_routine).w
+ clr.b (Boss_flag).w
clr.b ($FFFFFF97).w
jsr Clear_Switches(pc)
jsr (Load_Level).l
@@ -115595,24 +115628,24 @@ MHZ1_BackgroundEvent: sub.w d0,($FFFFB010).w
sub.w d0,($FFFFB05A).w
jsr sub_54CF4(pc)
- sub.w d0,($FFFFEE78).w
- sub.w d0,($FFFFEE80).w
- move.w ($FFFFEE80).w,($FFFFEEB4).w
- sub.w d0,($FFFFEE14).w
- sub.w d0,($FFFFEE16).w
+ sub.w d0,(Camera_X_pos).w
+ sub.w d0,(Camera_X_pos_copy).w
+ move.w (Camera_X_pos_copy).w,($FFFFEEB4).w
+ sub.w d0,(Camera_min_X_pos).w
+ sub.w d0,(Camera_max_X_pos).w
jsr Reset_TileOffsetPositionActual(pc)
clr.w ($FFFFEEB2).w
clr.b ($FFFFEED2).w
loc_54C3C:
lea ($FFFFEEB4).w,a1
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
move.w #$100,d2
move.w #$200,d3
jsr Adjust_BGDuringLoop(pc)
jsr sub_54C68(pc)
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -115623,7 +115656,7 @@ loc_54C3C: sub_54C68:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
swap d0
clr.w d0
asr.l #3,d0
@@ -115632,7 +115665,7 @@ sub_54C68: add.l d1,d0
swap d0
addi.w #$76,d0
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
move.w ($FFFFEEB6).w,d0
swap d0
clr.w d0
@@ -115642,7 +115675,7 @@ sub_54C68: sub.l d1,d0
asr.l #1,d1
swap d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
swap d0
sub.l d1,d0
swap d0
@@ -115658,7 +115691,7 @@ sub_54C68: loc_54CB0:
clr.w ($FFFFEEBC).w
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
cmpi.w #$4400,d0
bcs.s loc_54CEE
move.w #$200,d1
@@ -115669,16 +115702,16 @@ loc_54CB0: move.w d0,d1
andi.w #-$10,d1
subi.w #$10,d1
- move.w d1,($FFFFEE88).w
+ move.w d1,(Camera_X_pos_rounded).w
loc_54CDE:
- move.w d0,($FFFFEE78).w
- move.w d0,($FFFFEE80).w
+ move.w d0,(Camera_X_pos).w
+ move.w d0,(Camera_X_pos_copy).w
move.w #$4298,d2
- move.w d2,($FFFFEE16).w
+ move.w d2,(Camera_max_X_pos).w
loc_54CEE:
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_min_X_pos).w
locret_54CF2:
rts
@@ -115737,8 +115770,8 @@ MHZ2_ScreenInit: loc_54D72:
- lea ($FFFFFC40).w,a5
- lea ($FFFFFCC0).w,a6
+ lea (Normal_palette_line_3).w,a5
+ lea (Target_palette_line_3).w,a6
moveq #$F,d0
loc_54D7C:
@@ -115751,7 +115784,7 @@ loc_54D7C: MHZ2_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE80).w
+ add.w d0,(Camera_X_pos_copy).w
move.w ($FFFFEEC0).w,d0
jmp loc_54D9C(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -115788,33 +115821,33 @@ loc_54DBE: ; ---------------------------------------------------------------------------
loc_54DDC:
- cmpi.w #$3C90,($FFFFEE78).w
+ cmpi.w #$3C90,(Camera_X_pos).w
bcs.s loc_54E00
bne.w loc_54E7E
- move.w #$3C90,($FFFFEE14).w
- cmpi.w #$280,($FFFFEE7C).w
+ move.w #$3C90,(Camera_min_X_pos).w
+ cmpi.w #$280,(Camera_Y_pos).w
bcs.w loc_54E7E
- move.w #$280,($FFFFEE18).w
+ move.w #$280,(Camera_min_Y_pos).w
bra.s loc_54E7E
; ---------------------------------------------------------------------------
loc_54E00:
move.w #$620,d0
- cmpi.w #$380,($FFFFEE78).w
+ cmpi.w #$380,(Camera_X_pos).w
bcs.s loc_54E1A
moveq #0,d0
- cmpi.w #$3600,($FFFFEE78).w
+ cmpi.w #$3600,(Camera_X_pos).w
bcs.s loc_54E1A
move.w #$1A8,d0
loc_54E1A:
- cmp.w ($FFFFEE18).w,d0
+ cmp.w (Camera_min_Y_pos).w,d0
beq.s loc_54E24
- move.w d0,($FFFFEE18).w
+ move.w d0,(Camera_min_Y_pos).w
loc_54E24:
- cmpi.w #$3600,($FFFFEE78).w
+ cmpi.w #$3600,(Camera_X_pos).w
bcc.s loc_54E4C
move.w #$98,d0
cmpi.w #$5C0,($FFFFB014).w
@@ -115822,11 +115855,11 @@ loc_54E24: move.w #$380,d0
loc_54E3C:
- cmp.w ($FFFFEE14).w,d0
+ cmp.w (Camera_min_X_pos).w,d0
beq.s loc_54E4C
tst.w ($FFFFEEE8).w
bne.s loc_54E4C
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_min_X_pos).w
loc_54E4C:
@@ -115842,10 +115875,10 @@ loc_54E4C: loc_54E70:
- cmp.w ($FFFFEE1A).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
beq.s loc_54E7E
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
loc_54E7E:
@@ -115854,7 +115887,7 @@ loc_54E7E: ; ---------------------------------------------------------------------------
loc_54E86:
- move.w ($FFFFEE80).w,($FFFFA804).w
+ move.w (Camera_X_pos_copy).w,($FFFFA804).w
lea word_550D2(pc),a4
lea ($FFFFA800).w,a5
moveq #$15,d6
@@ -115881,7 +115914,7 @@ loc_54E9C: move.w (a1)+,d0
andi.w #-$10,d0
move.w d0,(a1)+
- lea ($FFFFFC20).w,a1
+ lea (Normal_palette_line_2).w,a1
lea Pal_MHZ2Ship(pc),a5
moveq #7,d0
@@ -115911,10 +115944,10 @@ loc_54F2A: move.w #-$6000,d2
jsr (Queue_Kos_Module).l
movem.l (sp)+,d7-a0/a2-a3
- move.w #$4EF9,($FFFFFFF6).w
- move.l #HInt6,($FFFFFFF8).w
- move.b #-$80,($FFFFF625).w
- move.w #-$7FEC,($C00004).l
+ move.w #$4EF9,(H_int_jump).w
+ move.l #HInt6,(H_int_addr).w
+ move.b #-$80,(H_int_counter).w
+ move.w #-$7FEC,(VDP_control_port).l
addq.w #4,($FFFFEEC0).w
locret_54F62:
@@ -115931,7 +115964,7 @@ loc_54F64: lea word_550D6(pc),a4
lea ($FFFFA804).w,a6
moveq #2,d5
- move.w ($FFFFEE8A).w,d6
+ move.w (Camera_Y_pos_rounded).w,d6
jmp Draw_BGNoVert(pc)
; =============== S U B R O U T I N E =======================================
@@ -115939,18 +115972,18 @@ loc_54F64: sub_54F8C:
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
move.w d0,($FFFFA808).w
addi.w #$1E0,d0
add.w ($FFFFEE98).w,d0
move.w ($FFFFA800).w,d2
move.w d0,($FFFFA800).w
move.w ($FFFFEE9C).w,d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.b #-$7F,$2E(a1)
bne.s loc_54FD4
move.w #$2DC,d3
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_54FC4
move.w #$2CD,d3
@@ -116119,7 +116152,7 @@ loc_550B8: loc_550C4:
- lea ($FFFFFC40).w,a5
+ lea (Normal_palette_line_3).w,a5
moveq #$F,d0
loc_550CA:
@@ -116148,8 +116181,8 @@ word_5513E: dc.w $420, $4A0, $640, $6C0 ; ---------------------------------------------------------------------------
MHZ2_BackgroundInit:
- move.w ($FFFFEE80).w,($FFFFEEB4).w
- move.w ($FFFFEE80).w,($FFFFEEB6).w
+ move.w (Camera_X_pos_copy).w,($FFFFEEB4).w
+ move.w (Camera_X_pos_copy).w,($FFFFEEB6).w
cmpi.w #$3700,($FFFFB010).w
bcs.s loc_55198
cmpi.w #$500,($FFFFB014).w
@@ -116172,7 +116205,7 @@ loc_5519C: MHZ2_BackgroundEvent:
lea ($FFFFEEB4).w,a1
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
move.w #$100,d2
move.w #$200,d3
jsr Adjust_BGDuringLoop(pc)
@@ -116210,7 +116243,7 @@ loc_551EE: jsr sub_554B8(pc)
jsr Reset_TileOffsetPositionEff(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -116223,8 +116256,8 @@ loc_5521E: loc_55222:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -116236,7 +116269,7 @@ loc_55236: loc_5523A:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr Draw_PlaneVertSingleBottomUp(pc)
bpl.w loc_552E4
addq.w #4,($FFFFEEC2).w
@@ -116249,7 +116282,7 @@ loc_55250: jsr sub_54C68(pc)
jsr Reset_TileOffsetPositionEff(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -116265,7 +116298,7 @@ loc_5527A: loc_5528A:
movem.l d7-a0/a2-a3,-(sp)
lea (MHZ_Custom_Layout).l,a1
- lea ($FFFF8000).w,a2
+ lea (Level_layout_header).w,a2
move.w #$1FF,d0
loc_5529C:
@@ -116291,8 +116324,8 @@ loc_552E0: loc_552E4:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
@@ -116304,7 +116337,7 @@ loc_552F8: loc_552FC:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr Draw_PlaneVertSingleBottomUp(pc)
bpl.w loc_55222
clr.w ($FFFFEEC2).w
@@ -116315,11 +116348,11 @@ loc_55312: tst.b ($FFFFEED2).w
bne.s loc_55380
- cmpi.w #$3F00,($FFFFEE78).w
+ cmpi.w #$3F00,(Camera_X_pos).w
bcs.w loc_55486
addq.w #4,($FFFFEEC0).w
clr.l ($FFFFA800).w
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
move.w d0,($FFFFA804).w
andi.w #-$10,d0
move.w d0,($FFFFA806).w
@@ -116327,13 +116360,13 @@ loc_55312: move.w #2,($FFFFEECA).w
st ($FFFFEED2).w
lea word_558E8(pc),a1
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_5535A
lea $10(a1),a1
loc_5535A:
move.b (a1),($FFFFEED9).w
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
move.w #$C,($FFFFEEB2).w
movem.l d7-a0/a2-a3,-(sp)
lea (ArtKosM_MHZEndBossPillar).l,a1
@@ -116344,7 +116377,7 @@ loc_5535A: loc_55380:
move.w #$4000,d1
move.w #$180,d2
- lea ($FFFF8008).w,a3
+ lea (Level_layout_main).w,a3
move.w #-$4000,d7
jsr Draw_PlaneVertSingleBottomUp(pc)
addq.w #2,a3
@@ -116411,7 +116444,7 @@ loc_5543A: loc_5545A:
move.w #$4080,d1
move.w #$280,d2
- lea ($FFFF8008).w,a3
+ lea (Level_layout_main).w,a3
move.w #-$4000,d7
jsr Draw_PlaneVertTopDown(pc)
addq.w #2,a3
@@ -116425,16 +116458,16 @@ loc_5545A: loc_55486:
jsr sub_554B8(pc)
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr Draw_TileRow(pc)
jsr sub_5550C(pc)
cmpi.w #$10,($FFFFEEC0).w
bne.s loc_554B4
- move.w ($FFFFEE9C).w,($FFFFF616).w
- move.w ($FFFFEE90).w,($FFFFF618).w
+ move.w ($FFFFEE9C).w,(V_scroll_value).w
+ move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w
addq.w #4,sp
loc_554B4:
@@ -116445,7 +116478,7 @@ loc_554B4: sub_554B8:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
subi.w #$280,d0
swap d0
clr.w d0
@@ -116455,7 +116488,7 @@ sub_554B8: add.l d1,d0
swap d0
addi.w #$180,d0
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
move.w ($FFFFEEB6).w,d0
move.w ($FFFFEECE).w,d2
sub.w d2,d0
@@ -116468,7 +116501,7 @@ sub_554B8: asr.l #1,d1
swap d0
add.w d2,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
swap d0
sub.l d1,d0
swap d0
@@ -116488,7 +116521,7 @@ sub_5550C: jsr PlainDeformation(pc)
cmpi.w #$10,($FFFFEEC0).w
bne.s loc_55534
- lea ($FFFFE000).w,a1
+ lea (H_scroll_buffer).w,a1
move.w ($FFFFA800).w,d0
neg.w d0
moveq #$3F,d1
@@ -116505,8 +116538,8 @@ loc_55524: loc_55534:
tst.b ($FFFFEED2).w
beq.s loc_55552
- lea ($FFFFE000).w,a1
- move.w ($FFFFEE8C).w,d0
+ lea (H_scroll_buffer).w,a1
+ move.w (Camera_X_pos_BG_copy).w,d0
neg.w d0
moveq #$17,d1
@@ -116520,7 +116553,7 @@ loc_55546: loc_55552:
tst.b ($FFFFEED3).w
beq.w locret_5560A
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
subi.w #$4180,d0
cmpi.w #-$140,d0
blt.w loc_555FC
@@ -116554,7 +116587,7 @@ loc_55586: loc_555A4:
lea ($FFFFE002).w,a1
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
subi.w #$80,d0
neg.w d0
swap d0
@@ -116580,7 +116613,7 @@ loc_555D2: move.w (a5),d2
subi.w #$48,d2
andi.w #$1FF,d2
- add.w ($FFFFEE78).w,d2
+ add.w (Camera_X_pos).w,d2
move.w d2,$10(a6)
btst #0,d1
bne.s loc_555F6
@@ -116610,9 +116643,9 @@ locret_5560A: loc_5560C:
clr.w ($FFFFEEBC).w
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addq.w #4,d0
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_55620
addq.w #1,d0
@@ -116625,8 +116658,8 @@ loc_55620: cmpi.w #$4420,d0
bcs.s loc_5569A
move.w #$4420,d0
- move.w #$45A0,($FFFFEE16).w
- st ($FFFFEE0A).w
+ move.w #$45A0,(Camera_max_X_pos).w
+ st (Scroll_lock).w
clr.w ($FFFFEEB2).w
bra.s loc_5569E
; ---------------------------------------------------------------------------
@@ -116640,12 +116673,12 @@ loc_5564A: move.w d0,d1
andi.w #-$10,d1
subi.w #$10,d1
- move.w d1,($FFFFEE88).w
+ move.w d1,(Camera_X_pos_rounded).w
addq.w #1,($FFFFEEDA).w
move.w ($FFFFEEDA).w,d1
andi.w #$F,d1
lea word_558E8(pc),a1
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_55686
lea $10(a1),a1
@@ -116658,17 +116691,17 @@ loc_55686: loc_5569A:
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_max_X_pos).w
loc_5569E:
- move.w d0,($FFFFEE78).w
- move.w d0,($FFFFEE80).w
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_X_pos).w
+ move.w d0,(Camera_X_pos_copy).w
+ move.w d0,(Camera_min_X_pos).w
move.w d0,d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_556B8
move.w d1,d0
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; =============== S U B R O U T I N E =======================================
@@ -116684,7 +116717,7 @@ loc_556C4: bls.s loc_556E8
move.w d0,$10(a1)
move.w #$400,$1C(a1)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s locret_556F6
move.w #$500,$1C(a1)
bra.s locret_556F6
@@ -116844,11 +116877,11 @@ loc_55888: bgt.s loc_558AC
st ($FFFFFAA9).w
st ($FFFFEEC4).w
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
loc_558AC:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
subq.w #1,d0
andi.w #$F,d0
bne.s locret_558C0
@@ -116907,7 +116940,7 @@ SOZ1_ScreenInit: SOZ1_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
jmp DrawTilesAsYouMove(pc)
; ---------------------------------------------------------------------------
@@ -116950,7 +116983,7 @@ loc_55A9A: jsr sub_55DB6(pc)
jsr Reset_TileOffsetPositionEff(pc)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -116964,12 +116997,12 @@ loc_55ACE: move.w #$960,d0
loc_55ADE:
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
jsr sub_55E96(pc)
jsr sub_55D56(pc)
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr (Draw_TileRow).l
@@ -116980,8 +117013,8 @@ loc_55B04: jsr sub_55DB6(pc)
loc_55B08:
- move.w ($FFFFEE8C).w,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_X_pos_BG_copy).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr Draw_PlaneVertBottomUp(pc)
bpl.w loc_55BA2
movem.l d7-a0/a2-a3,-(sp)
@@ -117016,7 +117049,7 @@ loc_55B70: bhi.s loc_55B9E
cmpi.w #$9A8,($FFFFB014).w
bcs.s loc_55B9E
- tst.w ($FFFFFF08).w
+ tst.w (Player_mode).w
bne.s loc_55BB4
cmp.w ($FFFFB05A).w,d0
bcs.s loc_55BB4
@@ -117037,10 +117070,10 @@ loc_55BA2: loc_55BB4:
- move.w #$F,($FFFFF626).w
+ move.w #$F,(Palette_fade_info).w
move.w #$15,($FFFFEED6).w
move.w #$10,($FFFFEED8).w
- st ($FFFFEE50).w
+ st (Palette_fade_timer).w
addq.w #4,($FFFFEEC2).w
loc_55BCE:
@@ -117071,8 +117104,9 @@ loc_55BFE: jmp sub_55E4C(pc)
; ---------------------------------------------------------------------------
+
loc_55C10:
- move.w #$401F,($FFFFF626).w
+ move.w #$401F,(Palette_fade_info).w
move.w #$15,($FFFFEED6).w
move.w #8,($FFFFEED8).w
addq.w #4,($FFFFEEC2).w
@@ -117114,20 +117148,20 @@ loc_55C4E: ; ---------------------------------------------------------------------------
loc_55C84:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.w locret_55D54
- move.w #$801,($FFFFFE10).w
- clr.b ($FFFFEE33).w
- clr.b ($FFFFF76C).w
- clr.b ($FFFFF710).w
- clr.b ($FFFFF7AA).w
+ move.w #$801,(Current_zone_and_act).w
+ clr.b (Dynamic_resize_routine).w
+ clr.b (Object_load_routine).w
+ clr.b (Rings_manager_routine).w
+ clr.b (Boss_flag).w
clr.b ($FFFFFF97).w
jsr Clear_Switches(pc)
movem.l d7-a0/a2-a3,-(sp)
jsr (Load_Level).l
jsr (LoadSolids).l
moveq #3,d0
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_55CC6
moveq #5,d0
@@ -117139,7 +117173,7 @@ loc_55CC6: jsr (LoadPalette_Immediate).l
movem.l (sp)+,d7-a0/a2-a3
jsr sub_55EFC(pc)
- lea ($FFFFFC40).w,a1
+ lea (Normal_palette_line_3).w,a1
moveq #$F,d0
loc_55CEA:
@@ -117159,15 +117193,15 @@ loc_55CEA: move.w d1,($FFFFB05E).w
move.w #$A0,d0
move.w #$34C,d1
- move.w d0,($FFFFEE78).w
- move.w d1,($FFFFEE7C).w
- move.w d0,($FFFFEE80).w
- move.w d1,($FFFFEE84).w
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE16).w
- move.w d1,($FFFFEE18).w
- move.w d1,($FFFFEE1A).w
- move.w d1,($FFFFEE12).w
+ move.w d0,(Camera_X_pos).w
+ move.w d1,(Camera_Y_pos).w
+ move.w d0,(Camera_X_pos_copy).w
+ move.w d1,(Camera_Y_pos_copy).w
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_max_X_pos).w
+ move.w d1,(Camera_min_Y_pos).w
+ move.w d1,(Camera_max_Y_pos).w
+ move.w d1,(Camera_target_max_Y_pos).w
clr.l ($FFFFEED4).w
clr.w ($FFFFEEC6).w
clr.w ($FFFFEEC2).w
@@ -117180,17 +117214,17 @@ locret_55D54: sub_55D56:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
asr.w #4,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #4,d0
move.l d0,d1
asr.l #1,d1
swap d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
swap d0
swap d1
move.w d1,($FFFFEEE2).w
@@ -117216,7 +117250,7 @@ sub_55D94: tst.w ($FFFFEECC).w
bpl.s sub_55DB6
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #3,d0
beq.s sub_55DB6
addq.w #1,($FFFFEE9C).w
@@ -117232,7 +117266,7 @@ sub_55D94: sub_55DB6:
tst.w ($FFFFEECC).w
bpl.s loc_55DD0
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
subq.w #1,d0
andi.w #$F,d0
bne.s loc_55DD0
@@ -117241,13 +117275,13 @@ sub_55DB6: loc_55DD0:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
subi.w #$900,d0
add.w ($FFFFEE9C).w,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
subi.w #$3CD0,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
move.w d0,($FFFFEEE2).w
rts
; End of function sub_55DB6
@@ -117258,25 +117292,25 @@ loc_55DF2: lea ($FFFFA810).w,a1
lea word_5077E(pc),a6
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w #$DF,d1
- move.w ($FFFFFE04).w,d2
+ move.w (Level_frame_counter).w,d2
asr.w #1,d2
add.w d0,d2
add.w d0,d2
andi.w #$3E,d2
adda.w d2,a6
- move.w ($FFFFEE80).w,d6
+ move.w (Camera_X_pos_copy).w,d6
neg.w d6
jsr sub_4F0B6(pc)
- lea ($FFFFE000).w,a1
+ lea (H_scroll_buffer).w,a1
lea ($FFFFA810).w,a2
lea word_560DC(pc),a4
lea ($FFFFA800).w,a5
lea word_5077E(pc),a6
- move.w ($FFFFEE90).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d0
move.w #$DF,d1
- move.w ($FFFFFE04).w,d2
+ move.w (Level_frame_counter).w,d2
asr.w #1,d2
add.w d0,d2
add.w d0,d2
@@ -117289,18 +117323,18 @@ loc_55DF2: sub_55E4C:
- lea ($FFFFE000).w,a1
+ lea (H_scroll_buffer).w,a1
lea word_5077E(pc),a6
- move.w ($FFFFEE84).w,d0
- move.w ($FFFFFE04).w,d1
+ move.w (Camera_Y_pos_copy).w,d0
+ move.w (Level_frame_counter).w,d1
asr.w #1,d1
add.w d0,d1
add.w d0,d1
andi.w #$3E,d1
adda.w d1,a6
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
neg.w d0
- move.w ($FFFFEE8C).w,d1
+ move.w (Camera_X_pos_BG_copy).w,d1
neg.w d1
move.w #$6F,d2
@@ -117326,15 +117360,15 @@ loc_55E78: sub_55E96:
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
cmpi.w #$960,d0
bne.s locret_55EBC
- cmp.w ($FFFFEE7C).w,d0
+ cmp.w (Camera_Y_pos).w,d0
bhi.s locret_55EBC
- move.w d0,($FFFFEE18).w
- cmpi.w #$4310,($FFFFEE78).w
+ move.w d0,(Camera_min_Y_pos).w
+ cmpi.w #$4310,(Camera_X_pos).w
bcs.s locret_55EBC
- move.w #$4180,($FFFFEE14).w
+ move.w #$4180,(Camera_min_X_pos).w
st ($FFFFEEC6).w
locret_55EBC:
@@ -117352,7 +117386,7 @@ sub_55EBE: clr.w ($FFFFEED2).w
movea.w $18(a3),a1
move.b d0,$D(a1)
- cmpi.w #$540,($FFFFEE8C).w
+ cmpi.w #$540,(Camera_X_pos_BG_copy).w
bcs.s locret_55EFA
move.w #$6A0,d1
move.w #$320,d0
@@ -117455,13 +117489,13 @@ loc_55F98: move.w #$A00,$14(a0)
loc_55FBE:
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_55FCA
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
loc_55FCA:
- move.w ($FFFFEE78).w,$10(a0)
+ move.w (Camera_X_pos).w,$10(a0)
st ($FFFFEF3A).w
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -117505,7 +117539,7 @@ loc_56050: ; ---------------------------------------------------------------------------
loc_56056:
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_56062
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -117540,7 +117574,7 @@ loc_5609C: sub_560A2:
- move.w ($FFFFFE04).w,d1
+ move.w (Level_frame_counter).w,d1
andi.w #3,d1
bne.s loc_560AE
add.w d0,d0
@@ -117577,9 +117611,9 @@ Map_SOZ1EndDoor: include "Levels\SOZ\Misc Object Data\Map - Act 1 End Door.asm" ; ---------------------------------------------------------------------------
SOZ2_ScreenInit:
- move.w #$7FF,($FFFFEEAA).w
- move.w #$7F0,($FFFFEEAC).w
- move.w #$3C,($FFFFEEAE).w
+ move.w #$7FF,(Screen_Y_wrap_value).w
+ move.w #$7F0,(Camera_Y_pos_mask).w
+ move.w #$3C,(Layout_row_index_mask).w
move.w #8,($FFFFEEC0).w
cmpi.w #$4E80,($FFFFB010).w
bcs.s loc_561B0
@@ -117592,7 +117626,7 @@ loc_561B0: SOZ2_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
move.w ($FFFFEEC0).w,d0
jmp loc_561CC(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -117606,19 +117640,19 @@ loc_561CC: ; ---------------------------------------------------------------------------
loc_561D8:
- move.w #$7FF,($FFFFEEAA).w
- move.w #$7F0,($FFFFEEAC).w
- move.w #$3C,($FFFFEEAE).w
+ move.w #$7FF,(Screen_Y_wrap_value).w
+ move.w #$7F0,(Camera_Y_pos_mask).w
+ move.w #$3C,(Layout_row_index_mask).w
jsr (Reset_TileOffsetPositionActual).l
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC0).w
loc_56206:
- move.w ($FFFFEE80).w,d1
- move.w ($FFFFEE84).w,d2
+ move.w (Camera_X_pos_copy).w,d1
+ move.w (Camera_Y_pos_copy).w,d2
jsr (Draw_PlaneVertBottomUp).l
bpl.s loc_5621A
addq.w #4,($FFFFEEC0).w
@@ -117722,7 +117756,7 @@ loc_562D0: jsr sub_566D2(pc)
jsr (Reset_TileOffsetPositionEff).l
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -117738,10 +117772,10 @@ loc_56300: loc_56304:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr (Draw_PlaneVertBottomUp).l
bpl.w loc_563C0
- move.w #$F,($FFFFF626).w
+ move.w #$F,(Palette_fade_info).w
move.w #$15,($FFFFEED2).w
addq.w #4,($FFFFEEC2).w
@@ -117762,7 +117796,7 @@ loc_56346: movea.l (sp)+,a0
subq.w #1,($FFFFEED2).w
bpl.s loc_563A6
- move.w #$401F,($FFFFF626).w
+ move.w #$401F,(Palette_fade_info).w
move.w #$15,($FFFFEED2).w
addq.w #4,($FFFFEEC2).w
@@ -117775,13 +117809,13 @@ loc_56366: subq.w #1,($FFFFEED2).w
bpl.s loc_563A6
move.l #$6000,d0
- move.l d0,($FFFFEE14).w
- move.l d0,($FFFFEE0C).w
+ move.l d0,(Camera_min_X_pos).w
+ move.l d0,(Camera_target_min_X_pos).w
move.l #-$FFF800,d0
- move.l d0,($FFFFEE18).w
- move.l d0,($FFFFEE10).w
- clr.w ($FFFFEE50).w
- clr.w ($FFFFF7CA).w
+ move.l d0,(Camera_min_Y_pos).w
+ move.l d0,(Camera_target_min_Y_pos).w
+ clr.w (Palette_fade_timer).w
+ clr.w (Ctrl_1_locked).w
addq.w #4,($FFFFEEC2).w
loc_563A6:
@@ -117798,8 +117832,8 @@ loc_563B6: jsr sub_566D2(pc)
loc_563C0:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr (Draw_TileRow).l
@@ -117821,7 +117855,7 @@ loc_563F6: move.l d0,($FFFFEE9C).w
jsr sub_566E8(pc)
jsr (Reset_TileOffsetPositionEff).l
- subi.w #$10,($FFFFEE96).w
+ subi.w #$10,(Camera_Y_pos_BG_rounded).w
move.w #$10,($FFFFEEB2).w
cmpi.w #$14,($FFFFEEC2).w
beq.s loc_56440
@@ -117874,8 +117908,8 @@ loc_56474: loc_56484:
- move.w ($FFFFEE8C).w,($FFFFEED4).w
- move.w ($FFFFEE90).w,($FFFFEED6).w
+ move.w (Camera_X_pos_BG_copy).w,($FFFFEED4).w
+ move.w (Camera_Y_pos_BG_copy).w,($FFFFEED6).w
jsr sub_566D2(pc)
jsr (Reset_TileOffsetPositionEff).l
move.w #$1F0,($FFFFEEC8).w
@@ -117891,7 +117925,7 @@ loc_564B8: jsr sub_566D2(pc)
loc_564BC:
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
moveq #0,d2
jsr (Draw_PlaneHorzRightToLeft).l
bpl.s loc_564E8
@@ -117903,7 +117937,7 @@ loc_564BC: loc_564D4:
cmpi.w #$5000,($FFFFB010).w
bcs.s loc_564E4
- cmpi.w #$500,($FFFFEE7C).w
+ cmpi.w #$500,(Camera_Y_pos).w
bcc.s loc_56510
loc_564E4:
@@ -117911,15 +117945,15 @@ loc_564E4: loc_564E8:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr (Draw_TileRow).l
move.w ($FFFFEED4).w,d0
beq.s loc_5650A
- move.w d0,($FFFFEE8C).w
- move.w ($FFFFEED6).w,($FFFFEE90).w
+ move.w d0,(Camera_X_pos_BG_copy).w
+ move.w ($FFFFEED6).w,(Camera_Y_pos_BG_copy).w
loc_5650A:
jmp (PlainDeformation).l
@@ -117957,11 +117991,11 @@ loc_56550: move.w (a1)+,(a1)
andi.w #-$10,(a1)+
dbf d0,loc_56550
- move.w #$500,($FFFFEE18).w
+ move.w #$500,(Camera_min_Y_pos).w
move.w #$680,d0
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
- move.w #$5140,($FFFFEE16).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
+ move.w #$5140,(Camera_max_X_pos).w
movem.l d7-a0/a2-a3,-(sp)
lea (SOZ2_16x16_Custom_Kos).l,a1
lea ($FFFF9EA0).w,a2
@@ -117983,13 +118017,13 @@ loc_56550: ; ---------------------------------------------------------------------------
loc_565C6:
- move.w ($FFFFEE84).w,d0
- cmp.w ($FFFFEE18).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
+ cmp.w (Camera_min_Y_pos).w,d0
beq.s loc_565D4
- move.w d0,($FFFFEE18).w
+ move.w d0,(Camera_min_Y_pos).w
loc_565D4:
- cmp.w ($FFFFEE1A).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
bne.s loc_565DE
addq.w #4,($FFFFEEC2).w
@@ -118014,13 +118048,13 @@ loc_565F4: ; ---------------------------------------------------------------------------
loc_5661A:
- move.w ($FFFFEE8C).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d0
subi.w #$100,d0
move.w d0,($FFFFEED4).w
jsr sub_56964(pc)
jsr (Reset_TileOffsetPositionEff).l
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
movem.l d7-a0/a2-a3,-(sp)
@@ -118036,15 +118070,15 @@ loc_5661A: addq.w #4,($FFFFEEC2).w
loc_56676:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.s loc_566BC
jsr sub_56964(pc)
move.w #$200,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr (Draw_PlaneVertBottomUp).l
bpl.s loc_566A8
clr.w ($FFFFEED4).w
- move.w #$52C0,($FFFFEE16).w
+ move.w #$52C0,(Camera_max_X_pos).w
clr.b ($FFFFF7F0).w
addq.w #4,($FFFFEEC2).w
bra.s loc_566A8
@@ -118055,8 +118089,8 @@ loc_566A4: loc_566A8:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
move.w #$200,d1
moveq #$20,d6
jsr (Draw_TileRow).l
@@ -118064,7 +118098,7 @@ loc_566A8: loc_566BC:
move.w ($FFFFEED4).w,d0
beq.s loc_566C6
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
loc_566C6:
jsr (PlainDeformation).l
@@ -118075,12 +118109,12 @@ loc_566C6: sub_566D2:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
asr.w #1,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
asr.w #1,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
rts
; End of function sub_566D2
@@ -118090,13 +118124,13 @@ sub_566D2: sub_566E8:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
addi.w #$2E0,d0
add.w ($FFFFEE9C).w,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
subi.w #$1930,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
rts
; End of function sub_566E8
@@ -118106,18 +118140,18 @@ sub_566E8: sub_56706:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
subi.w #$250,d0
move.w #$6D8,d1
sub.w ($FFFFEEE0).w,d1
add.w d1,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
subi.w #$4010,d0
move.w #$5250,d1
sub.w ($FFFFEEDE).w,d1
add.w d1,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
cmpi.b #6,($FFFFB005).w
bcc.w loc_56936
move.w ($FFFFEEDA).w,d0
@@ -118178,8 +118212,8 @@ loc_567B0: lea $3E(a1),a5
lea word_56AE2(pc),a6
move.w ($FFFFEEDC).w,d0
- sub.w ($FFFFEE84).w,d0
- add.w ($FFFFEE90).w,d0
+ sub.w (Camera_Y_pos_copy).w,d0
+ add.w (Camera_Y_pos_BG_copy).w,d0
subi.w #$440,d0
bcc.s loc_567DC
moveq #0,d0
@@ -118327,7 +118361,7 @@ loc_568EE: move.w d0,(a1)+
addq.w #5,d0
dbf d1,loc_568EE
- move.w #$5140,($FFFFEE16).w
+ move.w #$5140,(Camera_max_X_pos).w
move.w #$14,($FFFFEEDA).w
addq.w #4,sp
@@ -118367,7 +118401,7 @@ loc_56936: lea $100(a0),a1
lea $20(a1),a5
lea $20(a5),a6
- move.w ($FFFFEE8C).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d0
moveq #$C,d1
loc_5694E:
@@ -118389,13 +118423,13 @@ loc_5694E: sub_56964:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
asr.w #1,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
asr.w #1,d0
addi.w #$200,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
rts
; End of function sub_56964
@@ -118457,14 +118491,14 @@ loc_569BA: Go_CheckPlayerRelease:
movem.l d7-a0/a2-a3,-(sp)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #3,$2A(a1)
beq.s loc_569F6
movea.w $42(a1),a0
jsr (CheckPlayerReleaseFromObj).l
loc_569F6:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
btst #3,$2A(a1)
beq.s loc_56A0C
movea.w $42(a1),a0
@@ -118501,8 +118535,8 @@ loc_56A34: move.w $2C(a0),d0
lsl.w #4,d0
addi.w #$458,d0
- sub.w ($FFFFEE90).w,d0
- add.w ($FFFFEE84).w,d0
+ sub.w (Camera_Y_pos_BG_copy).w,d0
+ add.w (Camera_Y_pos_copy).w,d0
move.w d0,$14(a0)
move.w $2C(a0),d0
add.w d0,d0
@@ -118511,7 +118545,7 @@ loc_56A34: add.w d0,d0
lea ($FFFFA808).w,a1
sub.w (a1,d0.w),d4
- add.w ($FFFFEE80).w,d4
+ add.w (Camera_X_pos_copy).w,d4
cmpi.w #$10,($FFFFEEDA).w
beq.s loc_56A7E
move.w #$7FFF,d4
@@ -118523,14 +118557,14 @@ loc_56A7E: moveq #8,d3
jsr (SolidObjectFull2).l
move.w #-$300,d0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #$10,d6
beq.s loc_56AA4
move.w d0,$18(a1)
move.w d0,$1A(a1)
loc_56AA4:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
btst #$11,d6
beq.s locret_56AB6
move.w d0,$18(a1)
@@ -118587,7 +118621,7 @@ LRZ1_ScreenInit: LRZ1_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
move.w ($FFFFEEDE).w,d0
beq.s loc_56B5E
bmi.s loc_56B2C
@@ -118626,7 +118660,7 @@ loc_56B6C: move.w d0,(a3,d1.w)
addq.w #4,d1
dbf d2,loc_56B6C
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_56B88
movea.w 4(a3),a1
move.b #-$A,4(a1)
@@ -118694,9 +118728,9 @@ loc_56C30: jsr (Draw_BG).l
move.l ($FFFFEED4).w,d0
beq.s loc_56C5A
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
swap d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
jsr (PlainDeformation).l
bra.s loc_56C68
; ---------------------------------------------------------------------------
@@ -118726,7 +118760,7 @@ loc_56C88: loc_56C8C:
lea word_56F68(pc),a4
lea ($FFFFA7FC).w,a5
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
jsr (Draw_PlaneVertBottomUpComplex).l
bpl.s loc_56C30
clr.l ($FFFFEED4).w
@@ -118735,13 +118769,13 @@ loc_56C8C: ; ---------------------------------------------------------------------------
loc_56CAA:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.s loc_56D16
- move.w #$901,($FFFFFE10).w
- clr.b ($FFFFEE33).w
- clr.b ($FFFFF76C).w
- clr.b ($FFFFF710).w
- clr.b ($FFFFF7AA).w
+ move.w #$901,(Current_zone_and_act).w
+ clr.b (Dynamic_resize_routine).w
+ clr.b (Object_load_routine).w
+ clr.b (Rings_manager_routine).w
+ clr.b (Boss_flag).w
loc_56CC6:
clr.b ($FFFFFF97).w
@@ -118758,10 +118792,10 @@ loc_56CD8: sub.w d0,($FFFFB010).w
sub.w d0,($FFFFB05A).w
jsr (Offset_ObjectsDuringTransition).l
- sub.w d0,($FFFFEE78).w
- sub.w d0,($FFFFEE80).w
- sub.w d0,($FFFFEE14).w
- sub.w d0,($FFFFEE16).w
+ sub.w d0,(Camera_X_pos).w
+ sub.w d0,(Camera_X_pos_copy).w
+ sub.w d0,(Camera_min_X_pos).w
+ sub.w d0,(Camera_max_X_pos).w
jsr (Reset_TileOffsetPositionActual).l
clr.w ($FFFFEEC2).w
@@ -118783,13 +118817,13 @@ loc_56D16: sub_56D40:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w ($FFFFEECE).w,d1
sub.w d1,d0
asr.w #3,d0
add.w d1,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #3,d0
@@ -118797,7 +118831,7 @@ sub_56D40: move.l d0,d2
asr.l #2,d0
swap d1
- move.w d1,($FFFFEE8C).w
+ move.w d1,(Camera_X_pos_BG_copy).w
move.w d1,($FFFFA804).w
swap d1
sub.l d0,d1
@@ -118837,13 +118871,13 @@ loc_56D9E: sub_56DAC:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
subi.w #$788,d0
add.w ($FFFFEE9C).w,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
subi.w #$1500,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
rts
; End of function sub_56DAC
@@ -118952,13 +118986,13 @@ loc_56E52: loc_56E66:
clr.w ($FFFFEED2).w
- move.w ($FFFFEE8C).w,($FFFFEED4).w
- move.w ($FFFFEE90).w,($FFFFEED6).w
+ move.w (Camera_X_pos_BG_copy).w,($FFFFEED4).w
+ move.w (Camera_Y_pos_BG_copy).w,($FFFFEED6).w
jsr sub_56D40(pc)
jsr (Reset_TileOffsetPositionEff).l
move.w d2,($FFFFA806).w
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -119027,7 +119061,7 @@ loc_56F0C: jsr (SolidObjectTop).l
btst #3,$2A(a0)
beq.s loc_56F54
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #4,$2B(a1)
bne.s loc_56F54
jsr (sub_24280).l
@@ -119036,7 +119070,7 @@ loc_56F54: btst #4,$2A(a0)
beq.s locret_56F66
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (sub_24280).l
locret_56F66:
@@ -119073,7 +119107,7 @@ LRZ2_ScreenInit: LRZ2_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
jmp (DrawTilesAsYouMove).l
; ---------------------------------------------------------------------------
@@ -119117,7 +119151,7 @@ loc_5701E: jsr sub_57082(pc)
jsr (Reset_TileOffsetPositionEff).l
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -119129,7 +119163,7 @@ loc_57040: loc_57044:
moveq #0,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr (Draw_PlaneVertBottomUp).l
bpl.s loc_5705C
addq.w #4,($FFFFEEC2).w
@@ -119141,8 +119175,8 @@ loc_57058: loc_5705C:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr (Draw_TileRow).l
@@ -119156,7 +119190,7 @@ loc_5705C: sub_57082:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w ($FFFFEECE).w,d1
sub.w d1,d0
swap d0
@@ -119167,8 +119201,8 @@ sub_57082: sub.l d2,d0
swap d0
add.w d1,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #3,d0
@@ -119176,7 +119210,7 @@ sub_57082: move.l d0,d2
asr.l #2,d0
swap d1
- move.w d1,($FFFFEE8C).w
+ move.w d1,(Camera_X_pos_BG_copy).w
swap d1
sub.l d0,d1
swap d1
@@ -119218,7 +119252,7 @@ loc_570E8: loc_5710C:
move.w d0,$10(a1)
move.w #$C0,d0
- sub.w ($FFFFEE90).w,d0
+ sub.w (Camera_Y_pos_BG_copy).w,d0
move.w d0,$14(a1)
locret_5711C:
@@ -119229,7 +119263,7 @@ locret_5711C: loc_5711E:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_57130
clr.w ($FFFFEED8).w
jmp (Delete_Current_Sprite).l
@@ -119282,7 +119316,7 @@ Map_LRZ2DeathEggBG: include "Levels\LRZ\Misc Object Data\Map - Act 2 BG Death Eg ; ---------------------------------------------------------------------------
SSZ1_ScreenInit:
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.s loc_57246
jsr (Create_New_Sprite).l
bne.s loc_57246
@@ -119290,17 +119324,17 @@ SSZ1_ScreenInit: move.w #$100,$10(a1)
move.b #$6C,$2D(a1)
st ($FFFFEED7).w
- move.w #$200,($FFFFEE16).w
+ move.w #$200,(Camera_max_X_pos).w
move.w #$BC0,d0
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
moveq #$60,d0
- move.w d0,($FFFFEE80).w
- move.w d0,($FFFFEE78).w
+ move.w d0,(Camera_X_pos_copy).w
+ move.w d0,(Camera_X_pos).w
move.w #$F49,d0
- move.w d0,($FFFFEE84).w
- move.w d0,($FFFFEE7C).w
- st ($FFFFEE0A).w
+ move.w d0,(Camera_Y_pos_copy).w
+ move.w d0,(Camera_Y_pos).w
+ st (Scroll_lock).w
loc_57246:
@@ -119337,7 +119371,7 @@ loc_5728E: SSZ1_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
move.w ($FFFFEEC0).w,d0
jmp loc_572AE(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -119376,7 +119410,7 @@ loc_572EC: dbf d0,loc_572EC
jsr sub_5750C(pc)
lea ($FFFFA880).w,a1
- move.w ($FFFFEEAC).w,d0
+ move.w (Camera_Y_pos_mask).w,d0
moveq #9,d1
loc_57308:
@@ -119384,15 +119418,15 @@ loc_57308: and.w d0,(a1)+
dbf d1,loc_57308
jsr (Restore_PlayerControl).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
- st ($FFFFF7CA).w
- st ($FFFFF7CB).w
- clr.w ($FFFFF602).w
- clr.w ($FFFFF66A).w
- st ($FFFFEE0A).w
+ st (Ctrl_1_locked).w
+ st (Ctrl_2_locked).w
+ clr.w (Ctrl_1_logical).w
+ clr.w (Ctrl_2_logical).w
+ st (Scroll_lock).w
st ($FFFFEECC).w
- move.w #4,($FFFFEEA6).w
+ move.w #4,(Special_V_int_routine).w
addq.w #4,($FFFFEEC0).w
bra.s loc_5734E
; ---------------------------------------------------------------------------
@@ -119435,7 +119469,7 @@ loc_57360: move.b #7,(a1,d0.w)
move.b #8,1(a1,d0.w)
move.b #9,2(a1,d0.w)
- lea ($FFFFFC20).w,a1
+ lea (Normal_palette_line_2).w,a1
lea Pal_SSZDeathEgg(pc),a5
moveq #7,d0
@@ -119448,7 +119482,7 @@ loc_573E4: andi.w #-$10,d0
move.w d0,($FFFFEEF2).w
move.w ($FFFFEEEE).w,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEF4).w
st ($FFFFEE98).w
clr.l ($FFFFEEF6).w
@@ -119492,7 +119526,7 @@ loc_5742C: loc_574A0:
st ($FFFFEEC4).w
- move.w #$C,($FFFFEEA6).w
+ move.w #$C,(Special_V_int_routine).w
addq.w #4,($FFFFEEC0).w
rts
; ---------------------------------------------------------------------------
@@ -119515,12 +119549,12 @@ loc_574B0: sub_574DC:
- move.w ($FFFFEE80).w,($FFFFEEEA).w
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_X_pos_copy).w,($FFFFEEEA).w
+ move.w (Camera_Y_pos).w,d0
subi.w #$110,d0
asr.w #2,d0
move.w d0,($FFFFEEEE).w
- cmpi.w #$110,($FFFFEE7C).w
+ cmpi.w #$110,(Camera_Y_pos).w
bne.w sub_5758A
addi.l #$6000,($FFFFEEF6).w
move.w ($FFFFEEF6).w,d0
@@ -119536,7 +119570,7 @@ sub_5750C: lea ($FFFFA880).w,a5
lea $60(a5),a6
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
moveq #$A,d1
moveq #9,d2
@@ -119590,7 +119624,7 @@ loc_5754C: sub_5758A:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w ($FFFFEECE).w,d3
sub.w d3,d0
move.w d0,d1
@@ -119603,7 +119637,7 @@ sub_5758A: asr.w #1,d1
add.w d1,d0
add.w d3,d0
- move.w ($FFFFEE80).w,d1
+ move.w (Camera_X_pos_copy).w,d1
move.w d1,d2
asr.w #2,d2
add.w d2,d1
@@ -119637,14 +119671,14 @@ loc_575E4: sub_575EA:
tst.b ($FFFFEED8).w
bne.w locret_57788
- cmpi.w #$19A0,($FFFFEE78).w
+ cmpi.w #$19A0,(Camera_X_pos).w
bcs.s loc_5761C
cmpi.w #$680,($FFFFB014).w
bcc.s loc_5761C
- move.w #$19A0,($FFFFEE14).w
+ move.w #$19A0,(Camera_min_X_pos).w
move.w #$5C0,d0
- move.w d0,($FFFFEE18).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
st ($FFFFEED8).w
bra.w locret_57788
; ---------------------------------------------------------------------------
@@ -119656,7 +119690,7 @@ loc_5761C: move.b ($FFFFEED3).w,d0
or.b ($FFFFEED5).w,d0
bne.s loc_57686
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
cmpi.w #$100,d0
bcs.s loc_57674
cmpi.w #$E00,d0
@@ -119675,7 +119709,7 @@ loc_5764E: move.w (a1),d2
cmp.w d0,d2
bhi.s loc_57658
- move.w d2,($FFFFEE18).w
+ move.w d2,(Camera_min_Y_pos).w
loc_57658:
lea word_5779A(pc),a1
@@ -119691,17 +119725,17 @@ loc_57664: move.w (a1),d2
cmp.w d0,d2
bcs.s loc_57686
- move.w d2,($FFFFEE1A).w
- move.w d2,($FFFFEE12).w
+ move.w d2,(Camera_max_Y_pos).w
+ move.w d2,(Camera_target_max_Y_pos).w
bra.s loc_57686
; ---------------------------------------------------------------------------
loc_57674:
- move.w #-$100,($FFFFEE18).w
+ move.w #-$100,(Camera_min_Y_pos).w
move.w #$1000,d0
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
loc_57686:
@@ -119715,22 +119749,22 @@ loc_57686: bne.w locret_57788
tst.b ($FFFFEED3).w
bne.s loc_576E8
- move.w #$160,($FFFFEE14).w
- move.w #$19A0,($FFFFEE16).w
+ move.w #$160,(Camera_min_X_pos).w
+ move.w #$19A0,(Camera_max_X_pos).w
cmpi.w #$7C0,d0
bcs.w locret_57788
- cmpi.w #$160,($FFFFEE78).w
+ cmpi.w #$160,(Camera_X_pos).w
bne.w locret_57788
btst #1,($FFFFB02A).w
bne.w locret_57788
- move.w #$160,($FFFFEE16).w
+ move.w #$160,(Camera_max_X_pos).w
move.w #$7C0,d0
- move.w d0,($FFFFEE18).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
st ($FFFFEED3).w
loc_576E8:
- cmpi.w #$7C0,($FFFFEE7C).w
+ cmpi.w #$7C0,(Camera_Y_pos).w
bne.w locret_57788
jsr (Create_New_Sprite).l
bne.s loc_5770A
@@ -119748,28 +119782,28 @@ loc_5770C: bne.s locret_57788
tst.b ($FFFFEED5).w
bne.s loc_5775C
- move.w #$1660,($FFFFEE16).w
+ move.w #$1660,(Camera_max_X_pos).w
moveq #0,d1
tst.w ($FFFFEED2).w
bne.s loc_5772C
move.w #$160,d1
loc_5772C:
- move.w d1,($FFFFEE14).w
+ move.w d1,(Camera_min_X_pos).w
cmpi.w #$420,d0
bcs.s locret_57788
- cmpi.w #$1660,($FFFFEE78).w
+ cmpi.w #$1660,(Camera_X_pos).w
bne.s locret_57788
btst #1,($FFFFB02A).w
bne.s locret_57788
- move.w #$1660,($FFFFEE14).w
+ move.w #$1660,(Camera_min_X_pos).w
move.w #$380,d0
- move.w d0,($FFFFEE18).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
st ($FFFFEED5).w
loc_5775C:
- cmpi.w #$380,($FFFFEE7C).w
+ cmpi.w #$380,(Camera_Y_pos).w
bne.s locret_57788
jsr (Create_New_Sprite).l
bne.s loc_5777C
@@ -119783,8 +119817,8 @@ loc_5777C: loc_5777E:
- clr.w ($FFFFEE14).w
- move.w #$19A0,($FFFFEE16).w
+ clr.w (Camera_min_X_pos).w
+ move.w #$19A0,(Camera_max_X_pos).w
locret_57788:
@@ -119855,8 +119889,8 @@ loc_57812: loc_57840:
- move.w ($FFFFEE7C).w,d0
- and.w ($FFFFEEAA).w,d0
+ move.w (Camera_Y_pos).w,d0
+ and.w (Screen_Y_wrap_value).w,d0
cmpi.w #$800,d0
bcs.s loc_57854
cmpi.w #$F00,d0
@@ -119896,18 +119930,18 @@ loc_5789A: ; ---------------------------------------------------------------------------
loc_578AA:
- move.w ($FFFFEE7C).w,d0
- and.w ($FFFFEEAA).w,d0
+ move.w (Camera_Y_pos).w,d0
+ and.w (Screen_Y_wrap_value).w,d0
cmpi.w #$800,d0
bcs.s loc_578EC
cmpi.w #$F00,d0
bcc.s loc_578EC
- move.w ($FFFFEE8C).w,($FFFFEEDE).w
- move.w ($FFFFEE90).w,($FFFFEEE0).w
+ move.w (Camera_X_pos_BG_copy).w,($FFFFEEDE).w
+ move.w (Camera_Y_pos_BG_copy).w,($FFFFEEE0).w
jsr sub_57A60(pc)
jsr (Reset_TileOffsetPositionEff).l
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -119944,8 +119978,8 @@ loc_57928: clr.w (a0)
loc_57932:
- move.w ($FFFFEEEE).w,($FFFFF616).w
- move.w ($FFFFEE90).w,($FFFFF618).w
+ move.w ($FFFFEEEE).w,(V_scroll_value).w
+ move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w
addq.w #4,sp
rts
; ---------------------------------------------------------------------------
@@ -119955,7 +119989,7 @@ loc_57942: loc_57946:
move.w #$1C00,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr (Draw_PlaneVertBottomUp).l
bpl.s loc_5799A
clr.w ($FFFFEEDE).w
@@ -119964,8 +119998,8 @@ loc_57946: ; ---------------------------------------------------------------------------
loc_57960:
- move.w ($FFFFEE7C).w,d0
- and.w ($FFFFEEAA).w,d0
+ move.w (Camera_Y_pos).w,d0
+ and.w (Screen_Y_wrap_value).w,d0
cmpi.w #$800,d0
bcs.s loc_57974
cmpi.w #$F00,d0
@@ -119975,7 +120009,7 @@ loc_57974: jsr sub_579F0(pc)
jsr (Reset_TileOffsetPositionEff).l
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -119987,15 +120021,15 @@ loc_57996: loc_5799A:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
move.w #$1C00,d1
moveq #$20,d6
jsr (Draw_TileRow).l
move.w ($FFFFEEDE).w,d0
beq.s loc_579C4
- move.w d0,($FFFFEE8C).w
- move.w ($FFFFEEE0).w,($FFFFEE90).w
+ move.w d0,(Camera_X_pos_BG_copy).w
+ move.w ($FFFFEEE0).w,(Camera_Y_pos_BG_copy).w
jmp (PlainDeformation).l
; ---------------------------------------------------------------------------
@@ -120009,8 +120043,8 @@ loc_579D2: jsr sub_579F0(pc)
loc_579D6:
- move.w ($FFFFEE8C).w,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_X_pos_BG_copy).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr (Draw_PlaneVertSingleBottomUp).l
bpl.w loc_578F0
clr.w ($FFFFEEC2).w
@@ -120024,43 +120058,43 @@ sub_579F0: tst.w ($FFFFEEE2).w
bne.s loc_57A30
- cmpi.w #$1800,($FFFFEE78).w
+ cmpi.w #$1800,(Camera_X_pos).w
bcs.s loc_57A12
st ($FFFFEEE2).w
bsr.s sub_579F0
- move.w ($FFFFEE8C).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d0
andi.w #-$10,d0
- move.w d0,($FFFFEE94).w
+ move.w d0,(Camera_X_pos_BG_rounded).w
rts
; ---------------------------------------------------------------------------
loc_57A12:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
addi.w #$160,d0
add.w ($FFFFEE9C).w,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
addi.w #$28,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
rts
; ---------------------------------------------------------------------------
loc_57A30:
- cmpi.w #$1800,($FFFFEE78).w
+ cmpi.w #$1800,(Camera_X_pos).w
bcc.s loc_57A4C
clr.w ($FFFFEEE2).w
bsr.s sub_579F0
- move.w ($FFFFEE8C).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d0
andi.w #-$10,d0
- move.w d0,($FFFFEE94).w
+ move.w d0,(Camera_X_pos_BG_rounded).w
rts
; ---------------------------------------------------------------------------
loc_57A4C:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
addi.w #$180,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,($FFFFEE8C).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,(Camera_X_pos_BG_copy).w
rts
; End of function sub_579F0
@@ -120070,19 +120104,19 @@ loc_57A4C: sub_57A60:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w ($FFFFEE9C).w,d1
asr.w #1,d1
add.w d1,d0
- and.w ($FFFFEEAA).w,d0
+ and.w (Screen_Y_wrap_value).w,d0
subi.w #$800,d0
asr.w #1,d0
addi.w #$A0,d0
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
lea ($FFFFA804).w,a1
move.l -4(a1),d2
addi.l #$500,-4(a1)
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #5,d0
@@ -120240,7 +120274,7 @@ loc_57C28: subi.w #$88,$44(a1)
move.b #$18,$46(a1)
move.w a0,$48(a1)
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
bne.s loc_57CAC
jsr (CreateNewSprite4).l
bne.s loc_57CAC
@@ -120250,8 +120284,8 @@ loc_57C28: loc_57CAC:
st ($FFFFEED6).w
- lea ($FFFFB000).w,a1
- move.w ($FFFFEE7C).w,d0
+ lea (Player_1).w,a1
+ move.w (Camera_Y_pos).w,d0
addi.w #$65,d0
move.w d0,$14(a1)
move.b #3,$2E(a1)
@@ -120263,7 +120297,7 @@ loc_57CAC: loc_57CD2:
jsr (sub_45866).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),$10(a1)
tst.b $2D(a0)
bne.w loc_57D50
@@ -120273,14 +120307,14 @@ loc_57CD2: move.w #-1,$1A(a1)
move.w $14(a1),d1
move.w d1,$3E(a0)
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
beq.s loc_57D18
bset #7,$A(a1)
bra.s loc_57D3C
; ---------------------------------------------------------------------------
loc_57D18:
- tst.w ($FFFFFF08).w
+ tst.w (Player_mode).w
bne.s loc_57D3C
jsr (CreateNewSprite4).l
bne.s loc_57D3C
@@ -120291,7 +120325,7 @@ loc_57D18: loc_57D3C:
- clr.b ($FFFFEE0A).w
+ clr.b (Scroll_lock).w
movea.w $3C(a0),a1
st 5(a1)
move.l #Obj_57D64,(a0)
@@ -120302,7 +120336,7 @@ loc_57D50: subi.w #8,$14(a1)
subq.b #1,$2D(a0)
beq.s locret_57D62
- subi.w #8,($FFFFEE7C).w
+ subi.w #8,(Camera_Y_pos).w
locret_57D62:
rts
@@ -120310,7 +120344,7 @@ locret_57D62: Obj_57D64:
jsr (sub_45866).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.l #$20000,d0
move.l #$800,d1
jsr (Gradual_SwingOffset).l
@@ -120328,12 +120362,12 @@ locret_57DA0: ; ---------------------------------------------------------------------------
loc_57DA2:
- move.w ($FFFFEE7C).w,d0
- cmp.w ($FFFFEE1A).w,d0
+ move.w (Camera_Y_pos).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
bne.s loc_57DC6
- cmp.w ($FFFFEE18).w,d0
+ cmp.w (Camera_min_Y_pos).w,d0
beq.s loc_57DB6
- move.w d0,($FFFFEE18).w
+ move.w d0,(Camera_min_Y_pos).w
loc_57DB6:
move.w $3A(a0),d0
@@ -120348,7 +120382,7 @@ loc_57DC6: ; ---------------------------------------------------------------------------
Obj_57DCC:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.w $2C(a0)
beq.s loc_57DFA
subq.w #1,$2C(a0)
@@ -120413,7 +120447,7 @@ locret_57E94: Obj_57E96:
cmpi.b #4,5(a0)
bhi.s loc_57EB0
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #$F,d0
bne.s loc_57EB0
moveq #-$34,d0
@@ -120444,10 +120478,10 @@ loc_57ECA: loc_57EDC:
jsr sub_57FC0(pc)
- cmpi.w #$600,($FFFFEE7C).w
+ cmpi.w #$600,(Camera_Y_pos).w
bcs.w locret_57FBE
jsr sub_57FE2(pc)
- cmpi.w #$60C,($FFFFEE7C).w
+ cmpi.w #$60C,(Camera_Y_pos).w
bcs.w locret_57FBE
lea ($FFFFA8E0).w,a1
lea dword_577C6(pc),a5
@@ -120465,7 +120499,7 @@ loc_57F02: loc_57F18:
jsr sub_57FC0(pc)
jsr sub_57FE2(pc)
- cmpi.w #$640,($FFFFEE7C).w
+ cmpi.w #$640,(Camera_Y_pos).w
bcs.w locret_57FBE
move.w #$F,$2E(a0)
move.w #8,$30(a0)
@@ -120485,10 +120519,10 @@ loc_57F3E: loc_57F5E:
- cmpi.w #$5C0,($FFFFEE7C).w
+ cmpi.w #$5C0,(Camera_Y_pos).w
bcc.s loc_57F7E
jsr sub_58048(pc)
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
addq.w #8,d0
andi.w #$F,d0
bne.s loc_57F7E
@@ -120511,7 +120545,7 @@ loc_57F94: moveq #0,d1
move.b $31(a0),d1
sub.w d1,d0
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
sub.w d0,d1
bcs.s locret_57FBE
cmpi.w #2,d1
@@ -120519,10 +120553,10 @@ loc_57F94: moveq #2,d1
loc_57FAC:
- sub.w d1,($FFFFEE7C).w
- cmpi.w #$110,($FFFFEE7C).w
+ sub.w d1,(Camera_Y_pos).w
+ cmpi.w #$110,(Camera_Y_pos).w
bcc.s locret_57FBE
- move.w #$110,($FFFFEE7C).w
+ move.w #$110,(Camera_Y_pos).w
locret_57FBE:
@@ -120533,7 +120567,7 @@ locret_57FBE: sub_57FC0:
- cmpi.w #$618,($FFFFEE7C).w
+ cmpi.w #$618,(Camera_Y_pos).w
bcs.s loc_57FD2
btst #0,($FFFFFE05).w
beq.s locret_57FE0
@@ -120541,12 +120575,12 @@ sub_57FC0: ; ---------------------------------------------------------------------------
loc_57FD2:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #3,d0
beq.s locret_57FE0
loc_57FDC:
- addq.w #1,($FFFFEE7C).w
+ addq.w #1,(Camera_Y_pos).w
locret_57FE0:
@@ -120559,14 +120593,14 @@ locret_57FE0: sub_57FE2:
- lea ($FFFFB000).w,a1
- lea ($FFFFF602).w,a2
+ lea (Player_1).w,a1
+ lea (Ctrl_1_logical).w,a2
lea $30(a0),a3
bsr.s sub_58002
- tst.w ($FFFFFF08).w
+ tst.w (Player_mode).w
bne.s locret_58046
- lea ($FFFFB04A).w,a1
- lea ($FFFFF66A).w,a2
+ lea (Player_2).w,a1
+ lea (Ctrl_2_logical).w,a2
lea $31(a0),a3
; End of function sub_57FE2
@@ -120614,18 +120648,18 @@ locret_58046: sub_58048:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea $30(a0),a2
moveq #0,d3
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_5805C
moveq #-1,d3
loc_5805C:
bsr.s sub_5806E
- tst.w ($FFFFFF08).w
+ tst.w (Player_mode).w
bne.s locret_58046
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
lea $32(a0),a2
moveq #-1,d3
; End of function sub_58048
@@ -120938,7 +120972,7 @@ loc_583C6: move.w #$870,$2E(a0)
loc_583D2:
- move.w ($FFFFFE04).w,d0
+ move.w (Level_frame_counter).w,d0
andi.w #$F,d0
bne.s loc_583E4
moveq #-$34,d0
@@ -121393,12 +121427,12 @@ SSZ2_ScreenInit: move.w #$A0,$10(a1)
move.b #$44,$2D(a1)
moveq #0,d1
- move.w d1,($FFFFEE80).w
- move.w d1,($FFFFEE78).w
+ move.w d1,(Camera_X_pos_copy).w
+ move.w d1,(Camera_X_pos).w
move.w #$649,d1
- move.w d1,($FFFFEE84).w
- move.w d1,($FFFFEE7C).w
- st ($FFFFEE0A).w
+ move.w d1,(Camera_Y_pos_copy).w
+ move.w d1,(Camera_Y_pos).w
+ st (Scroll_lock).w
jsr (CreateNewSprite4).l
bne.s loc_58A92
move.l #loc_59078,(a1)
@@ -121413,7 +121447,7 @@ loc_58A92: SSZ2_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
move.w ($FFFFEEC0).w,d0
jmp loc_58AB0(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -121435,10 +121469,10 @@ loc_58AB0: ; ---------------------------------------------------------------------------
loc_58ACC:
- move.w ($FFFFEE18).w,d0
- cmp.w ($FFFFEE1A).w,d0
+ move.w (Camera_min_Y_pos).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
bne.w loc_58C68
- addq.w #4,($FFFFEEA6).w
+ addq.w #4,(Special_V_int_routine).w
addq.w #4,($FFFFEEC0).w
loc_58AE0:
@@ -121457,7 +121491,7 @@ loc_58AF6: dbf d0,loc_58AF6
move.b #$17,(a1)
move.b #$19,(a5)
- st ($FFFFEF72).w
+ st (Ending_running_flag).w
addq.w #4,($FFFFEEC0).w
jmp (Refresh_PlaneFullDirect).l
; ---------------------------------------------------------------------------
@@ -121468,8 +121502,8 @@ loc_58B20: bmi.w loc_58C68
clr.w ($FFFFEEC4).w
move #$2700,sr
- lea ($C00000).l,a6
- move.l #$7E000003,($C00004).l
+ lea (VDP_data_port).l,a6
+ move.l #$7E000003,(VDP_control_port).l
move.l #$66666666,d0
moveq #$7F,d1
@@ -121494,18 +121528,18 @@ loc_58B7C: move.w #$100,d2
jsr (Draw_PlaneVertBottomUp).l
bpl.w locret_58C7E
- clr.w ($FFFFEE84).w
- clr.l ($FFFFEE7C).w
- clr.w ($FFFFEE78).w
+ clr.w (Camera_Y_pos_copy).w
+ clr.l (Camera_Y_pos).w
+ clr.w (Camera_X_pos).w
addq.w #4,($FFFFEEC0).w
loc_58B9E:
movem.l d7-a0/a2-a3,-(sp)
jsr (sub_5B18E).l
movem.l (sp)+,d7-a0/a2-a3
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcc.s loc_58BBC
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
bcs.s loc_58C1A
loc_58BBC:
@@ -121513,24 +121547,24 @@ loc_58BBC: tst.w ($FFFFFAAE).w
beq.w locret_58C7E
move.w #$14C0,d0
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_58BD6
move.w #$1660,d0
loc_58BD6:
- cmp.w ($FFFFEE7C).w,d0
+ cmp.w (Camera_Y_pos).w,d0
bne.w locret_58C7E
tst.w ($FFFFEEC2).w
bne.w locret_58C7E
clr.b ($FFFFFAB9).w
- move.w ($FFFFEE90).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d0
addi.w #$100,d0
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
clr.w ($FFFFEE92).w
- and.w ($FFFFEEAC).w,d0
- move.w d0,($FFFFEE96).w
+ and.w (Camera_Y_pos_mask).w,d0
+ move.w d0,(Camera_Y_pos_BG_rounded).w
lea (Pal_Ending2).l,a1
- lea ($FFFFFC20).w,a5
+ lea (Normal_palette_line_2).w,a5
moveq #$17,d0
loc_58C0E:
@@ -121544,7 +121578,7 @@ loc_58C1A: tst.w ($FFFFEEC4).w
beq.s locret_58C7E
lea (Pal_Ending1).l,a1
- lea ($FFFFFC20).w,a5
+ lea (Normal_palette_line_2).w,a5
moveq #$17,d0
loc_58C2C:
@@ -121560,17 +121594,17 @@ loc_58C42: jsr (Draw_PlaneVertBottomUp).l
bpl.s locret_58C7E
move.w #$720,d0
- move.w d0,($FFFFEE84).w
- move.w d0,($FFFFEE7C).w
+ move.w d0,(Camera_Y_pos_copy).w
+ move.w d0,(Camera_Y_pos).w
clr.w ($FFFFEE7E).w
- move.w d0,($FFFFEE8A).w
+ move.w d0,(Camera_Y_pos_rounded).w
addq.w #4,($FFFFEEC0).w
loc_58C68:
jsr sub_5928C(pc)
- lea ($FFFFEE84).w,a6
- lea ($FFFFEE8A).w,a5
+ lea (Camera_Y_pos_copy).w,a6
+ lea (Camera_Y_pos_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jmp (Draw_TileRow).l
@@ -121657,12 +121691,12 @@ SSZ2_BackgroundEvent: loc_58D16:
bra.w loc_58D1E
; ---------------------------------------------------------------------------
- lea ($FFFF8008).w,a3
+ lea (Level_layout_main).w,a3
loc_58D1E:
jsr sub_58D3E(pc)
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr (Draw_TileRow).l
@@ -121706,7 +121740,7 @@ loc_58D6E: move.l (a1),d2
addi.l #$1000,(a1)+
clr.w (a1)+
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
swap d0
clr.w d0
asr.l #5,d0
@@ -121759,7 +121793,7 @@ loc_58E14: cmpi.w #4,($FFFFEEC0).w
bhi.s loc_58E3A
lea ($FFFFA82A).w,a1
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
moveq #8,d1
loc_58E32:
@@ -121781,10 +121815,10 @@ loc_58E3A: move.w $1A(a1),$34(a1)
loc_58E6E:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
subi.w #$320,d0
sub.w ($FFFFEE9C).w,d0
- move.w ($FFFFEEA6).w,d1
+ move.w (Special_V_int_routine).w,d1
subq.w #4,d1
beq.s loc_58E88
subq.w #4,d1
@@ -121793,8 +121827,8 @@ loc_58E6E: loc_58E88:
- move.w d0,($FFFFEE90).w
- move.w #$5E,($FFFFEE8C).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w #$5E,(Camera_X_pos_BG_copy).w
lea ($FFFFA8D0).w,a5
lea (a5),a6
move.w ($FFFFEED2).w,d0
@@ -121879,7 +121913,7 @@ loc_58F0E: loc_58F1E:
lea ($FFFFA970).w,a1
lea ($FFFFA940).w,a5
- move.w ($FFFFEE8C).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d0
move.w d0,d1
andi.w #$F,d1
beq.s loc_58F36
@@ -121889,7 +121923,7 @@ loc_58F36: lsr.w #3,d0
andi.w #-2,d0
adda.w d0,a5
- move.w ($FFFFEE90).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d0
addq.w #8,d0
moveq #$13,d1
@@ -121967,7 +122001,7 @@ loc_58FD0: jsr (ApplyFGDeformation).l
lea ($FFFFE002).w,a1
lea ($FFFFA850).w,a5
- move.w ($FFFFEE90).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d0
subi.w #$100,d0
bmi.s loc_59018
subi.w #$80,d0
@@ -121997,7 +122031,7 @@ loc_59032: loc_59036:
subq.w #1,d0
- move.w ($FFFFEE8C).w,d1
+ move.w (Camera_X_pos_BG_copy).w,d1
neg.w d1
loc_5903E:
@@ -122011,7 +122045,7 @@ loc_5904A: lea ($FFFFEEEA).w,a1
lea ($FFFFA970).w,a5
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
swap d0
moveq #$13,d1
@@ -122049,7 +122083,7 @@ loc_59082: ; ---------------------------------------------------------------------------
loc_5908E:
- tst.w ($FFFFEEA6).w
+ tst.w (Special_V_int_routine).w
beq.w locret_591D4
addi.l #$11B,($FFFFEE9C).w
move.l #$2000,d0
@@ -122069,13 +122103,13 @@ loc_5908E: loc_590D6:
clr.w ($FFFFEEC4).w
- move.w #$C,($FFFFEEA6).w
+ move.w #$C,(Special_V_int_routine).w
addq.b #4,5(a0)
loc_590E4:
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcc.s loc_590F4
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
bcs.s loc_59146
loc_590F4:
@@ -122086,13 +122120,13 @@ loc_590F4: loc_59102:
move.l $3A(a0),d0
sub.l d0,($FFFFEE9C).w
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$318,d0
sub.w ($FFFFEE9C).w,d0
cmpi.w #$D0,d0
beq.s loc_59124
bcs.s loc_59132
- subq.w #1,($FFFFEE7C).w
+ subq.w #1,(Camera_Y_pos).w
bra.s loc_59132
; ---------------------------------------------------------------------------
@@ -122104,7 +122138,7 @@ loc_59124: loc_59132:
- cmpi.w #$2A0,($FFFFEE7C).w
+ cmpi.w #$2A0,(Camera_Y_pos).w
bne.w locret_591D4
st ($FFFFEEC5).w
jmp (Delete_Current_Sprite).l
@@ -122118,13 +122152,13 @@ loc_59146: loc_59154:
move.l $3A(a0),d0
add.l d0,($FFFFEE9C).w
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$318,d0
sub.w ($FFFFEE9C).w,d0
cmpi.w #$D0,d0
beq.s loc_59176
bcc.s loc_59184
- addq.w #1,($FFFFEE7C).w
+ addq.w #1,(Camera_Y_pos).w
bra.s loc_59184
; ---------------------------------------------------------------------------
@@ -122136,7 +122170,7 @@ loc_59176: loc_59184:
- cmpi.w #$600,($FFFFEE7C).w
+ cmpi.w #$600,(Camera_Y_pos).w
bne.s locret_591D4
st ($FFFFEEC5).w
addq.b #4,5(a0)
@@ -122145,13 +122179,13 @@ loc_59194: cmpi.w #$18,($FFFFEEC0).w
bcs.s locret_591D4
move.l $3A(a0),d0
- add.l d0,($FFFFEE7C).w
- move.w ($FFFFEE7C).w,d0
+ add.l d0,(Camera_Y_pos).w
+ move.w (Camera_Y_pos).w,d0
cmpi.w #$7D0,d0
bcs.s locret_591D4
subi.l #$98,$3A(a0)
bpl.s locret_591D4
- cmpi.w #$804,($FFFFEE7C).w
+ cmpi.w #$804,(Camera_Y_pos).w
bne.s locret_591D4
jsr (Create_New_Sprite).l
bne.s loc_591CE
@@ -122179,16 +122213,16 @@ loc_591D6: loc_59208:
tst.w ($FFFFEEC2).w
beq.s loc_59232
- cmpi.w #$80,($FFFFEE90).w
+ cmpi.w #$80,(Camera_Y_pos_BG_copy).w
bne.s loc_59218
bra.s loc_59220
; ---------------------------------------------------------------------------
loc_59218:
- subi.l #$6000,($FFFFEE90).w
+ subi.l #$6000,(Camera_Y_pos_BG_copy).w
loc_59220:
- move.w ($FFFFEE90).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d0
subi.w #$1D0,d0
neg.w d0
addi.w #$F0,d0
@@ -122299,8 +122333,8 @@ loc_59378: ; ---------------------------------------------------------------------------
DEZ1_BackgroundInit:
- clr.w ($FFFFEE8C).w
- clr.w ($FFFFEE90).w
+ clr.w (Camera_X_pos_BG_copy).w
+ clr.w (Camera_Y_pos_BG_copy).w
jsr (Reset_TileOffsetPositionEff).l
jsr (Refresh_PlaneFull).l
jmp (PlainDeformation).l
@@ -122338,19 +122372,19 @@ loc_593E6: ; ---------------------------------------------------------------------------
loc_593EC:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.w loc_59488
- move.w #$B01,($FFFFFE10).w
- clr.b ($FFFFEE33).w
- clr.b ($FFFFF76C).w
- clr.b ($FFFFF710).w
- clr.b ($FFFFF7AA).w
+ move.w #$B01,(Current_zone_and_act).w
+ clr.b (Dynamic_resize_routine).w
+ clr.b (Object_load_routine).w
+ clr.b (Rings_manager_routine).w
+ clr.b (Boss_flag).w
clr.b ($FFFFFF97).w
jsr (Clear_Switches).l
movem.l d7-a0/a2-a3,-(sp)
jsr (Load_Level).l
jsr (LoadSolids).l
- lea ($FFFFFC40).w,a0
+ lea (Normal_palette_line_3).w,a0
lea (Pal_DEZ2+$20).l,a1
moveq #$F,d0
@@ -122365,15 +122399,15 @@ loc_59430: sub.w d0,($FFFFB05A).w
sub.w d1,($FFFFB05E).w
jsr (Offset_ObjectsDuringTransition).l
- sub.w d0,($FFFFEE78).w
- sub.w d1,($FFFFEE7C).w
- sub.w d0,($FFFFEE80).w
- sub.w d1,($FFFFEE84).w
- sub.w d0,($FFFFEE14).w
- sub.w d0,($FFFFEE16).w
- sub.w d1,($FFFFEE18).w
- sub.w d1,($FFFFEE1A).w
- move.w ($FFFFEE1A).w,($FFFFEE12).w
+ sub.w d0,(Camera_X_pos).w
+ sub.w d1,(Camera_Y_pos).w
+ sub.w d0,(Camera_X_pos_copy).w
+ sub.w d1,(Camera_Y_pos_copy).w
+ sub.w d0,(Camera_min_X_pos).w
+ sub.w d0,(Camera_max_X_pos).w
+ sub.w d1,(Camera_min_Y_pos).w
+ sub.w d1,(Camera_max_Y_pos).w
+ move.w (Camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
jsr (Reset_TileOffsetPositionActual).l
clr.w ($FFFFEEC2).w
@@ -122430,8 +122464,8 @@ loc_594F8: DEZ2_BackgroundInit:
move.w #8,($FFFFEEC2).w
- clr.w ($FFFFEE8C).w
- clr.w ($FFFFEE90).w
+ clr.w (Camera_X_pos_BG_copy).w
+ clr.w (Camera_Y_pos_BG_copy).w
jsr (Reset_TileOffsetPositionEff).l
jsr (Refresh_PlaneFull).l
jmp (PlainDeformation).l
@@ -122451,11 +122485,11 @@ loc_59526: ; ---------------------------------------------------------------------------
loc_59532:
- clr.w ($FFFFEE8C).w
- clr.w ($FFFFEE90).w
+ clr.w (Camera_X_pos_BG_copy).w
+ clr.w (Camera_Y_pos_BG_copy).w
jsr (Reset_TileOffsetPositionEff).l
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -122584,11 +122618,11 @@ locret_59646: sub_59648:
move.w ($FFFFEE98).w,d2
move.w ($FFFFEE9C).w,d3
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
sub.w ($FFFFEED4).w,d0
add.w ($FFFFEED2).w,d0
move.w d0,($FFFFEE98).w
- move.w ($FFFFEE84).w,d1
+ move.w (Camera_Y_pos_copy).w,d1
sub.w ($FFFFEED6).w,d1
addi.w #$100,d1
move.w d1,($FFFFEE9C).w
@@ -122606,7 +122640,7 @@ sub_59672: andi.w #-$10,d5
move.w d5,($FFFFEEA0).w
move.w ($FFFFEE9C).w,d5
- and.w ($FFFFEEAC).w,d5
+ and.w (Camera_Y_pos_mask).w,d5
move.w d5,($FFFFEEA2).w
rts
; End of function sub_59672
@@ -122624,8 +122658,8 @@ DDZ_BackgroundInit: DDZ_BackgroundEvent:
jsr sub_596EA(pc)
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
moveq #$20,d6
jsr (Draw_TileRow).l
@@ -122633,13 +122667,13 @@ DDZ_BackgroundEvent: loc_596BC:
lea word_59716(pc),a4
lea ($FFFFA800).w,a5
- lea ($FFFFE000).w,a1
+ lea (H_scroll_buffer).w,a1
move.w ($FFFFEE98).w,d3
- move.w ($FFFFEE90).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d0
move.w #$DF,d1
jsr (ApplyDeformation2).l
- move.w ($FFFFEE9C).w,($FFFFF616).w
- move.w ($FFFFEE90).w,($FFFFF618).w
+ move.w ($FFFFEE9C).w,(V_scroll_value).w
+ move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w
addq.w #4,sp
rts
@@ -122648,9 +122682,9 @@ loc_596BC: sub_596EA:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
asr.w #1,d0
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
move.w ($FFFFEED8).w,d0
swap d0
clr.w d0
@@ -122705,10 +122739,10 @@ Pachinko_BackgroundEvent: Pachinko_BGScroll:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
asr.w #3,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
subi.w #$A0,d0
swap d0
clr.w d0
@@ -122718,16 +122752,16 @@ Pachinko_BGScroll: add.l d1,d0
swap d0
addi.w #$60,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
rts
; End of function Pachinko_BGScroll
; ---------------------------------------------------------------------------
Slots_ScreenInit:
- move.w #$7FF,($FFFFEEAA).w
- move.w #$7F0,($FFFFEEAC).w
- move.w #$3C,($FFFFEEAE).w
+ move.w #$7FF,(Screen_Y_wrap_value).w
+ move.w #$7F0,(Camera_Y_pos_mask).w
+ move.w #$3C,(Layout_row_index_mask).w
rts
; ---------------------------------------------------------------------------
@@ -122746,15 +122780,15 @@ loc_597AA: addq.w #4,($FFFFEEC0).w
move.w #$400,d1
sub.w ($FFFFEED2).w,d1
- add.w ($FFFFEE80).w,d1
+ add.w (Camera_X_pos_copy).w,d1
move.w d1,($FFFFEE98).w
andi.w #-$10,d1
move.w d1,($FFFFEEA0).w
move.w #$400,d0
sub.w ($FFFFEED4).w,d0
- add.w ($FFFFEE84).w,d0
+ add.w (Camera_Y_pos_copy).w,d0
move.w d0,($FFFFEE9C).w
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEA2).w
jmp (Refresh_PlaneDirect).l
; ---------------------------------------------------------------------------
@@ -122763,12 +122797,12 @@ loc_597E4: moveq #$20,d1
move.w #$400,d0
sub.w ($FFFFEED2).w,d0
- add.w ($FFFFEE80).w,d0
+ add.w (Camera_X_pos_copy).w,d0
lea ($FFFFEE98).w,a1
bsr.s sub_59832
move.w #$400,d0
sub.w ($FFFFEED4).w,d0
- add.w ($FFFFEE84).w,d0
+ add.w (Camera_Y_pos_copy).w,d0
lea ($FFFFEE9C).w,a1
bsr.s sub_59832
lea ($FFFFEE98).w,a6
@@ -122818,7 +122852,7 @@ loc_59850: dbf d0,loc_59850
moveq #0,d1
moveq #0,d0
- move.l d0,($FFFFEE90).w
+ move.l d0,(Camera_Y_pos_BG_copy).w
jsr (Refresh_PlaneFull).l
jmp loc_59990(pc)
; ---------------------------------------------------------------------------
@@ -122843,10 +122877,10 @@ loc_5988A: loc_5988C:
move.l d0,($FFFFEED8).w
- add.l d0,($FFFFEE90).w
- andi.w #$FF,($FFFFEE90).w
+ add.l d0,(Camera_Y_pos_BG_copy).w
+ andi.w #$FF,(Camera_Y_pos_BG_copy).w
lea ($FF1000).l,a0
- move.l a0,($FFFFEF74).w
+ move.l a0,(Plane_buffer_2_addr).w
clr.w (a0)
clr.w ($FFFFEED6).w
lea word_599DE(pc),a5
@@ -122958,13 +122992,13 @@ loc_5997C: loc_59990:
lea word_599BE(pc),a4
lea ($FFFFA800).w,a5
- lea ($FFFFE000).w,a1
+ lea (H_scroll_buffer).w,a1
move.w ($FFFFEE98).w,d3
- move.w ($FFFFEE90).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d0
move.w #$DF,d1
jsr (ApplyDeformation2).l
- move.w ($FFFFEE9C).w,($FFFFF616).w
- move.w ($FFFFEE90).w,($FFFFF618).w
+ move.w ($FFFFEE9C).w,(V_scroll_value).w
+ move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w
addq.w #4,sp
rts
; ---------------------------------------------------------------------------
@@ -123067,11 +123101,11 @@ word_599DE: dc.w $48 ; ---------------------------------------------------------------------------
LRZ3_ScreenInit:
- clr.w ($FFFFEE16).w
- lea ($FFFFB000).w,a1
+ clr.w (Camera_max_X_pos).w
+ lea (Player_1).w,a1
cmpi.w #$480,$10(a1)
bcs.s loc_59AF8
- lea ($FFFFFCA0).w,a1
+ lea (Target_palette_line_2).w,a1
lea (Pal_LRZBossFire).l,a5
moveq #$17,d0
@@ -123081,18 +123115,18 @@ loc_59A9A: move.w #$9C0,$10(a1)
move.w #$36C,$14(a1)
move.w #$920,d0
- move.w d0,($FFFFEE80).w
- move.w d0,($FFFFEE78).w
+ move.w d0,(Camera_X_pos_copy).w
+ move.w d0,(Camera_X_pos).w
clr.w ($FFFFEE7A).w
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_max_X_pos).w
move.w #$2F0,d0
- move.w d0,($FFFFEE84).w
- move.w d0,($FFFFEE7C).w
+ move.w d0,(Camera_Y_pos_copy).w
+ move.w d0,(Camera_Y_pos).w
clr.w ($FFFFEE7E).w
- move.w d0,($FFFFEE18).w
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
move.w #$14,($FFFFEEB2).w
move.w #$10,($FFFFEED2).w
move.w #$2D,($FFFFEED4).w
@@ -123122,21 +123156,21 @@ loc_59B1C: move.w ($FFFFEF5E).w,d0
beq.s loc_59B30
clr.w ($FFFFEF5E).w
- move.w d0,($FFFFFE20).w
- move.b #1,($FFFFFE1D).w
+ move.w d0,(Ring_count).w
+ move.b #1,(Update_HUD_ring_count).w
loc_59B30:
move.l ($FFFFEF60).w,d0
beq.s loc_59B42
clr.l ($FFFFEF60).w
- move.l d0,($FFFFFE22).w
- st ($FFFFFE1E).w
+ move.l d0,(Timer).w
+ st (Update_HUD_timer).w
loc_59B42:
addq.w #4,($FFFFEEC0).w
loc_59B46:
- move.b #1,($FFFFFE1C).w
+ move.b #1,(Update_HUD_life_count).w
tst.w ($FFFFEEC4).w
beq.s loc_59B78
clr.w ($FFFFEEC4).w
@@ -123151,10 +123185,10 @@ loc_59B46: ; ---------------------------------------------------------------------------
loc_59B78:
- move.w ($FFFFEE7C).w,d0
- cmp.w ($FFFFEE1A).w,d0
+ move.w (Camera_Y_pos).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
bne.s loc_59BA4
- move.w d0,($FFFFEE18).w
+ move.w d0,(Camera_min_Y_pos).w
bra.s loc_59BA4
; ---------------------------------------------------------------------------
@@ -123246,7 +123280,7 @@ loc_59C4C: ; ---------------------------------------------------------------------------
loc_59C60:
- cmpi.w #$500,($FFFFEE7C).w
+ cmpi.w #$500,(Camera_Y_pos).w
bcs.s loc_59C6E
addq.w #4,($FFFFEEC2).w
bra.s loc_59C8C
@@ -123260,8 +123294,8 @@ loc_59C72: jsr (DrawBGAsYouMove).l
move.w ($FFFFEED6).w,d0
beq.s loc_59C88
- move.w d0,($FFFFEE8C).w
- move.w ($FFFFEED8).w,($FFFFEE90).w
+ move.w d0,(Camera_X_pos_BG_copy).w
+ move.w ($FFFFEED8).w,(Camera_Y_pos_BG_copy).w
loc_59C88:
jmp sub_59DDE(pc)
@@ -123269,21 +123303,21 @@ loc_59C88: loc_59C8C:
- cmpi.w #$500,($FFFFEE7C).w
+ cmpi.w #$500,(Camera_Y_pos).w
bcs.s loc_59CD8
- cmpi.w #$A00,($FFFFEE78).w
+ cmpi.w #$A00,(Camera_X_pos).w
bne.s loc_59CCA
- move.w ($FFFFEE7C).w,d0
- cmp.w ($FFFFEE1A).w,d0
+ move.w (Camera_Y_pos).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
bne.s loc_59CCA
- move.w #$A00,($FFFFEE16).w
- move.w d0,($FFFFEE18).w
+ move.w #$A00,(Camera_max_X_pos).w
+ move.w d0,(Camera_min_Y_pos).w
jsr (Create_New_Sprite).l
bne.s loc_59CBE
move.l #Obj_LRZEndBoss,(a1)
loc_59CBE:
- move.w #4,($FFFFEEA6).w
+ move.w #4,(Special_V_int_routine).w
addq.w #8,($FFFFEEC2).w
bra.s loc_59D24
; ---------------------------------------------------------------------------
@@ -123296,11 +123330,11 @@ loc_59CCA: ; ---------------------------------------------------------------------------
loc_59CD8:
- move.w ($FFFFEE8C).w,($FFFFEED6).w
- move.w ($FFFFEE90).w,($FFFFEED8).w
+ move.w (Camera_X_pos_BG_copy).w,($FFFFEED6).w
+ move.w (Camera_Y_pos_BG_copy).w,($FFFFEED8).w
jsr sub_59D82(pc)
jsr (Reset_TileOffsetPositionEff).l
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -123311,8 +123345,8 @@ loc_59D02: jsr sub_59D82(pc)
loc_59D06:
- move.w ($FFFFEE8C).w,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_X_pos_BG_copy).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr (Draw_PlaneVertTopDown).l
bpl.w loc_59C72
clr.w ($FFFFEED6).w
@@ -123337,7 +123371,7 @@ loc_59D30: jsr sub_59DDE(pc)
lea ($FFFFEEEA).w,a1
lea ($FFFFA800).w,a5
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
swap d0
moveq #$13,d1
@@ -123351,7 +123385,7 @@ loc_59D5A: loc_59D66:
clr.w ($FFFFEEC6).w
- move.w #$C,($FFFFEEA6).w
+ move.w #$C,(Special_V_int_routine).w
addq.w #4,($FFFFEEC2).w
loc_59D74:
@@ -123364,13 +123398,13 @@ loc_59D74: sub_59D82:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
asr.w #4,d0
addi.w #$10,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
asr.w #4,d0
- move.w d0,($FFFFEE8C).w
+ move.w d0,(Camera_X_pos_BG_copy).w
asr.w #1,d0
move.w d0,($FFFFEEE4).w
rts
@@ -123382,12 +123416,12 @@ sub_59D82: sub_59DA2:
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
subi.w #$700,d0
- move.w d0,($FFFFEE8C).w
- move.w ($FFFFEE84).w,d0
+ move.w d0,(Camera_X_pos_BG_copy).w
+ move.w (Camera_Y_pos_copy).w,d0
subi.w #$500,d0
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
rts
; End of function sub_59DA2
@@ -123432,23 +123466,23 @@ loc_59DF2: ; ---------------------------------------------------------------------------
loc_59DF8:
- lea ($FFFFE000).w,a1
+ lea (H_scroll_buffer).w,a1
lea (word_5077E).l,a5
lea (a5),a6
- move.w ($FFFFEE84).w,d0
- move.w ($FFFFFE04).w,d1
+ move.w (Camera_Y_pos_copy).w,d0
+ move.w (Level_frame_counter).w,d1
add.w d1,d1
add.w d1,d0
andi.w #$3E,d0
adda.w d0,a5
- move.w ($FFFFEE90).w,d0
+ move.w (Camera_Y_pos_BG_copy).w,d0
asr.w #1,d1
add.w d1,d0
andi.w #$3E,d0
adda.w d0,a6
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
neg.w d0
- move.w ($FFFFEE8C).w,d1
+ move.w (Camera_X_pos_BG_copy).w,d1
neg.w d1
move.w #$DF,d2
@@ -123473,7 +123507,7 @@ loc_59E46: ; ---------------------------------------------------------------------------
loc_59E52:
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
move.w ($FFFFEED2).w,d0
jmp loc_59E5E(pc,d0.w)
; ---------------------------------------------------------------------------
@@ -123497,7 +123531,7 @@ loc_59E5E: loc_59E7A:
move.l #$20000,d2
moveq #0,d1
- cmpi.w #$410,($FFFFEE78).w
+ cmpi.w #$410,(Camera_X_pos).w
bcs.w loc_59F3C
addq.w #4,($FFFFEED2).w
@@ -123505,14 +123539,14 @@ loc_59E90: move.l #$16A00,d2
move.l d2,d1
neg.l d1
- cmpi.w #$330,($FFFFEE7C).w
+ cmpi.w #$330,(Camera_Y_pos).w
bhi.w loc_59F3C
addq.w #4,($FFFFEED2).w
loc_59EA8:
move.l #$20000,d2
moveq #0,d1
- cmpi.w #$650,($FFFFEE78).w
+ cmpi.w #$650,(Camera_X_pos).w
bcs.w loc_59F3C
addq.w #4,($FFFFEED2).w
@@ -123520,62 +123554,62 @@ loc_59EBE: move.l #$16A00,d2
move.l d2,d1
neg.l d1
- cmpi.w #$2F0,($FFFFEE7C).w
+ cmpi.w #$2F0,(Camera_Y_pos).w
bhi.s loc_59F3C
addq.w #4,($FFFFEED2).w
loc_59ED4:
move.l #$20000,d2
moveq #0,d1
- cmpi.w #$910,($FFFFEE78).w
+ cmpi.w #$910,(Camera_X_pos).w
bcs.s loc_59F3C
addq.w #4,($FFFFEED2).w
loc_59EE8:
move.l #$1D900,d2
move.l #$C400,d1
- cmpi.w #$320,($FFFFEE7C).w
+ cmpi.w #$320,(Camera_Y_pos).w
bcs.s loc_59F3C
addq.w #4,($FFFFEED2).w
loc_59F00:
move.l #$20000,d2
moveq #0,d1
- cmpi.w #$BBF,($FFFFEE78).w
+ cmpi.w #$BBF,(Camera_X_pos).w
bcs.s loc_59F3C
moveq #0,d2
cmpi.w #$C50,($FFFFB010).w
bcs.s loc_59F3C
- move.w #$A00,($FFFFEE14).w
- move.w #$BC0,($FFFFEE16).w
+ move.w #$A00,(Camera_min_X_pos).w
+ move.w #$BC0,(Camera_max_X_pos).w
move.w #$560,d0
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
- clr.b ($FFFFEE0A).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
+ clr.b (Scroll_lock).w
clr.w ($FFFFEEB2).w
rts
; ---------------------------------------------------------------------------
loc_59F3C:
- add.l d1,($FFFFEE7C).w
- move.w ($FFFFEE7C).w,d1
- move.w d1,($FFFFEE7C).w
- move.w d1,($FFFFEE84).w
- move.w d1,($FFFFEE18).w
- move.w d1,($FFFFEE1A).w
- move.w d1,($FFFFEE12).w
- add.l d2,($FFFFEE78).w
- move.w ($FFFFEE78).w,d0
- move.w d0,($FFFFEE78).w
- move.w d0,($FFFFEE80).w
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE16).w
+ add.l d1,(Camera_Y_pos).w
+ move.w (Camera_Y_pos).w,d1
+ move.w d1,(Camera_Y_pos).w
+ move.w d1,(Camera_Y_pos_copy).w
+ move.w d1,(Camera_min_Y_pos).w
+ move.w d1,(Camera_max_Y_pos).w
+ move.w d1,(Camera_target_max_Y_pos).w
+ add.l d2,(Camera_X_pos).w
+ move.w (Camera_X_pos).w,d0
+ move.w d0,(Camera_X_pos).w
+ move.w d0,(Camera_X_pos_copy).w
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_max_X_pos).w
movem.w d0/d2,-(sp)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.s sub_59F82
movem.w (sp)+,d0/d2
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; =============== S U B R O U T I N E =======================================
@@ -123723,7 +123757,7 @@ loc_5A0AC: move.l d0,($FFFFEEE6).w
btst #3,$2A(a0)
beq.s loc_5A0DE
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b ($FFFFFAAA).w
bne.s loc_5A0D6
btst #4,$2B(a1)
@@ -123740,7 +123774,7 @@ loc_5A0D6: loc_5A0DE:
btst #4,$2A(a0)
beq.s locret_5A104
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.b ($FFFFFAAA).w
bne.s loc_5A0FC
tst.b ($FFFFFACD).w
@@ -123778,16 +123812,16 @@ word_5A106: dc.w $310 ; ---------------------------------------------------------------------------
HPZ_ScreenInit:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_5A13E
- move.w #$AA0,($FFFFEE16).w
+ move.w #$AA0,(Camera_max_X_pos).w
bra.s loc_5A14C
; ---------------------------------------------------------------------------
loc_5A13E:
cmpi.w #$480,($FFFFB014).w
bcc.s loc_5A14C
- move.w #$AA0,($FFFFEE14).w
+ move.w #$AA0,(Camera_min_X_pos).w
loc_5A14C:
@@ -123798,7 +123832,7 @@ loc_5A14C: HPZ_ScreenEvent:
tst.w ($FFFFEED2).w
bne.s loc_5A176
- tst.w ($FFFFEE50).w
+ tst.w (Palette_fade_timer).w
bne.s loc_5A176
jsr (Create_New_Sprite).l
bne.s loc_5A172
@@ -123810,7 +123844,7 @@ loc_5A172: loc_5A176:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
tst.w ($FFFFEEC4).w
beq.s loc_5A19E
clr.w ($FFFFEEC4).w
@@ -123826,7 +123860,7 @@ loc_5A19E: HPZ_BackgroundInit:
move.w $14(a3),$18(a3)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_5A1C2
movea.w 4(a3),a1
move.b #-$72,3(a1)
@@ -123884,7 +123918,7 @@ loc_5A224: move.w (a1)+,(a1)
andi.w #-$10,(a1)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -123913,7 +123947,7 @@ loc_5A288: loc_5A28C:
lea word_5A39C(pc),a4
lea ($FFFFA7FC).w,a5
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
jsr (Draw_PlaneVertBottomUpComplex).l
bpl.s loc_5A2E4
addq.w #4,($FFFFEEC2).w
@@ -123931,7 +123965,7 @@ loc_5A2A6: move.w (a1)+,(a1)
andi.w #-$10,(a1)
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -123960,7 +123994,7 @@ loc_5A30A: loc_5A30E:
lea word_5A39C(pc),a4
lea ($FFFFA7FC).w,a5
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
jsr (Draw_PlaneVertBottomUpComplex).l
bpl.w loc_5A262
clr.w ($FFFFEEC2).w
@@ -123986,7 +124020,7 @@ sub_5A334: move.w #$700,d3
loc_5A33C:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
move.w ($FFFFEECE).w,d4
sub.w d4,d0
add.w d3,d0
@@ -123998,8 +124032,8 @@ loc_5A33C: add.l d1,d0
swap d0
add.w d4,d0
- move.w d0,($FFFFEE90).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_BG_copy).w
+ move.w (Camera_X_pos_copy).w,d0
sub.w d2,d0
swap d0
clr.w d0
@@ -124056,7 +124090,7 @@ DEZ3_ScreenInit: move.w d0,$7E(a3)
lea ($FFFF800A).w,a3
move.w #-$2000,d7
- lea ($FFFF8000).w,a1
+ lea (Level_layout_header).w,a1
move.w (a1),d0
mulu.w 4(a1),d0
move.w 2(a1),d1
@@ -124089,10 +124123,10 @@ loc_5A3FA: loc_5A442:
move.w #$6C0,($FFFFEED2).w
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
move.w #$80,d0
- move.w d0,($FFFFEE78).w
- move.w d0,($FFFFEE80).w
+ move.w d0,(Camera_X_pos).w
+ move.w d0,(Camera_X_pos_copy).w
move.w d0,($FFFFEEE8).w
jsr sub_5A508(pc)
jsr (Reset_TileOffsetPositionActual).l
@@ -124123,15 +124157,15 @@ loc_5A49A: move.w ($FFFFEF5E).w,d0
beq.s loc_5A4AE
clr.w ($FFFFEF5E).w
- move.w d0,($FFFFFE20).w
- move.b #1,($FFFFFE1D).w
+ move.w d0,(Ring_count).w
+ move.b #1,(Update_HUD_ring_count).w
loc_5A4AE:
move.l ($FFFFEF60).w,d0
beq.s loc_5A4C0
clr.l ($FFFFEF60).w
- move.l d0,($FFFFFE22).w
- st ($FFFFFE1E).w
+ move.l d0,(Timer).w
+ st (Update_HUD_timer).w
loc_5A4C0:
addq.w #4,($FFFFEEC0).w
@@ -124141,7 +124175,7 @@ loc_5A4C4: lea word_5A524(pc),a4
lea ($FFFFA800).w,a6
moveq #2,d5
- move.w ($FFFFEE8A).w,d6
+ move.w (Camera_Y_pos_rounded).w,d6
jsr (Draw_BGNoVert).l
move.w ($FFFFEED8).w,d1
beq.s locret_5A506
@@ -124168,8 +124202,8 @@ sub_5A508: moveq #$20,d0
add.w ($FFFFEECE).w,d0
- move.w d0,($FFFFEE84).w
- move.w ($FFFFEE80).w,d0
+ move.w d0,(Camera_Y_pos_copy).w
+ move.w (Camera_X_pos_copy).w,d0
move.w d0,($FFFFA80A).w
andi.w #$1FF,d0
move.w d0,($FFFFA804).w
@@ -124183,7 +124217,7 @@ word_5A524: dc.w $E0 ; ---------------------------------------------------------------------------
DEZ3_BackgroundInit:
- lea ($FFFF8008).w,a3
+ lea (Level_layout_main).w,a3
move.w #-$4000,d7
jsr sub_5A76C(pc)
jsr (Reset_TileOffsetPositionEff).l
@@ -124192,7 +124226,7 @@ DEZ3_BackgroundInit: ; ---------------------------------------------------------------------------
DEZ3_BackgroundEvent:
- lea ($FFFF8008).w,a3
+ lea (Level_layout_main).w,a3
move.w #-$4000,d7
jsr sub_5A76C(pc)
move.w ($FFFFEEC2).w,d0
@@ -124220,14 +124254,14 @@ loc_5A558: ; ---------------------------------------------------------------------------
loc_5A57C:
- move.b #1,($FFFFFE1C).w
+ move.b #1,(Update_HUD_life_count).w
tst.w ($FFFFEEC6).w
beq.w loc_5A72E
clr.w ($FFFFEEC6).w
movea.w 8(a3),a1
move.b #$1A,$D(a1)
- move.w ($FFFFEE90).w,d0
- move.w ($FFFFEE8C).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d0
+ move.w (Camera_X_pos_BG_copy).w,d1
moveq #$15,d6
jsr (Refresh_PlaneDirect).l
addq.w #4,($FFFFEEC2).w
@@ -124277,7 +124311,7 @@ loc_5A61A: jsr (Create_New_Sprite).l
bne.s loc_5A65E
move.l #Obj_5A94C,(a1)
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
andi.w #-$20,d0
move.w d0,($FFFFEEE8).w
subi.w #$10,d0
@@ -124343,7 +124377,7 @@ loc_5A6B4: move.w #$160,d0
moveq #8,d6
moveq #9,d2
- move.w ($FFFFEE90).w,d3
+ move.w (Camera_Y_pos_BG_copy).w,d3
andi.w #-$10,d3
addi.w #$E0,d3
@@ -124383,17 +124417,17 @@ loc_5A734: lea word_5A524(pc),a4
lea ($FFFFA808).w,a5
- lea ($FFFFE000).w,a1
- move.w ($FFFFEE84).w,d0
+ lea (H_scroll_buffer).w,a1
+ move.w (Camera_Y_pos_copy).w,d0
move.w ($FFFFEEDE).w,d3
bne.s loc_5A74E
- move.w ($FFFFEE8C).w,d3
+ move.w (Camera_X_pos_BG_copy).w,d3
loc_5A74E:
move.w #$DF,d1
jsr (ApplyDeformation2).l
- move.w ($FFFFEE90).w,($FFFFF616).w
- move.w ($FFFFEE84).w,($FFFFF618).w
+ move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value).w
+ move.w (Camera_Y_pos_copy).w,(V_scroll_value_BG).w
addq.w #4,sp
jmp (ShakeScreen_Setup).l
@@ -124402,7 +124436,7 @@ loc_5A74E: sub_5A76C:
- move.w ($FFFFEE8C).w,($FFFFEE8E).w
+ move.w (Camera_X_pos_BG_copy).w,($FFFFEE8E).w
tst.w ($FFFFEED2).w
bne.s loc_5A77C
moveq #0,d0
@@ -124410,16 +124444,16 @@ sub_5A76C: ; ---------------------------------------------------------------------------
loc_5A77C:
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
sub.w ($FFFFEED4).w,d0
add.w ($FFFFEED2).w,d0
loc_5A788:
- move.w d0,($FFFFEE8C).w
- move.w ($FFFFEE84).w,d0
+ move.w d0,(Camera_X_pos_BG_copy).w
+ move.w (Camera_Y_pos_copy).w,d0
sub.w ($FFFFEED6).w,d0
addi.w #$180,d0
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
rts
; End of function sub_5A76C
@@ -124456,7 +124490,7 @@ Obj_5A7C8: move.w #$80,$2E(a0)
loc_5A7EC:
- cmpi.b #$17,($FFFFFE10).w
+ cmpi.b #$17,(Current_zone).w
beq.s loc_5A7FA
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -124488,7 +124522,7 @@ loc_5A82C: loc_5A83C:
moveq #-$20,d1
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
andi.w #-$20,d0
move.w $2E(a0),d2
cmp.w d2,d0
@@ -124529,7 +124563,7 @@ Obj_5A872: loc_5A8B2:
tst.b 4(a0)
bmi.s loc_5A8C4
- move.w ($FFFFF7DA).w,d0
+ move.w (Camera_X_pos_coarse_back).w,d0
addi.w #$400,d0
move.w d0,$10(a0)
@@ -124583,7 +124617,7 @@ locret_5A94A: ; ---------------------------------------------------------------------------
Obj_5A94C:
- cmpi.b #$17,($FFFFFE10).w
+ cmpi.b #$17,(Current_zone).w
beq.s loc_5A95A
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -124591,7 +124625,7 @@ Obj_5A94C: loc_5A95A:
tst.w ($FFFFEED2).w
bne.s loc_5A97C
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
addi.w #$9C,d0
cmp.w $30(a0),d0
bcs.s locret_5A9AA
@@ -124622,9 +124656,9 @@ Map_DEZ3Blocks: include "Levels\DEZ\Misc Object Data\Map - Act 3 Blocks.asm" ; ---------------------------------------------------------------------------
HPZS_ScreenInit:
- tst.b ($FFFFFFB0).w
+ tst.b (Emerald_count).w
beq.s loc_5AA14
- move.b ($FFFFFE16).w,d0
+ move.b (Current_special_stage).w,d0
ori.b #-$80,d0
move.b d0,($FFFFEF70).w
@@ -124640,7 +124674,7 @@ loc_5AA14: HPZS_ScreenEvent:
move.w ($FFFFEECE).w,d0
- add.w d0,($FFFFEE84).w
+ add.w d0,(Camera_Y_pos_copy).w
jmp (DrawTilesAsYouMove).l
; ---------------------------------------------------------------------------
@@ -124679,14 +124713,14 @@ Ending_ScreenInit: move.l #Obj_5D86A,(a1)
loc_5AAB0:
- st ($FFFFEF72).w
- st ($FFFFEE0A).w
+ st (Ending_running_flag).w
+ st (Scroll_lock).w
move.b #3,($FFFFB02E).w
move.l #$2000000,d0
- move.l d0,($FFFFEE78).w
- move.l d0,($FFFFEE80).w
- move.l d0,($FFFFEE7C).w
- move.l d0,($FFFFEE84).w
+ move.l d0,(Camera_X_pos).w
+ move.l d0,(Camera_X_pos_copy).w
+ move.l d0,(Camera_Y_pos).w
+ move.l d0,(Camera_Y_pos_copy).w
clr.l ($FFFFEE98).w
clr.l ($FFFFEE9C).w
move.w #$2B4,($FFFFEED4).w
@@ -124758,7 +124792,7 @@ loc_5AB66: loc_5AB6E:
jsr sub_5AEEA(pc)
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
bcs.s loc_5AB96
moveq #0,d0
move.w ($FFFFEED8).w,d0
@@ -124775,9 +124809,9 @@ loc_5AB96: tst.w ($FFFFEEC4).w
beq.w loc_5AEE4
clr.w ($FFFFEEC4).w
- move.w #$3F,($FFFFF626).w
+ move.w #$3F,(Palette_fade_info).w
move.w #$15,($FFFFEEDA).w
- st ($FFFFEE50).w
+ st (Palette_fade_timer).w
st ($FFFFF650).w
addq.w #4,($FFFFEEC0).w
bra.s loc_5ABC0
@@ -124792,21 +124826,21 @@ loc_5ABC0: movea.l (sp)+,a0
subq.w #1,($FFFFEEDA).w
bpl.w loc_5AEE4
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_5ABDC:
move.l d0,(a1)+
dbf d1,loc_5ABDC
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #0,d0
move.w #$7EC,d1
loc_5ABEC:
move.l d0,(a1)+
dbf d1,loc_5ABEC
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
bcc.s loc_5AC04
move.w #$24,($FFFFEEC0).w
bra.w loc_5ADC0
@@ -124820,10 +124854,10 @@ loc_5AC04: loc_5AC12:
movem.l d7-a0/a2-a3,-(sp)
lea (AIZ1_128x128_Kos).l,a1
- lea ($FFFF0000).l,a2
+ lea (RAM_start).l,a2
jsr (Queue_Kos).l
lea (AIZ1_16x16_Primary_Kos).l,a1
- lea ($FFFF9000).w,a2
+ lea (Block_table).w,a2
jsr (Queue_Kos).l
lea (AIZ1_16x16_MainLevel_Kos).l,a1
lea ($FFFF9268).w,a2
@@ -124838,21 +124872,21 @@ loc_5AC12: addq.w #4,($FFFFEEC0).w
loc_5AC70:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.w loc_5AEE4
movem.l d7-a0/a2-a3,-(sp)
- clr.w ($FFFFFE10).w
- move.b #1,($FFFFFE2A).w
+ clr.w (Current_zone_and_act).w
+ move.b #1,(Last_star_post_hit).w
jsr (Load_Level).l
jsr (LoadSolids).l
- move.w #$D01,($FFFFFE10).w
- clr.b ($FFFFFE2A).w
+ move.w #$D01,(Current_zone_and_act).w
+ clr.b (Last_star_post_hit).w
moveq #3,d0
jsr (LoadPalette).l
moveq #$2A,d0
jsr (LoadPalette).l
lea (Pal_EndingObjects).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_5ACB8:
@@ -124861,21 +124895,21 @@ loc_5ACB8: jsr (Adjust_AIZ1Chunks2).l
movem.l (sp)+,d7-a0/a2-a3
move.w #$1EB8,d0
- move.w d0,($FFFFEE78).w
- move.w d0,($FFFFEE80).w
+ move.w d0,(Camera_X_pos).w
+ move.w d0,(Camera_X_pos_copy).w
move.w #$1E0,d0
- move.w d0,($FFFFEE7C).w
- move.w d0,($FFFFEE84).w
+ move.w d0,(Camera_Y_pos).w
+ move.w d0,(Camera_Y_pos_copy).w
jsr (Reset_TileOffsetPositionActual).l
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC0).w
loc_5ACFC:
- move.w ($FFFFEE80).w,d1
- move.w ($FFFFEE84).w,d2
+ move.w (Camera_X_pos_copy).w,d1
+ move.w (Camera_Y_pos_copy).w,d2
jsr (Draw_PlaneVertBottomUp).l
bpl.w loc_5AEE4
addq.w #4,($FFFFEEC2).w
@@ -124884,7 +124918,7 @@ loc_5ACFC: loc_5AD16:
cmpi.w #$10,($FFFFEEC2).w
bcs.w loc_5AEE4
- move.w #$3F,($FFFFF626).w
+ move.w #$3F,(Palette_fade_info).w
move.w #$15,($FFFFEEDA).w
addq.w #4,($FFFFEEC0).w
@@ -124894,7 +124928,7 @@ loc_5AD30: movea.l (sp)+,a0
subq.w #1,($FFFFEEDA).w
bpl.w loc_5AEE4
- clr.w ($FFFFEE50).w
+ clr.w (Palette_fade_timer).w
clr.b ($FFFFF650).w
clr.w ($FFFFF634).w
clr.w ($FFFFF632).w
@@ -124912,9 +124946,9 @@ loc_5AD56: loc_5AD72:
clr.w ($FFFFEEC4).w
- move.w #$3F,($FFFFF626).w
+ move.w #$3F,(Palette_fade_info).w
move.w #$15,($FFFFEEDA).w
- st ($FFFFEE50).w
+ st (Palette_fade_timer).w
st ($FFFFF650).w
addq.w #4,($FFFFEEC0).w
@@ -124924,14 +124958,14 @@ loc_5AD8E: movea.l (sp)+,a0
subq.w #1,($FFFFEEDA).w
bpl.w loc_5AEE4
- lea ($FFFFAC00).w,a1
+ lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
loc_5ADAA:
move.l d0,(a1)+
dbf d1,loc_5ADAA
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #0,d0
move.w #$7EC,d1
@@ -124947,10 +124981,10 @@ loc_5ADC0: loc_5ADCE:
movem.l d7-a0/a2-a3,-(sp)
lea (SSZ2_128x128_Kos).l,a1
- lea ($FFFF0000).l,a2
+ lea (RAM_start).l,a2
jsr (Queue_Kos).l
lea (SSZ2_16x16_Kos).l,a1
- lea ($FFFF9000).w,a2
+ lea (Block_table).w,a2
jsr (Queue_Kos).l
lea (ArtKosM_SSZ2).l,a1
moveq #0,d2
@@ -124959,7 +124993,7 @@ loc_5ADCE: addq.w #4,($FFFFEEC0).w
loc_5AE0A:
- tst.b ($FFFFFF60).w
+ tst.b (Kos_modules_left).w
bne.w loc_5AEE4
movem.l d7-a0/a2-a3,-(sp)
jsr (Load_Level).l
@@ -124967,7 +125001,7 @@ loc_5AE0A: moveq #3,d0
jsr (LoadPalette).l
lea (Pal_Ending1).l,a1
- lea ($FFFFFCA0).w,a5
+ lea (Target_palette_line_2).w,a5
moveq #$17,d0
loc_5AE36:
@@ -124976,20 +125010,20 @@ loc_5AE36: jsr sub_5B11C(pc)
movem.l (sp)+,d7-a0/a2-a3
move.l #$2000000,d0
- move.l d0,($FFFFEE78).w
- move.l d0,($FFFFEE80).w
- move.l d0,($FFFFEE7C).w
- move.l d0,($FFFFEE84).w
+ move.l d0,(Camera_X_pos).w
+ move.l d0,(Camera_X_pos_copy).w
+ move.l d0,(Camera_Y_pos).w
+ move.l d0,(Camera_Y_pos_copy).w
jsr (Reset_TileOffsetPositionActual).l
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC0).w
loc_5AE76:
- move.w ($FFFFEE80).w,d1
- move.w ($FFFFEE84).w,d2
+ move.w (Camera_X_pos_copy).w,d1
+ move.w (Camera_Y_pos_copy).w,d2
jsr (Draw_PlaneVertBottomUp).l
bpl.s loc_5AEE4
move.w #$14,($FFFFEEC2).w
@@ -124998,7 +125032,7 @@ loc_5AE76: loc_5AE90:
cmpi.w #4,($FFFFEEC2).w
bhi.s loc_5AEE4
- move.w #$3F,($FFFFF626).w
+ move.w #$3F,(Palette_fade_info).w
move.w #$15,($FFFFEEDA).w
addq.w #4,($FFFFEEC0).w
@@ -125008,12 +125042,12 @@ loc_5AEA8: movea.l (sp)+,a0
subq.w #1,($FFFFEEDA).w
bpl.s loc_5AEE4
- clr.w ($FFFFEE50).w
+ clr.w (Palette_fade_timer).w
clr.b ($FFFFF650).w
clr.w ($FFFFF634).w
clr.w ($FFFFF632).w
- clr.l ($FFFFEE7C).w
- clr.l ($FFFFEE84).w
+ clr.l (Camera_Y_pos).w
+ clr.l (Camera_Y_pos_copy).w
addq.w #4,($FFFFEEC0).w
loc_5AED4:
@@ -125035,10 +125069,10 @@ sub_5AEEA: move.w ($FFFFEE98).w,d0
sub.w ($FFFFEED2).w,d0
addi.w #$140,d0
- move.w d0,($FFFFEE80).w
+ move.w d0,(Camera_X_pos_copy).w
move.w ($FFFFEE9C).w,d0
sub.w ($FFFFEED4).w,d0
- move.w d0,($FFFFEE84).w
+ move.w d0,(Camera_Y_pos_copy).w
rts
; End of function sub_5AEEA
@@ -125085,7 +125119,7 @@ loc_5AF4E: loc_5AF5A:
clr.w ($FFFFEEC6).w
lea (Pal_Ending1).l,a1
- lea ($FFFFFC20).w,a5
+ lea (Normal_palette_line_2).w,a5
moveq #$17,d0
loc_5AF6A:
@@ -125094,7 +125128,7 @@ loc_5AF6A: jsr sub_5B116(pc)
move.w #$220,d0
move.w d0,($FFFFEE9C).w
- move.w d0,($FFFFEE96).w
+ move.w d0,(Camera_Y_pos_BG_rounded).w
addq.w #4,($FFFFEEC2).w
loc_5AF84:
@@ -125102,8 +125136,8 @@ loc_5AF84: loc_5AF88:
- lea ($FFFFEE90).w,a6
- lea ($FFFFEE96).w,a5
+ lea (Camera_Y_pos_BG_copy).w,a6
+ lea (Camera_Y_pos_BG_rounded).w,a5
move.w #$200,d1
moveq #$20,d6
jsr (Draw_TileRow).l
@@ -125130,7 +125164,7 @@ loc_5AFC4: clr.l ($FFFFA800).w
move.w d2,($FFFFA806).w
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -125143,7 +125177,7 @@ loc_5AFF0: loc_5AFF6:
lea (AIZ1_DrawArray).l,a4
lea ($FFFFA7FC).w,a5
- move.w ($FFFFEE90).w,d1
+ move.w (Camera_Y_pos_BG_copy).w,d1
jsr (Draw_PlaneVertBottomUpComplex).l
bpl.s loc_5B020
addq.w #4,($FFFFEEC2).w
@@ -125153,7 +125187,7 @@ loc_5AFF6: loc_5B012:
jsr (AIZ1_Deform).l
move.w ($FFFFEEDC).w,d0
- sub.w d0,($FFFFEE90).w
+ sub.w d0,(Camera_Y_pos_BG_copy).w
loc_5B020:
@@ -125175,7 +125209,7 @@ loc_5B03A: jsr sub_5B0A8(pc)
jsr (Reset_TileOffsetPositionEff).l
addi.w #$E0,d0
- and.w ($FFFFEEAC).w,d0
+ and.w (Camera_Y_pos_mask).w,d0
move.w d0,($FFFFEEC8).w
move.w #$F,($FFFFEECA).w
addq.w #4,($FFFFEEC2).w
@@ -125187,7 +125221,7 @@ loc_5B072: loc_5B076:
move.w #$200,d1
- move.w ($FFFFEE90).w,d2
+ move.w (Camera_Y_pos_BG_copy).w,d2
jsr (Draw_PlaneVertBottomUp).l
bpl.w loc_5AF88
move.w #4,($FFFFEEC2).w
@@ -125204,7 +125238,7 @@ sub_5B092: move.w #$120,d0
loc_5B0A0:
- move.w d0,($FFFFEE90).w
+ move.w d0,(Camera_Y_pos_BG_copy).w
jmp loc_58D44(pc)
; End of function sub_5B092
@@ -125214,7 +125248,7 @@ loc_5B0A0: sub_5B0A8:
- move.w ($FFFFEE9C).w,($FFFFEE90).w
+ move.w ($FFFFEE9C).w,(Camera_Y_pos_BG_copy).w
move.w ($FFFFEE98).w,d0
swap d0
clr.w d0
@@ -125257,7 +125291,7 @@ loc_5B0CC: sub_5B116:
- lea ($FFFFFC20).w,a6
+ lea (Normal_palette_line_2).w,a6
bra.s loc_5B120
; End of function sub_5B116
@@ -125267,10 +125301,10 @@ sub_5B116: sub_5B11C:
- lea ($FFFFFCA0).w,a6
+ lea (Target_palette_line_2).w,a6
loc_5B120:
- lea ($FFFFFCA0).w,a5
+ lea (Target_palette_line_2).w,a5
lea Pal_5B16E(pc),a1
moveq #7,d0
@@ -125335,10 +125369,10 @@ off_5B19A: dc.w loc_5B1A2-off_5B19A loc_5B1A2:
addq.w #2,($FFFFFA86).w
clr.b ($FFFFFACC).w
- clr.l ($FFFFEE7C).w
- clr.l ($FFFFF616).w
+ clr.l (Camera_Y_pos).w
+ clr.l (V_scroll_value).w
clr.w ($FFFFFAAE).w
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_5B1D2
jsr (Create_New_Sprite).l
bne.s loc_5B1D2
@@ -125369,10 +125403,10 @@ locret_5B202: ; ---------------------------------------------------------------------------
loc_5B204:
- move.l ($FFFFEE7C).w,d0
+ move.l (Camera_Y_pos).w,d0
move.l d0,d1
add.l ($FFFFFAC8).w,d0
- move.l d0,($FFFFEE7C).w
+ move.l d0,(Camera_Y_pos).w
swap d0
swap d1
eor.w d0,d1
@@ -125384,7 +125418,7 @@ loc_5B204: andi.w #$F00,d1
bsr.w sub_5B2D6
moveq #0,d2
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
beq.s loc_5B238
moveq #8,d2
@@ -125432,10 +125466,10 @@ loc_5B294: loc_5B29E:
addq.w #2,($FFFFFA86).w
- clr.l ($FFFFFE22).w
+ clr.l (Timer).w
st ($FFFFEEC4).w
st ($FFFFFACC).w
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_5B2B8
rts
; ---------------------------------------------------------------------------
@@ -125464,7 +125498,7 @@ locret_5B2D4: sub_5B2D6:
move #$2700,sr
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
move.w d1,d2
addi.w #-$4000,d2
swap d2
@@ -125479,7 +125513,7 @@ sub_5B2D6: moveq #1,d5
loc_5B300:
- move.l d2,4(a6)
+ move.l d2,VDP_control_port-VDP_data_port(a6)
moveq #$27,d6
loc_5B306:
@@ -125501,7 +125535,7 @@ sub_5B318: bsr.w sub_5B36C
move #$2700,sr
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
addi.w #-$4000,d2
swap d2
clr.w d2
@@ -125521,7 +125555,7 @@ loc_5B350: move.w (a1)+,(a6)
dbf d0,loc_5B350
lea ($FFFF7080).l,a1
- move.l d3,4(a6)
+ move.l d3,VDP_control_port-VDP_data_port(a6)
loc_5B360:
move.w (a1)+,(a6)
@@ -125649,7 +125683,7 @@ sub_5B42A: lea (ArtKosM_ANDKnuckles).l,a1
move.w #$7DE0,d2
jsr (Queue_Kos_Module).l
- move.w ($FFFFFF08).w,d0
+ move.w (Player_mode).w,d0
moveq #0,d1
andi.w #3,d0
subq.w #2,d0
@@ -125661,7 +125695,7 @@ loc_5B44E: addi.w #$18,d1
loc_5B452:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_5B45C
addi.w #$C,d1
@@ -125749,17 +125783,17 @@ PLC_5B50C: dc.w 0 sub_5B514:
moveq #0,d1
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_5B520
addi.w #$24,d1
loc_5B520:
- btst #6,($FFFFFFD8).w
+ btst #6,(Graphics_flags).w
beq.s loc_5B52C
addi.w #$12,d1
loc_5B52C:
- move.w ($FFFFFF08).w,d0
+ move.w (Player_mode).w,d0
subq.w #2,d0
bmi.s loc_5B53E
beq.s loc_5B53A
@@ -126023,6 +126057,7 @@ byte_5B89A: dc.b $A3 aCharacterDesigner:dc.b "CHARACTER DESIGNER",0,0
byte_5B8B0: dc.b $A5
dc.b 6
+
aTakashiThomasYuda:dc.b "TAKASHI THOMAS YUDA",0
byte_5B8C6: dc.b $B5
dc.b $17
@@ -126583,14 +126618,14 @@ byte_5C2DE: dc.b $FF ContinueScreen:
jsr (Pal_FadeToBlack).l
move #$2700,sr
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
andi.b #-$41,d0
- move.w d0,($C00004).l
- lea ($C00004).l,a6
+ move.w d0,(VDP_control_port).l
+ lea (VDP_control_port).l,a6
move.w #-$7FFC,(a6)
move.w #-$7900,(a6)
- clr.w ($FFFFFF0E).w
- lea ($FFFFFF10).w,a1
+ clr.w (Kos_decomp_queue_count).w
+ lea (Kos_decomp_stored_registers).w,a1
moveq #0,d0
move.w #$1A,d1
@@ -126599,22 +126634,22 @@ loc_5C314: dbf d1,loc_5C314
jsr (Clear_Nem_Queue).l
jsr (Clear_DisplayData).l
- move.l #$40200000,($C00004).l
+ move.l #$40200000,(VDP_control_port).l
lea (ArtNem_ContinueDigits).l,a0
jsr (Nem_Decomp).l
- move.l #$68E00001,($C00004).l
+ move.l #$68E00001,(VDP_control_port).l
lea (ArtNem_BlueSphereText).l,a0
jsr (Nem_Decomp).l
- move.l #$51800000,($C00004).l
+ move.l #$51800000,(VDP_control_port).l
lea (ArtNem_ContinueSprites).l,a0
jsr (Nem_Decomp).l
- move.l #$5B200000,($C00004).l
+ move.l #$5B200000,(VDP_control_port).l
lea (ArtNem_ContinueIcons).l,a0
jsr (Nem_Decomp).l
- clr.b ($FFFFF711).w
+ clr.b (Level_started_flag).w
clr.b ($FFFFFAA9).w
clr.b ($FFFFFA88).w
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #0,d0
move.w #$7FF,d1
@@ -126625,9 +126660,9 @@ loc_5C394: move.l d0,($FFFFFE66).w
move.l d0,($FFFFFE6A).w
jsr (Init_SpriteTable).l
- move.w #$293,($FFFFF614).w
+ move.w #$293,(Demo_timer).w
lea (Pal_ContinueScreen).l,a1
- lea ($FFFFFC80).w,a2
+ lea (Target_palette).w,a2
moveq #$1F,d6
loc_5C3BC:
@@ -126637,39 +126672,39 @@ loc_5C3BC: move.w #$292,d2
move.w #-$7CB9,d6
jsr (sub_5B318).l
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_5C3FE
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
beq.s loc_5C3EE
- move.l #Obj_Continue_SonicAlone_5C660,($FFFFB000).w
+ move.l #Obj_Continue_SonicAlone_5C660,(Player_1).w
bra.w loc_5C3FE
; ---------------------------------------------------------------------------
loc_5C3EE:
- move.l #Obj_Continue_SonicWTails_5C52A,($FFFFB000).w
- move.l #Obj_Continue_TailsWSonic,($FFFFB04A).w
+ move.l #Obj_Continue_SonicWTails_5C52A,(Player_1).w
+ move.l #Obj_Continue_TailsWSonic,(Player_2).w
loc_5C3FE:
- move.l #loc_5C838,($FFFFB094).w
- lea ($FFFFB0DE).w,a1
+ move.l #loc_5C838,(Reserved_object_3).w
+ lea (Dynamic_object_RAM).w,a1
move.l #loc_5C4D6,(a1)
move.w a1,($FFFFFAA4).w
move.l #loc_5C9DC,($FFFFB128).w
bsr.w sub_5CB1C
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- move.b #$16,($FFFFF62A).w
+ move.b #$16,(V_int_routine).w
jsr (Wait_VSync).l
- move.w ($FFFFF60E).w,d0
+ move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
- move.w d0,($C00004).l
+ move.w d0,(VDP_control_port).l
moveq #$28,d0
jsr (Play_Sound).l
jsr (Pal_FadeFromBlack).l
loc_5C454:
- move.b #$16,($FFFFF62A).w
+ move.b #$16,(V_int_routine).w
jsr (Process_Kos_Queue).l
jsr (Wait_VSync).l
jsr (Process_Sprites).l
@@ -126679,25 +126714,25 @@ loc_5C454: beq.s loc_5C454
subq.b #1,d0
beq.s loc_5C48A
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
loc_5C48A:
- move.b #$C,($FFFFF600).w
- move.b #3,($FFFFFE12).w
- move.b #3,($FFFFFEC6).w
- moveq #0,d0
- move.w d0,($FFFFFE20).w
- move.l d0,($FFFFFE22).w
- move.l d0,($FFFFFE26).w
- move.w d0,($FFFFFED0).w
- move.l d0,($FFFFFED2).w
- move.l d0,($FFFFFED6).w
- move.l #$1388,($FFFFFFC0).w
- move.l #$1388,($FFFFFFC4).w
- subq.b #1,($FFFFFE18).w
- st ($FFFFEF56).w
+ move.b #$C,(Game_mode).w
+ move.b #3,(Life_count).w
+ move.b #3,(Life_count_P2).w
+ moveq #0,d0
+ move.w d0,(Ring_count).w
+ move.l d0,(Timer).w
+ move.l d0,(Score).w
+ move.w d0,(Ring_count_P2).w
+ move.l d0,(Timer_P2).w
+ move.l d0,(Score_P2).w
+ move.l #$1388,(Next_extra_life_score).w
+ move.l #$1388,(Next_extra_life_score_P2).w
+ subq.b #1,(Continue_count).w
+ st (SRAM_mask_interrupts_flag).w
jsr (SaveGame_LivesContinues).l
locret_5C4D4:
@@ -126711,9 +126746,9 @@ loc_5C4D6: move.b #$A,($FFFFFA84).w
loc_5C4E6:
- btst #7,($FFFFF605).w
+ btst #7,(Ctrl_1_pressed).w
bne.s loc_5C51C
- btst #7,($FFFFF607).w
+ btst #7,(Ctrl_2_pressed).w
bne.s loc_5C51C
subq.w #1,($FFFFFA82).w
bpl.s locret_5C512
@@ -126947,10 +126982,10 @@ loc_5C76A: loc_5C770:
move.l #loc_5C790,(a0)
addq.w #4,$14(a0)
- lea ($FFFFCC0A).w,a1
+ lea (Tails_tails).w,a1
move.l #Obj_Tails_Tail,(a1)
move.w a0,$30(a1)
- move.l #loc_5C82C,($FFFFCC54).w
+ move.l #loc_5C82C,(Dust).w
loc_5C790:
moveq #0,d0
@@ -127014,7 +127049,7 @@ loc_5C82C: ; ---------------------------------------------------------------------------
loc_5C838:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_5C854
lea loc_5C8C8(pc),a1
move.l a1,(a0)
@@ -127114,7 +127149,7 @@ loc_5C94C: loc_5C95C:
move.b #6,5(a0)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s locret_5C970
move.b #1,($FFFFFAA9).w
@@ -127165,7 +127200,7 @@ loc_5CA14: loc_5CA1A:
move.l #Map_ContinueIcons,$C(a0)
move.w #$D9,$A(a0)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_5CA36
move.w #$60D9,$A(a0)
@@ -127224,7 +127259,7 @@ sub_5CAAE: addq.w #1,d1
move.w d1,(a1)+
move #$2700,sr
- lea ($C00000).l,a6
+ lea (VDP_data_port).l,a6
move.w #-$38DA,d2
swap d2
clr.w d2
@@ -127236,10 +127271,10 @@ sub_5CAAE: move.l d2,d3
addi.l #$800000,d3
lea ($FFFF2000).l,a1
- move.l d2,4(a6)
+ move.l d2,VDP_control_port-VDP_data_port(a6)
move.w (a1)+,(a6)
move.w (a1)+,(a6)
- move.l d3,4(a6)
+ move.l d3,VDP_control_port-VDP_data_port(a6)
move.w (a1)+,(a6)
move.w (a1)+,(a6)
move #$2300,sr
@@ -127252,7 +127287,7 @@ sub_5CAAE: sub_5CB1C:
moveq #0,d0
- move.b ($FFFFFE18).w,d0
+ move.b (Continue_count).w,d0
beq.s loc_5CB2A
cmpi.b #$A,d0
bls.s loc_5CB2C
@@ -127300,7 +127335,7 @@ word_5CB58: dc.w $120 sub_5CB6A:
- move.w ($FFFFFF08).w,d4
+ move.w (Player_mode).w,d4
cmpi.b #2,d4
bne.s loc_5CB7E
lea ChildObjDat_5CB88(pc),a2
@@ -127373,12 +127408,12 @@ Obj_5D86A: move.b 5(a0),d0
move.w off_5D89C(pc,d0.w),d1
jsr off_5D89C(pc,d1.w)
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_5D886
move.b #$7F,($FFFFF65E).w
loc_5D886:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
jmp (Draw_Sprite).l
@@ -127408,23 +127443,23 @@ loc_5D8BC: bclr #2,4(a0)
move.b #2,5(a0)
bsr.w sub_5FE82
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
clr.b ($FFFFFAB8).w
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #2,4(a1)
bset #7,$A(a1)
move.b #-$7F,$2E(a1)
move.b #$F,$20(a1)
clr.b $2A(a1)
move.w #$800,$1C(a1)
- clr.l ($FFFFB04A).w
- cmpi.w #2,($FFFFFF08).w
+ clr.l (Player_2).w
+ cmpi.w #2,(Player_mode).w
move.w #$7FFF,($FFFFF670).w
- move.b #1,($FFFFFE1E).w
+ move.b #1,(Update_HUD_timer).w
tst.b ($FFFFFA88).w
bmi.w loc_5D96A
bne.s loc_5D944
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcc.w loc_5D96A
bsr.w sub_5FC8E
jsr (Create_New_Sprite).l
@@ -127437,7 +127472,7 @@ loc_5D940: loc_5D944:
clr.b ($FFFFB020).w
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_5D958
bsr.w sub_5FCB4
bra.w loc_5D96A
@@ -127467,7 +127502,7 @@ loc_5D96A: move.w #$11E,$10(a1)
move.w #$CF,$14(a1)
lea (Pal_EndingObjects).l,a1
- lea ($FFFFFCC0).w,a2
+ lea (Target_palette_line_3).w,a2
moveq #7,d6
loc_5D9B8:
@@ -127551,7 +127586,7 @@ loc_5DA96: add.w d0,d1
move.w d1,$10(a0)
moveq #$2B,d0
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_5DACC
subq.b #4,d0
bclr #2,($FFFFCC0E).w
@@ -127563,16 +127598,16 @@ loc_5DACC: add.w d0,d1
move.w d1,$14(a0)
move.w d1,$3A(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b ($FFFFFA88).w
bmi.s loc_5DB1C
beq.s loc_5DB1C
move.b #2,($FFFFF65F).w
move.w #$1E,($FFFFF65C).w
- move.b #0,($FFFFFE19).w
- move.b #0,($FFFFF667).w
+ move.b #0,(Super_Sonic_Knux_flag).w
+ move.b #0,(Super_Tails_flag).w
move.l #Map_Sonic,$C(a1)
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_5DB1C
move.l #Map_Tails,$C(a1)
@@ -127689,7 +127724,7 @@ loc_5DC2C: move.w #$40,$10(a0)
move.w #$110,$14(a0)
move.w #$77,$2E(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
clr.b $22(a1)
move.w #$100,$18(a0)
bsr.w sub_6001E
@@ -127734,7 +127769,7 @@ loc_5DCC4: move.w #-$80,$18(a0)
clr.w $1A(a0)
move.b #5,$22(a0)
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_5DD0E
move.b #6,$22(a0)
@@ -127772,7 +127807,7 @@ loc_5DD6A: bpl.s locret_5DDD0
move.b #$1E,5(a0)
st ($FFFFEEC4).w
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s locret_5DDD0
tst.b ($FFFFFA88).w
bmi.s locret_5DDD0
@@ -127839,7 +127874,7 @@ locret_5DE34: loc_5DE36:
tst.b ($FFFFFA88).w
bmi.s loc_5DE46
- cmpi.w #$78,($FFFFEE84).w
+ cmpi.w #$78,(Camera_Y_pos_copy).w
bcs.w locret_5FF1A
loc_5DE46:
@@ -128096,7 +128131,7 @@ loc_5E0F8: move.w #-$200,$18(a0)
clr.w $1A(a0)
lea (Pal_ContinueScreen+$60).l,a1
- lea ($FFFFFC00).w,a2
+ lea (Normal_palette).w,a2
moveq #7,d6
loc_5E13A:
@@ -128138,7 +128173,7 @@ Obj_Ending: move.w off_5E1AE(pc,d0.w),d1
jsr off_5E1AE(pc,d1.w)
subq.w #2,($FFFFEE98).w
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
rts
@@ -128168,15 +128203,15 @@ loc_5E1C2: jsr (Play_Sound).l
loc_5E1F0:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bset #0,4(a1)
bset #0,$2A(a1)
bclr #7,$A(a1)
move.b #-$7D,$2E(a1)
move.b #5,$20(a1)
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_5E228
- lea ($FFFFCC0A).w,a2
+ lea (Tails_tails).w,a2
move.l #Obj_Tails_Tail,(a2)
move.w a1,$30(a2)
@@ -128215,7 +128250,7 @@ loc_5E288: beq.w locret_5FF1A
move.b #4,5(a0)
move.w #$1F,$2E(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #$58,$22(a1)
clr.b $20(a1)
jmp (Player_Load_PLC).l
@@ -128228,14 +128263,14 @@ loc_5E2C2: bset #2,$38(a0)
move.w #$300,$18(a0)
move.w #-$600,$1A(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #0,4(a1)
bclr #0,$2A(a1)
move.b #$81,$2E(a1)
move.w #$200,$20(a1)
- clr.l ($FFFFCC0A).w
+ clr.l (Tails_tails).w
moveq #0,d0
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
beq.s loc_5E316
moveq #4,d0
tst.b ($FFFFFA88).w
@@ -128265,14 +128300,14 @@ loc_5E334: move.w #$100,8(a0)
move.b #-$80,7(a0)
move.b #-$80,6(a0)
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_5E37A
move.b #3,$22(a0)
loc_5E37A:
move.w ($FFFFFA92).w,d0
movea.l off_5E3B4(pc,d0.w),a1
- lea ($FFFFFC40).w,a2
+ lea (Normal_palette_line_3).w,a2
moveq #7,d0
loc_5E388:
@@ -128281,12 +128316,12 @@ loc_5E388: tst.b ($FFFFFA88).w
bmi.s loc_5E3C0
bne.s loc_5E39E
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcc.s loc_5E3C0
loc_5E39E:
move.b #$A,5(a0)
- move.b #1,($FFFFFE1E).w
+ move.b #1,(Update_HUD_timer).w
clr.w ($FFFFF65C).w
jmp (loc_8648C).l
; ---------------------------------------------------------------------------
@@ -128299,12 +128334,12 @@ loc_5E3C0: move.b #8,5(a0)
move.w #5,$2E(a0)
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_5E3DA
bset #0,4(a0)
loc_5E3DA:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #$83,$2E(a1)
clr.b $22(a1)
jmp (Draw_Sprite).l
@@ -128325,10 +128360,10 @@ loc_5E40C: ; ---------------------------------------------------------------------------
loc_5E412:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b $2E(a1)
bne.s locret_5E440
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
beq.s loc_5E442
move.b #$C,5(a0)
move.b #$81,$2E(a1)
@@ -128367,7 +128402,7 @@ loc_5E474: move.b #$10,5(a0)
move.b #2,$22(a0)
bclr #0,4(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #$83,$2E(a1)
clr.b $22(a1)
jsr (Create_New_Sprite).l
@@ -128398,7 +128433,7 @@ loc_5E4DC: ; ---------------------------------------------------------------------------
loc_5E4E2:
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_5E4F0
move.b #$7F,($FFFFF65E).w
@@ -128554,7 +128589,7 @@ loc_5E6C0: loc_5E6E6:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
jmp (Draw_Sprite).l
@@ -128575,18 +128610,18 @@ loc_5E70E: lea ObjDat3_600C2(pc),a1
jsr (SetUp_ObjAttributes).l
move.w #$12B,$2E(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #-$7D,$2E(a1)
clr.b $22(a1)
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
clr.b ($FFFFFAB8).w
- clr.b ($FFFFF711).w
+ clr.b (Level_started_flag).w
clr.w ($FFFFEECC).w
- clr.l ($FFFFFE22).w
- move.w ($FFFFEE78).w,d0
+ clr.l (Timer).w
+ move.w (Camera_X_pos).w,d0
addi.w #$C0,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$110,d0
move.w d0,$14(a0)
lea ChildObjDat_601BA(pc),a2
@@ -128604,16 +128639,16 @@ loc_5E70E: jsr (Queue_Kos_Module).l
tst.b ($FFFFFA88).w
beq.s loc_5E7C0
- move.b #1,($FFFFFE1E).w
+ move.b #1,(Update_HUD_timer).w
move.b #-1,($FFFFF65F).w
move.b #$F,($FFFFF65E).w
- move.b #1,($FFFFFE19).w
+ move.b #1,(Super_Sonic_Knux_flag).w
move.w #$7FFF,($FFFFF670).w
loc_5E7C0:
lea (Pal_SonicTails).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_5E7CC:
@@ -128684,7 +128719,7 @@ loc_5E890: jsr (Swing_UpAndDown).l
jsr (MoveSprite2).l
jsr (Animate_RawMultiDelay).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$200,d0
cmp.w $10(a0),d0
bhi.w locret_5FF1A
@@ -128694,7 +128729,7 @@ loc_5E890: move.b #1,$22(a0)
bset #0,4(a0)
bset #7,$2A(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$50,d0
move.w d0,$14(a0)
move.w #-$200,$18(a0)
@@ -128712,7 +128747,7 @@ loc_5E890: loc_5E916:
jsr (Swing_UpAndDown).l
jsr (MoveSprite2).l
- move.w ($FFFFEE78).w,d3
+ move.w (Camera_X_pos).w,d3
addi.w #$60,d3
cmp.w $10(a0),d3
bcs.s loc_5E936
@@ -128740,7 +128775,7 @@ loc_5E936: loc_5E98A:
jsr (MoveSprite2).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$A0,d0
cmp.w $10(a0),d0
bcc.s locret_5E9C0
@@ -128779,8 +128814,8 @@ loc_5E9E2: move.w #$167,$2E(a0)
move.b #2,($FFFFF65F).w
move.w #$1E,($FFFFF65C).w
- move.b #0,($FFFFFE19).w
- move.b #0,($FFFFF667).w
+ move.b #0,(Super_Sonic_Knux_flag).w
+ move.b #0,(Super_Tails_flag).w
bset #1,$38(a0)
locret_5EA18:
@@ -128845,7 +128880,7 @@ loc_5EA8C: loc_5EABA:
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_5EAC6
subq.b #4,$43(a0)
@@ -128907,7 +128942,7 @@ Obj_5EB32: bset #2,4(a0)
loc_5EB5C:
- move.w ($FFFFFF08).w,d0
+ move.w (Player_mode).w,d0
add.w d0,d0
move.w off_5EB6A(pc,d0.w),d0
jmp off_5EB6A(pc,d0.w)
@@ -129048,7 +129083,7 @@ loc_5ECD6: loc_5ECE4:
move.l #loc_5ED18,(a0)
- move.w ($FFFFFF08).w,d0
+ move.w (Player_mode).w,d0
cmpi.w #3,d0
bne.s loc_5ECFC
tst.b ($FFFFFA88).w
@@ -129147,7 +129182,7 @@ off_5EDF0: dc.w loc_5EDFE-off_5EDF0 loc_5EDFE:
move.l #loc_5EEC4,(a0)
bset #2,4(a0)
- move.w ($FFFFEE84).w,$3A(a0)
+ move.w (Camera_Y_pos_copy).w,$3A(a0)
bclr #7,$A(a0)
rts
; ---------------------------------------------------------------------------
@@ -129157,7 +129192,7 @@ loc_5EE18: move.b #4,$22(a0)
move.b $2D(a0),d0
move.b d0,$24(a0)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s locret_5EE3A
bset #2,4(a0)
@@ -129212,7 +129247,7 @@ off_5EEB8: dc.l byte_6028F ; ---------------------------------------------------------------------------
loc_5EEC4:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
sub.w $3A(a0),d0
cmpi.w #$10,d0
blt.s loc_5EF04
@@ -129220,11 +129255,11 @@ loc_5EEC4: bclr #2,4(a0)
move.w #$10,$1A(a0)
move.w $10(a0),d0
- sub.w ($FFFFEE80).w,d0
+ sub.w (Camera_X_pos_copy).w,d0
addi.w #$80,d0
move.w d0,$10(a0)
move.w $14(a0),d0
- sub.w ($FFFFEE84).w,d0
+ sub.w (Camera_Y_pos_copy).w,d0
addi.w #$80,d0
move.w d0,$14(a0)
@@ -129246,7 +129281,7 @@ loc_5EF0E: loc_5EF28:
lea byte_6027C(pc),a1
jsr (Animate_RawNoSST).l
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_5EF3E
bsr.w sub_5FE48
@@ -129273,7 +129308,7 @@ Obj_5EF68: move.l #loc_5F144,(a0)
move.w #$1FF,$2E(a0)
clr.b ($FFFFF65F).w
- move.w ($FFFFFF08).w,d0
+ move.w (Player_mode).w,d0
moveq #0,d1
andi.w #3,d0
subq.w #2,d0
@@ -129285,7 +129320,7 @@ loc_5EF8C: addi.w #$30,d1
loc_5EF90:
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_5EF9A
addi.w #$18,d1
@@ -129411,7 +129446,7 @@ locret_5F0D8: ; ---------------------------------------------------------------------------
loc_5F0DA:
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
@@ -129509,7 +129544,7 @@ loc_5F1AC: lea word_5F1EA(pc),a1
bsr.w sub_5FF1C
lea (Pal_EndingSKLogo).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_5F1D0:
@@ -129548,7 +129583,7 @@ loc_5F20A: lea word_5F260(pc),a1
bsr.w sub_5FF1C
lea (Pal_EndingS3KLogo).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_5F22E:
@@ -129588,7 +129623,7 @@ loc_5F294: lea word_5F2E2(pc),a1
bsr.w sub_5FF1C
lea (Pal_EndingS3KLogo).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_5F2A8:
@@ -129621,9 +129656,9 @@ loc_5F2EA: loc_5F2F8:
- btst #7,($FFFFF604).w
+ btst #7,(Ctrl_1).w
bne.s loc_5F314
- btst #7,($FFFFF606).w
+ btst #7,(Ctrl_2).w
bne.s loc_5F314
subq.w #1,$2E(a0)
bmi.s loc_5F314
@@ -129632,7 +129667,7 @@ loc_5F2F8: loc_5F314:
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
@@ -129644,7 +129679,7 @@ loc_5F31C: lea byte_5F36E(pc),a1
bsr.w sub_5FEFE
lea (Pal_SonicTails).l,a1
- lea ($FFFFFC80).w,a2
+ lea (Target_palette).w,a2
moveq #7,d6
loc_5F346:
@@ -129734,7 +129769,7 @@ loc_5F410: lea byte_5F462(pc),a1
bsr.w sub_5FEFE
lea (Pal_EndingEyecatchKnuckles).l,a1
- lea ($FFFFFCC0).w,a2
+ lea (Target_palette_line_3).w,a2
moveq #7,d6
loc_5F43A:
@@ -129779,7 +129814,7 @@ loc_5F480: move.w #$108,$14(a0)
move.l #word_602CA,$30(a0)
lea (Pal_KnuxEndPose).l,a1
- lea ($FFFFFC00).w,a2
+ lea (Normal_palette).w,a2
moveq #7,d6
loc_5F4C6:
@@ -129806,7 +129841,7 @@ loc_5F4E4: loc_5F4FA:
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bpl.w loc_5EC36
lea ObjDat3_60130(pc),a1
jsr (SetUp_ObjAttributes).l
@@ -129854,7 +129889,7 @@ loc_5F566: move.w #$F0,$14(a0)
move.w #$4AF,$2E(a0)
lea (Pal_EndingEyecatchEggman).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_5F59A:
@@ -129894,7 +129929,7 @@ loc_5F5DE: move.w #$108,$14(a0)
move.w #$EF,$2E(a0)
lea (Pal_EndingEyecatchEggRobo).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_5F60C:
@@ -130025,7 +130060,7 @@ loc_5F74E: move.w #$F8,$14(a0)
move.w #$EF,$2E(a0)
lea (Pal_SSZGHZMisc).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_5F78E:
@@ -130057,7 +130092,7 @@ loc_5F7CC: loc_5F7D8:
move.b #4,5(a0)
lea (Pal_SSZGHZMisc).l,a1
- lea ($FFFFFC20).w,a2
+ lea (Normal_palette_line_2).w,a2
moveq #7,d6
loc_5F7EA:
@@ -130119,16 +130154,16 @@ loc_5F89A: ; ---------------------------------------------------------------------------
loc_5F8A8:
- btst #7,($FFFFF604).w
+ btst #7,(Ctrl_1).w
bne.s loc_5F8BE
- btst #7,($FFFFF606).w
+ btst #7,(Ctrl_2).w
bne.s loc_5F8BE
subq.w #1,$2E(a0)
bpl.s locret_5F8C4
loc_5F8BE:
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
locret_5F8C4:
rts
@@ -130146,7 +130181,7 @@ loc_5F8C6: move.w (a1)+,$10(a0)
move.w (a1)+,$14(a0)
lea (Pal_EndingMasterEmerald).l,a1
- lea ($FFFFFC80).w,a2
+ lea (Target_palette).w,a2
moveq #7,d6
loc_5F8FA:
@@ -130181,12 +130216,12 @@ loc_5F946: loc_5F94C:
move.l #loc_5F986,(a0)
- move.l ($FFFFFE0C).w,($FFFFF636).w
+ move.l (V_int_run_count).w,(RNG_seed).w
lea (Pal_FBZCloud).l,a1
- lea ($FFFFFC00).w,a2
- cmpi.w #3,($FFFFFF08).w
+ lea (Normal_palette).w,a2
+ cmpi.w #3,(Player_mode).w
beq.s loc_5F96E
- lea ($FFFFFC20).w,a2
+ lea (Normal_palette_line_2).w,a2
loc_5F96E:
moveq #3,d0
@@ -130302,7 +130337,7 @@ loc_5FA58: move.l #loc_5FA8C,(a0)
move.l #Map_FBZ2Preboss,$C(a0)
move.w #$3B6,$A(a0)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_5FA7A
move.w #$23B6,$A(a0)
@@ -130360,7 +130395,7 @@ loc_5FB14: ; ---------------------------------------------------------------------------
loc_5FB1A:
- tst.b ($FFFFFFD8).w
+ tst.b (Graphics_flags).w
bpl.w loc_5EC36
move.l #Map_ANDKnuckles,$C(a0)
move.w #$61C8,$A(a0)
@@ -130470,7 +130505,7 @@ loc_5FC78: sub_5FC8E:
clr.b ($FFFFB020).w
move.w #$24,($FFFFF65C).w
- move.b #1,($FFFFFE19).w
+ move.b #1,(Super_Sonic_Knux_flag).w
loc_5FC9E:
move.b #-1,($FFFFF65F).w
@@ -130487,7 +130522,7 @@ sub_5FCB4: move.b #-1,($FFFFF65F).w
move.w #0,($FFFFF65C).w
move.b #0,($FFFFF668).w
- move.b #1,($FFFFF667).w
+ move.b #1,(Super_Tails_flag).w
rts
; End of function sub_5FCB4
@@ -130497,7 +130532,7 @@ sub_5FCB4: sub_5FCCE:
- move.b #-1,($FFFFFE19).w
+ move.b #-1,(Super_Sonic_Knux_flag).w
move.w #0,($FFFFF65C).w
bra.s loc_5FC9E
; End of function sub_5FCCE
@@ -130573,8 +130608,8 @@ loc_5FD82: sub_5FD88:
- lea ($FFFFB000).w,a1
- move.w ($FFFFFF08).w,d0
+ lea (Player_1).w,a1
+ move.w (Player_mode).w,d0
andi.w #3,d0
move.b byte_5FDA0(pc,d0.w),$22(a1)
jmp (Player_Load_PLC).l
@@ -130616,12 +130651,12 @@ loc_5FDE0: subq.w #1,$2E(a0)
bpl.s locret_5FE0E
move.l #loc_5FE10,(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #$F,$20(a1)
move.b #2,($FFFFF65F).w
move.w #$1E,($FFFFF65C).w
- move.b #0,($FFFFFE19).w
- move.b #0,($FFFFF667).w
+ move.b #0,(Super_Sonic_Knux_flag).w
+ move.b #0,(Super_Tails_flag).w
locret_5FE0E:
rts
@@ -130687,10 +130722,10 @@ sub_5FE82: move.l d0,(a1)+
move.l d0,(a1)+
moveq #2,d0
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
beq.s loc_5FEA2
moveq #0,d0
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
beq.s loc_5FEA2
moveq #-2,d0
@@ -130746,7 +130781,7 @@ locret_5FEFC: sub_5FEFE:
- move.w ($FFFFFF08).w,d0
+ move.w (Player_mode).w,d0
andi.w #3,d0
add.w d0,d0
adda.w d0,a1
@@ -130774,7 +130809,7 @@ sub_5FF1C: move.w (a1)+,$10(a0)
move.w (a1)+,$14(a0)
bclr #2,4(a0)
- lea ($FFFFFC20).w,a1
+ lea (Normal_palette_line_2).w,a1
moveq #0,d0
moveq #7,d1
@@ -131401,10 +131436,10 @@ Obj_86: subi.w #$100,$14(a0)
move.w $14(a0),$3A(a0)
st ($FFFFF665).w
- move.l ($FFFFFE0C).w,($FFFFF636).w
- move.w ($FFFFFE32).w,($FFFFFE20).w
- move.b ($FFFFFE43).w,($FFFFFE1B).w
- move.b #1,($FFFFFE1D).w
+ move.l (V_int_run_count).w,(RNG_seed).w
+ move.w (Saved_ring_count).w,(Ring_count).w
+ move.b (Saved_extra_life_flags).w,(Extra_life_flags).w
+ move.b #1,(Update_HUD_ring_count).w
bset #7,($FFFFB00A).w
bset #7,($FFFFB054).w
lea ($FF2000).l,a1
@@ -131519,7 +131554,7 @@ loc_60DAC: move.w #8,d2
move.w #$10,d3
move.w $10(a0),d4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
jsr SolidObjectFull2_1P
@@ -131530,7 +131565,7 @@ loc_60DAC: loc_60DFC:
movem.l (sp)+,d1-d4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d6
jsr SolidObjectFull2_1P
btst #4,$2A(a0)
@@ -131625,7 +131660,7 @@ loc_60EFC: loc_60F0E:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$240,d0
cmp.w $14(a0),d0
bcs.s loc_60F28
@@ -131658,7 +131693,7 @@ loc_60F3E: beq.s loc_60F72
loc_60F64:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_60F94
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -131670,7 +131705,7 @@ loc_60F72: beq.s loc_60F8E
loc_60F80:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_60F94
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -131753,21 +131788,21 @@ loc_61050: swap d0
tst.w d0
beq.w locret_60EB8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jmp (Delete_Referenced_Sprite).l
; ---------------------------------------------------------------------------
loc_61076:
- move.w ($FFFFFE2C).w,($FFFFFE10).w
- move.w ($FFFFFF9A).w,($FFFFEE4E).w
- move.b ($FFFFFE2B).w,($FFFFFE2A).w
- move.b #0,($FFFFFE48).w
- move.b #1,($FFFFFE02).w
- move.w ($FFFFFE20).w,($FFFFFE32).w
- move.b ($FFFFFE1B).w,($FFFFFE43).w
+ move.w (Saved_zone_and_act).w,(Current_zone_and_act).w
+ move.w (Saved_apparent_zone_and_act).w,(Apparent_zone_and_act).w
+ move.b (Saved_last_star_post_hit).w,(Last_star_post_hit).w
+ move.b #0,(Special_bonus_entry_flag).w
+ move.b #1,(Restart_level_flag).w
+ move.w (Ring_count).w,(Saved_ring_count).w
+ move.b (Extra_life_flags).w,(Saved_extra_life_flags).w
move.b ($FFFFB02B).w,d0
andi.b #$71,d0
- move.b d0,($FFFFFE47).w
+ move.b d0,(Saved_status_secondary).w
rts
; ---------------------------------------------------------------------------
word_610AE: dc.w $FF00, $200, $FFF0, $40
@@ -131828,8 +131863,8 @@ off_6110E: dc.w loc_61120-off_6110E ; ---------------------------------------------------------------------------
loc_61120:
- addq.b #1,($FFFFFE12).w
- addq.b #1,($FFFFFE1C).w
+ addq.b #1,(Life_count).w
+ addq.b #1,(Update_HUD_life_count).w
moveq #$2A,d0
jmp (Play_Sound).l
; ---------------------------------------------------------------------------
@@ -131847,7 +131882,7 @@ locret_6114C: ; ---------------------------------------------------------------------------
loc_6114E:
- addi.w #$14,($FFFFFE32).w
+ addi.w #$14,(Saved_ring_count).w
moveq #$A,d0
jmp (AddRings).l
; ---------------------------------------------------------------------------
@@ -131881,7 +131916,7 @@ sub_61176: sub.w $10(a1),d1
sub.w $14(a1),d2
jsr (GetArcTan).l
- move.b ($FFFFFE04).w,d1
+ move.b (Level_frame_counter).w,d1
andi.w #3,d1
add.w d1,d0
jsr (GetSineCosine).l
@@ -131903,8 +131938,8 @@ sub_61176: ; ---------------------------------------------------------------------------
loc_611D6:
- lea ($FFFFB000).w,a1
- move.l #Obj_Fire_Shield,($FFFFCCE8).w
+ lea (Player_1).w,a1
+ move.l #Obj_Fire_Shield,(Shield).w
move.w a1,($FFFFCD2A).w
andi.b #-$72,$2B(a1)
bset #0,$2B(a1)
@@ -131915,8 +131950,8 @@ loc_611D6: ; ---------------------------------------------------------------------------
loc_61200:
- lea ($FFFFB000).w,a1
- move.l #Obj_Bubble_Shield,($FFFFCCE8).w
+ lea (Player_1).w,a1
+ move.l #Obj_Bubble_Shield,(Shield).w
move.w a1,($FFFFCD2A).w
andi.b #-$72,$2B(a1)
bset #0,$2B(a1)
@@ -131927,8 +131962,8 @@ loc_61200: ; ---------------------------------------------------------------------------
loc_6122A:
- lea ($FFFFB000).w,a1
- move.l #Obj_Lightning_Shield,($FFFFCCE8).w
+ lea (Player_1).w,a1
+ move.l #Obj_Lightning_Shield,(Shield).w
move.w a1,($FFFFCD2A).w
andi.b #-$72,$2B(a1)
bset #0,$2B(a1)
@@ -131943,7 +131978,7 @@ loc_6122A: sub_61254:
bset d0,$2B(a1)
- lea ($FFFFFE47).w,a2
+ lea (Saved_status_secondary).w,a2
andi.b #-$71,(a2)
bset d0,(a2)
rts
@@ -131952,7 +131987,7 @@ sub_61254: ; ---------------------------------------------------------------------------
loc_61264:
- bset #7,($FFFFFE47).w
+ bset #7,(Saved_status_secondary).w
rts
; =============== S U B R O U T I N E =======================================
@@ -132286,11 +132321,11 @@ SSEntryRing_Init: move.l #AniRaw_SSEntryRing,$30(a0)
tst.b $2C(a0)
bmi.s loc_616C6 ; If negative, then ALWAYS make this a super emerald ring
- tst.w ($FFFFFFAE).w ; Probably only used in MHZ for the first rings
+ tst.w (SK_alone_flag).w ; Probably only used in MHZ for the first rings
bne.s SSEntryRing_Main ; If only Sonic and Knuckles, skip ahead
bsr.w SSEntry_CheckLevel
beq.s SSEntryRing_Main ; If in an S3 level, skip ahead since it's a normal ring
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
bne.s SSEntryRing_Main ; Only make this a super emerald ring if you actually have 7 chaos emeralds
loc_616C6:
@@ -132307,7 +132342,7 @@ loc_616C6: SSEntryRing_Main:
jsr (Animate_Raw).l
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s locret_61708 ; If in debug mode, don't allow collision
cmpi.b #8,$22(a0)
bcs.s locret_61708 ; If ring hasn't finished forming, don't allow collision
@@ -132322,30 +132357,30 @@ locret_61708: ; ---------------------------------------------------------------------------
loc_6170A:
- lea ($FFFFB000).w,a1 ; If collision was made
+ lea (Player_1).w,a1 ; If collision was made
cmpi.b #6,5(a1)
bcc.s locret_61708 ; If player has died for whatever reason, don't do anything
moveq #-$4D,d0
jsr (Play_Sound_2).l ; Play the ring swish sound
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
bne.s loc_6173A ; If chaos emeralds aren't collected, branch
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_61794 ; If only Sonic and Knuckles and the emeralds are collected, go claim 50 rings
bsr.w SSEntry_CheckLevel
beq.s loc_61794 ; Otherwise, only do so if on an S3 level
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
beq.s loc_61794 ; Only collect rings in an SK level if the super emeralds are collected as well
loc_6173A:
move.b #4,5(a0)
move.b #-1,($FFFFF766).w ; Make the player disappear and lock input
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #0,$22(a1)
move.b #$1C,$20(a1)
move.b #$53,$2E(a1)
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
beq.s loc_61778
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.b #0,$22(a1)
move.b #$1C,$20(a1)
move.b #$53,$2E(a1) ; Lock both players, etc
@@ -132443,11 +132478,11 @@ SSEntryFlash_GoSS: tst.b $2C(a0)
bmi.s loc_618AC ; If negative, always go to HPZ
moveq #0,d0
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.s loc_61892 ; If SK alone, go directly to special stage
bsr.w SSEntry_CheckLevel
beq.s loc_61892 ; Otherwise, do so if S3 levels
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
bne.s loc_61892 ; or if chaos emeralds aren't collected
bra.w loc_618AC ; When conditions are met, go to HPZ
; ---------------------------------------------------------------------------
@@ -132455,20 +132490,20 @@ SSEntryFlash_GoSS: loc_61892:
- move.b d0,($FFFFFFBB).w ; Regular ring takes you directly to special stage
- move.b #1,($FFFFFE48).w
- move.b #$34,($FFFFF600).w
+ move.b d0,(SK_special_stage_flag).w ; Regular ring takes you directly to special stage
+ move.b #1,(Special_bonus_entry_flag).w
+ move.b #$34,(Game_mode).w
move.b #1,($FFFFFF97).w
bra.w loc_618D0
; ---------------------------------------------------------------------------
loc_618AC:
- move.b #2,($FFFFFE48).w ; Super emerald takes you to HPZ
- move.w #$1701,($FFFFFE10).w
- move.w #$1701,($FFFFEE4E).w
- move.b #0,($FFFFFE2A).w
- move.b #1,($FFFFFE02).w
+ move.b #2,(Special_bonus_entry_flag).w ; Super emerald takes you to HPZ
+ move.w #$1701,(Current_zone_and_act).w
+ move.w #$1701,(Apparent_zone_and_act).w
+ move.b #0,(Last_star_post_hit).w
+ move.b #1,(Restart_level_flag).w
move.b #1,($FFFFFF97).w
loc_618D0:
@@ -132483,9 +132518,9 @@ loc_618D0: SSEntry_CheckLevel:
- cmpi.b #7,($FFFFFE10).w
+ cmpi.b #7,(Current_zone).w
bcc.s loc_618F8
- cmpi.b #4,($FFFFFE10).w
+ cmpi.b #4,(Current_zone).w
beq.s loc_618F8
moveq #0,d1 ; 0 is S3 levels
rts
@@ -132516,13 +132551,13 @@ loc_61918: loc_61928:
move.w $10(a0),d0 ; If off-screen
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_6196A
move.w $14(a0),d0
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
move.w $14(a0),d0
- sub.w ($FFFFEE7C).w,d0
+ sub.w (Camera_Y_pos).w,d0
addi.w #$80,d0
cmpi.w #$200,d0
bhi.w loc_6196A ; Jump below when far enough off-screen
@@ -132774,7 +132809,7 @@ loc_61F10: loc_61F22:
clr.b ($FFFFF650).w
- clr.b ($FFFFF7CA).w
+ clr.b (Ctrl_1_locked).w
jsr (AfterBoss_Cleanup).l
jsr (Remove_From_TrackingSlot).l
jsr (Create_New_Sprite).l
@@ -132782,10 +132817,10 @@ loc_61F22: move.l #Obj_TitleCard,(a1)
loc_61F44:
- move.b #-$6F,($FFFFF711).w
- move.b #-$80,($FFFFFE1E).w
- clr.l ($FFFFFE22).w
- move.b #1,($FFFFFE1C).w
+ move.b #-$6F,(Level_started_flag).w
+ move.b #-$80,(Update_HUD_timer).w
+ clr.l (Timer).w
+ move.b #1,(Update_HUD_life_count).w
jmp (Go_Delete_Sprite).l
; ---------------------------------------------------------------------------
@@ -132984,9 +133019,9 @@ loc_62158: loc_6215E:
lea ObjDat4_663BA(pc),a1
jsr (SetUp_ObjAttributesSlotted).l
- move.w ($FFFFEE18).w,($FFFFFA96).w
- move.w ($FFFFEE16).w,($FFFFFA92).w
- move.w #$3940,($FFFFEE16).w
+ move.w (Camera_min_Y_pos).w,($FFFFFA96).w
+ move.w (Camera_max_X_pos).w,($FFFFFA92).w
+ move.w #$3940,(Camera_max_X_pos).w
lea ChildObjDat_665A2(pc),a2
jsr (CreateChild1_Normal).l
bne.s loc_6218C
@@ -132998,7 +133033,7 @@ loc_6218C: ; ---------------------------------------------------------------------------
loc_62194:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.w #$3990,$10(a1)
bcs.s loc_621AE
tst.b $2E(a1)
@@ -133008,8 +133043,8 @@ loc_62194: loc_621AE:
- move.w ($FFFFEE7C).w,($FFFFEE18).w
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_Y_pos).w,(Camera_min_Y_pos).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
rts
; ---------------------------------------------------------------------------
@@ -133026,7 +133061,7 @@ loc_621D6: bset #0,4(a0)
move.w #$1F,$2E(a0)
move.l #loc_62216,$34(a0)
- move.w #$5C0,($FFFFEE18).w
+ move.w #$5C0,(Camera_min_Y_pos).w
lea Pal_CutsceneKnux1(pc),a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
@@ -133119,8 +133154,8 @@ loc_622E4: lea word_62296(pc),a1
move.b #$1F,$26(a0)
jsr (loc_85D70).l
- lea ($FFFFFC20).w,a1
- lea ($FFFFFCA0).w,a2
+ lea (Normal_palette_line_2).w,a1
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_62318:
@@ -133207,12 +133242,12 @@ loc_623FE: bmi.w locret_6206C
lea ChildObjDat_66568(pc),a2
jsr (CreateChild1_Normal).l
- move.w ($FFFFFA98).w,($FFFFEE12).w
+ move.w ($FFFFFA98).w,(Camera_target_max_Y_pos).w
loc_62422:
- lea ($FFFFFCA0).w,a1
- lea ($FFFFFC20).w,a2
+ lea (Target_palette_line_2).w,a1
+ lea (Normal_palette_line_2).w,a2
moveq #7,d6
loc_6242C:
@@ -133267,7 +133302,7 @@ loc_624A8: sub_624AE:
- lea ($FFFFFC40).w,a2
+ lea (Normal_palette_line_3).w,a2
moveq #$F,d0
loc_624B4:
@@ -133329,8 +133364,8 @@ word_62520: dc.w $720 loc_62528:
lea ObjDat4_663BA(pc),a1
jsr (SetUp_ObjAttributesSlotted).l
- clr.w ($FFFFF602).w
- st ($FFFFF7CA).w
+ clr.w (Ctrl_1_logical).w
+ st (Ctrl_1_locked).w
move.b #-$80,($FFFFB02E).w
bsr.w sub_65DD6
lea Pal_CutsceneKnux1(pc),a1
@@ -133338,7 +133373,7 @@ loc_62528: ; ---------------------------------------------------------------------------
loc_6254E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.w #$4728,$10(a1)
bcs.s locret_62562
btst #1,$2A(a1)
@@ -133354,7 +133389,7 @@ loc_62564: ; ---------------------------------------------------------------------------
loc_6256C:
- move.w #$808,($FFFFF602).w
+ move.w #$808,(Ctrl_1_logical).w
cmpi.w #$4760,($FFFFB010).w
bcc.s loc_6257C
rts
@@ -133362,8 +133397,8 @@ loc_6256C: loc_6257C:
move.b #6,5(a0)
- clr.w ($FFFFF602).w
- lea ($FFFFB000).w,a1
+ clr.w (Ctrl_1_logical).w
+ lea (Player_1).w,a1
clr.w $18(a1)
clr.w $1A(a1)
clr.w $1C(a1)
@@ -133412,8 +133447,8 @@ locret_62618: ; ---------------------------------------------------------------------------
loc_6261A:
- move.w #$404,($FFFFF602).w
- move.w ($FFFFEE7C).w,d0
+ move.w #$404,(Ctrl_1_logical).w
+ move.w (Camera_Y_pos).w,d0
addi.w #$160,d0
cmp.w $14(a0),d0
bcs.s loc_62630
@@ -133421,7 +133456,7 @@ loc_6261A: ; ---------------------------------------------------------------------------
loc_62630:
- clr.b ($FFFFF7CA).w
+ clr.b (Ctrl_1_locked).w
jsr (Remove_From_TrackingSlot).l
jmp (Go_Delete_Sprite).l
; ---------------------------------------------------------------------------
@@ -133455,7 +133490,7 @@ loc_62678: lea ObjDat4_663BA(pc),a1
jsr (SetUp_ObjAttributesSlotted).l
move.b #$16,$22(a0)
- move.w #$A0,($FFFFEE18).w
+ move.w #$A0,(Camera_min_Y_pos).w
lea Pal_CutsceneKnux1(pc),a1
jsr (PalLoad_Line1).l
lea ChildObjDat_6657C(pc),a2
@@ -133541,7 +133576,7 @@ loc_6278A: move.w #$3B60,($FFFFFA92).w
lea (Child6_IncLevX).l,a2
jsr (CreateChild6_Simple).l
- move.w #$148,($FFFFEE12).w
+ move.w #$148,(Camera_target_max_Y_pos).w
jsr (Remove_From_TrackingSlot).l
lea (Pal_LBZ1).l,a1
jsr (PalLoad_Line1).l
@@ -133722,7 +133757,7 @@ locret_629A6: loc_629A8:
move.w $14(a0),d0
- cmp.w ($FFFFF646).w,d0
+ cmp.w (Water_level).w,d0
bcs.s loc_629C0
moveq #$39,d0
jsr (Play_Sound_2).l
@@ -133873,8 +133908,8 @@ loc_62B68: move.w #$2B0,$10(a0)
move.w #$66C,$14(a0)
move.w #$200,$18(a0)
- lea ($FFFFFC20).w,a1
- lea ($FFFFFCA0).w,a2
+ lea (Normal_palette_line_2).w,a1
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_62BA2:
@@ -133968,11 +134003,11 @@ loc_62C90: Obj_A8_2:
cmpi.b #2,($FFFFB038).w
beq.w loc_62158
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.w loc_62158
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
bne.w loc_62158
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #0,d0
move.b ($FFFFFAB8).w,d0
move.w off_62CD0(pc,d0.w),d0
@@ -133990,7 +134025,7 @@ off_62CD0: dc.w loc_62CDE-off_62CD0 loc_62CDE:
move.b #2,($FFFFFAB8).w
- tst.l ($FFFFB04A).w
+ tst.l (Player_2).w
beq.s loc_62CF8
jsr (Create_New_Sprite).l
bne.s loc_62CF8
@@ -134010,8 +134045,8 @@ loc_62D04: move.b #4,($FFFFFAB8).w
bclr #0,4(a1)
bclr #0,$2A(a1)
- st ($FFFFF7CA).w
- clr.w ($FFFFF602).w
+ st (Ctrl_1_locked).w
+ clr.w (Ctrl_1_logical).w
jsr (Stop_Object).l
bra.w sub_65DD6
; ---------------------------------------------------------------------------
@@ -134034,12 +134069,12 @@ loc_62D42: loc_62D4A:
move.b #8,($FFFFFAB8).w
- st ($FFFFEE0A).w
- move.w #$202,($FFFFF602).w
+ st (Scroll_lock).w
+ move.w #$202,(Ctrl_1_logical).w
loc_62D5A:
- addq.w #2,($FFFFEE7C).w
- cmpi.w #$5B0,($FFFFEE7C).w
+ addq.w #2,(Camera_Y_pos).w
+ cmpi.w #$5B0,(Camera_Y_pos).w
bcc.s loc_62D68
rts
; ---------------------------------------------------------------------------
@@ -134053,22 +134088,22 @@ locret_62D6E: loc_62D70:
clr.b ($FFFFFAB8).w
- clr.b ($FFFFF7CA).w
- clr.b ($FFFFF7CB).w
- clr.b ($FFFFEE0A).w
- clr.w ($FFFFF602).w
- clr.w ($FFFFF66A).w
+ clr.b (Ctrl_1_locked).w
+ clr.b (Ctrl_2_locked).w
+ clr.b (Scroll_lock).w
+ clr.w (Ctrl_1_logical).w
+ clr.w (Ctrl_2_logical).w
move.b #5,($FFFFB06A).w
- move.b #1,($FFFFFE2A).w
- move.w #$190,($FFFFFE2E).w
- move.w #$56C,($FFFFFE30).w
+ move.b #1,(Last_star_post_hit).w
+ move.w #$190,(Saved_X_pos).w
+ move.w #$56C,(Saved_Y_pos).w
jsr (Save_Level_Data).l
jmp (Go_Delete_Sprite).l
; ---------------------------------------------------------------------------
loc_62DAC:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmpi.b #4,($FFFFFAB8).w
bcc.s loc_62DC4
move.w #$371,d0
@@ -134081,12 +134116,12 @@ loc_62DC4: move.w d0,$10(a0)
move.l #loc_62DDC,(a0)
- st ($FFFFF7CB).w
- clr.w ($FFFFF66A).w
+ st (Ctrl_2_locked).w
+ clr.w (Ctrl_2_logical).w
jsr (Stop_Object).l
loc_62DDC:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.b ($FFFFFAB8).w,d0
beq.s loc_62E1A
cmpi.b #4,($FFFFFAB8).w
@@ -134102,8 +134137,8 @@ loc_62E04: tst.b 4(a1)
bmi.s locret_62E18
move.l #loc_62DAC,(a0)
- clr.b ($FFFFF7CB).w
- clr.w ($FFFFF66A).w
+ clr.b (Ctrl_2_locked).w
+ clr.w (Ctrl_2_logical).w
locret_62E18:
@@ -134111,8 +134146,8 @@ locret_62E18: ; ---------------------------------------------------------------------------
loc_62E1A:
- clr.b ($FFFFF7CB).w
- clr.w ($FFFFF66A).w
+ clr.b (Ctrl_2_locked).w
+ clr.w (Ctrl_2_logical).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -134122,7 +134157,7 @@ Obj_A9_2: lea ChildObjDat_665B6(pc),a2
jsr (CreateChild6_Simple).l
move.l #loc_62F0A,(a0)
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.s loc_62E56
cmpi.b #2,($FFFFB038).w
beq.s loc_62E56
@@ -134287,7 +134322,7 @@ loc_6303C: btst #1,$38(a1)
bne.s loc_63078
jsr (sub_65E4C).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
tst.b ($FFFFFAA9).w
beq.s loc_6306E
@@ -134342,7 +134377,7 @@ word_630DC: dc.w $3D0, $3D0 loc_630E0:
cmpi.b #2,($FFFFB038).w
beq.s loc_6311A
- cmpi.b #7,($FFFFFE2A).w
+ cmpi.b #7,(Last_star_post_hit).w
bcc.w loc_62158
lea word_630D0(pc),a1
jsr (Check_CameraInRange).l
@@ -134372,7 +134407,7 @@ loc_63134: lea ObjDat4_663CC(pc),a1
jsr (SetUp_ObjAttributesSlotted).l
move.l #loc_63182,$34(a0)
- move.w ($FFFFEE14).w,($FFFFFA94).w
+ move.w (Camera_min_X_pos).w,($FFFFFA94).w
move.w (word_630DC).l,($FFFFFAB4).w
bsr.w sub_65DD6
st ($FFFFEEE8).w
@@ -134383,23 +134418,23 @@ loc_63134: ; ---------------------------------------------------------------------------
loc_63170:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
move.w ($FFFFFAB4).w,d1
cmp.w d1,d0
bcc.s loc_63182
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_min_X_pos).w
rts
; ---------------------------------------------------------------------------
loc_63182:
- move.w d1,($FFFFEE14).w
+ move.w d1,(Camera_min_X_pos).w
move.b #4,5(a0)
move.w #$3B,$2E(a0)
- st ($FFFFF7CA).w
- st ($FFFFF7CB).w
- clr.w ($FFFFF602).w
- clr.w ($FFFFF66A).w
+ st (Ctrl_1_locked).w
+ st (Ctrl_2_locked).w
+ clr.w (Ctrl_1_logical).w
+ clr.w (Ctrl_2_logical).w
rts
; ---------------------------------------------------------------------------
@@ -134407,13 +134442,13 @@ loc_631A4: subi.w #1,$2E(a0)
bmi.s loc_631E0
moveq #0,d0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1)
bne.s loc_631BE
bset #0,d0
loc_631BE:
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
tst.l (a2)
beq.s loc_631D4
tst.b 4(a2)
@@ -134440,9 +134475,9 @@ loc_631E0: move.w #$10,$3E(a0)
clr.w $2E(a0)
move.b #1,$39(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_6320E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.l (a1)
beq.s locret_631DE
@@ -134471,9 +134506,9 @@ loc_63238: beq.s locret_6327E
cmpi.b #$C,$23(a0)
bne.s loc_63266
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #$14,$20(a1)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.b 4(a1)
bpl.s loc_63266
move.b #$14,$20(a1)
@@ -134558,10 +134593,10 @@ loc_63324: lsl.w #2,d0
loc_6334A:
- move.w ($FFFFEE80).w,d1
+ move.w (Camera_X_pos_copy).w,d1
add.w d0,d1
move.w d1,$10(a0)
- move.w ($FFFFEE84).w,d1
+ move.w (Camera_Y_pos_copy).w,d1
addi.w #$E8,d1
move.w d1,$14(a0)
moveq #0,d1
@@ -134574,7 +134609,7 @@ loc_6334A: loc_63372:
move.w $1A(a0),d0
add.w d0,$14(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subq.w #8,d0
cmp.w $14(a0),d0
bcc.w loc_62158
@@ -134583,10 +134618,10 @@ loc_63372: loc_6338E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b $2C(a0)
beq.s loc_6339C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
loc_6339C:
move.l #loc_633D6,(a0)
@@ -134598,7 +134633,7 @@ loc_6339C: move.b #$F,$20(a1)
bclr #1,4(a1)
bset #7,$A(a1)
- st ($FFFFEE39).w
+ st (Fast_V_scroll_flag).w
rts
; ---------------------------------------------------------------------------
@@ -134611,19 +134646,19 @@ loc_633D6: move.w $14(a0),$14(a1)
tst.w $1A(a0)
bmi.w locret_6206C
- clr.b ($FFFFF7CA).w
- clr.b ($FFFFF7CB).w
- clr.w ($FFFFF602).w
- clr.w ($FFFFF66A).w
+ clr.b (Ctrl_1_locked).w
+ clr.b (Ctrl_2_locked).w
+ clr.w (Ctrl_1_logical).w
+ clr.w (Ctrl_2_logical).w
clr.b $2E(a1)
bclr #7,$A(a1)
clr.b $20(a1)
move.w #$10,$1C(a1)
- clr.b ($FFFFEE39).w
+ clr.b (Fast_V_scroll_flag).w
clr.b ($FFFFEEE8).w
- move.b #7,($FFFFFE2A).w
- move.w #$52A,($FFFFFE2E).w
- move.w #$5AC,($FFFFFE30).w
+ move.b #7,(Last_star_post_hit).w
+ move.w #$52A,(Saved_X_pos).w
+ move.w #$5AC,(Saved_Y_pos).w
jsr (Save_Level_Data).l
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -134631,9 +134666,9 @@ loc_633D6: CutsceneKnux_SKIntro:
cmpi.b #2,($FFFFB038).w
bne.w loc_62158
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.w loc_62158
- tst.w ($FFFFFFAE).w
+ tst.w (SK_alone_flag).w
beq.w loc_62158
move.l #loc_63466,(a0)
@@ -134683,11 +134718,11 @@ loc_634CA: jsr (SetUp_ObjAttributesSlotted).l
move.w #$EF,$2E(a0)
move.b #-$7D,($FFFFB02E).w
- move.w #$560,($FFFFEE78).w
- move.w #$948,($FFFFEE7C).w
- st ($FFFFEE0A).w
- move.l ($FFFFFE0C).w,($FFFFF636).w
- clr.b ($FFFFF711).w
+ move.w #$560,(Camera_X_pos).w
+ move.w #$948,(Camera_Y_pos).w
+ st (Scroll_lock).w
+ move.l (V_int_run_count).w,(RNG_seed).w
+ clr.b (Level_started_flag).w
jsr (Create_New_Sprite).l
bne.s loc_63508
move.l #loc_63682,(a1)
@@ -134696,7 +134731,7 @@ loc_63508: lea ChildObjDat_66656(pc),a2
jsr (CreateChild6_Simple).l
lea (Pal_SKIntroBomb).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_6351E:
@@ -134792,29 +134827,29 @@ loc_63620: loc_63632:
jsr (MoveSprite2).l
jsr (Animate_RawCheckResult).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$180,d0
cmp.w $10(a0),d0
bcc.w locret_6206C
loc_6364E:
- move.b #1,($FFFFFE2A).w
- move.w #$6F4,($FFFFFE2E).w
- move.w #$9EC,($FFFFFE30).w
+ move.b #1,(Last_star_post_hit).w
+ move.w #$6F4,(Saved_X_pos).w
+ move.w #$9EC,(Saved_Y_pos).w
jsr (Save_Level_Data).l
- clr.l ($FFFFFE34).w
+ clr.l (Saved_timer).w
move.w #$700,d0
- move.w d0,($FFFFFE10).w
- move.w d0,($FFFFEE4E).w
- move.w #1,($FFFFFE02).w
+ move.w d0,(Current_zone_and_act).w
+ move.w d0,(Apparent_zone_and_act).w
+ move.w #1,(Restart_level_flag).w
jmp (Go_Delete_Sprite).l
; ---------------------------------------------------------------------------
loc_63682:
- btst #7,($FFFFF605).w
+ btst #7,(Ctrl_1_pressed).w
bne.s loc_6364E
- btst #7,($FFFFF607).w
+ btst #7,(Ctrl_2_pressed).w
bne.s loc_6364E
rts
; ---------------------------------------------------------------------------
@@ -134913,10 +134948,10 @@ loc_63790: jsr (SetUp_ObjAttributes).l
move.l #loc_637EC,(a0)
move.b #$10,$1E(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$A0,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$40,d0
move.w d0,$14(a0)
moveq #$51,d0
@@ -134967,8 +135002,8 @@ loc_63846: bset #1,($FFFFFAB8).w
moveq #$4E,d0
jsr (Play_Sound_2).l
- lea ($FFFFFC00).w,a1
- lea ($FFFFFC80).w,a2
+ lea (Normal_palette).w,a1
+ lea (Target_palette).w,a2
moveq #7,d6
loc_63870:
@@ -134999,7 +135034,7 @@ loc_638A2: loc_638C4:
lea (Pal_SSZ1).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_638D0:
@@ -135101,10 +135136,10 @@ loc_639C8: lea (ObjDat3_919A6).l,a1
jsr (SetUp_ObjAttributes).l
move.l #loc_63A16,(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$110,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$60,d0
move.w d0,$14(a0)
moveq #$19,d0
@@ -135118,7 +135153,7 @@ loc_639C8: loc_63A16:
addq.w #1,$14(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$40,d0
cmp.w $14(a0),d0
bge.s loc_63A3A
@@ -135215,12 +135250,12 @@ Obj_AE_2: loc_63B40:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea word_63B94(pc),a2
jsr (Check_InMyRange).l
beq.w locret_6206C
move.l #loc_63B9C,(a0)
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
jsr (Create_New_Sprite).l
bne.s loc_63B72
move.l #Obj_CutsceneKnuckles,(a1)
@@ -135241,36 +135276,36 @@ word_63B94: dc.w $FFF0, $10, $FDC0, $240 ; ---------------------------------------------------------------------------
loc_63B9C:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.w #$39B0,$10(a1)
bcs.s locret_63BBC
move.l #loc_63BBE,(a0)
- st ($FFFFF7CA).w
+ st (Ctrl_1_locked).w
jsr (Stop_Object).l
- clr.w ($FFFFF602).w
+ clr.w (Ctrl_1_logical).w
locret_63BBC:
rts
; ---------------------------------------------------------------------------
loc_63BBE:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1)
bne.w locret_6206C
move.l #loc_63BF4,(a0)
bset #0,($FFFFFAB8).w
- move.w #0,($FFFFEE14).w
- st ($FFFFEE0A).w
- clr.b ($FFFFF7CA).w
+ move.w #0,(Camera_min_X_pos).w
+ st (Scroll_lock).w
+ clr.b (Ctrl_1_locked).w
move.b #-$7F,$2E(a1)
move.b #7,$20(a1)
rts
; ---------------------------------------------------------------------------
loc_63BF4:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subq.w #2,d0
- move.w d0,($FFFFEE7C).w
+ move.w d0,(Camera_Y_pos).w
cmpi.w #$90,d0
bhi.w locret_6206C
move.l #loc_63C14,(a0)
@@ -135281,10 +135316,10 @@ loc_63BF4: loc_63C14:
cmpi.w #$4C0,($FFFFB014).w
bcs.w locret_6206C
- st ($FFFFEE5E).w
- move.w ($FFFFFE20).w,($FFFFEF5E).w
- move.l ($FFFFFE22).w,($FFFFEF60).w
- move.b ($FFFFB02B).w,($FFFFFF96).w
+ st (Act_3_flag).w
+ move.w (Ring_count).w,($FFFFEF5E).w
+ move.l (Timer).w,($FFFFEF60).w
+ move.b ($FFFFB02B).w,(Saved2_status_secondary).w
move.w #$1600,d0
jmp (StartNewLevel).l
; ---------------------------------------------------------------------------
@@ -135397,8 +135432,8 @@ loc_63D5C: move.b #8,$29(a0)
move.l #word_66771,$30(a0)
clr.w $44(a0)
- lea ($FFFFFC20).w,a1
- lea ($FFFFFCA0).w,a2
+ lea (Normal_palette_line_2).w,a1
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_63DBC:
@@ -135851,7 +135886,7 @@ loc_64258: tst.w d1
bpl.w locret_6206C
add.w d1,$14(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$A0,d0
sub.w $10(a0),d0
bpl.s loc_64292
@@ -135901,7 +135936,7 @@ loc_642F0: loc_64310:
move.b #$18,5(a0)
- clr.b ($FFFFFE1E).w
+ clr.b (Update_HUD_timer).w
move.w #2,$44(a0)
move.l #Map_HPZKnucklesGrab,$C(a0)
move.b #2,$22(a0)
@@ -136001,7 +136036,7 @@ loc_64422: loc_6443A:
jsr (MoveSprite2).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$180,d0
cmp.w $10(a0),d0
bcs.s loc_64472
@@ -136053,7 +136088,7 @@ loc_644DA: move.l #Obj_DecLevStartYGradual,(a1)
loc_644E8:
- move.w ($FFFFFA98).w,($FFFFEE12).w
+ move.w ($FFFFFA98).w,(Camera_target_max_Y_pos).w
jsr (Create_New_Sprite).l
bne.s loc_644FC
move.l #Obj_IncLevEndYGradual,(a1)
@@ -136403,9 +136438,9 @@ loc_648F2: loc_648FA:
move.b #$44,5(a0)
move.w #$10,$2E(a0)
- clr.b ($FFFFEE0A).w
+ clr.b (Scroll_lock).w
move.w #$5C0,d0
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_target_max_Y_pos).w
move.w d0,($FFFFFA98).w
moveq #-$34,d0
jsr (Play_Sound_2).l
@@ -136546,7 +136581,7 @@ loc_64AC0: jsr (Animate_RawCheckResult).l
subi.w #$C,$18(a0)
jsr (MoveSprite2).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
subi.w #$40,d0
cmp.w $10(a0),d0
bcc.s loc_64B22
@@ -136662,41 +136697,41 @@ loc_64C5C: ; ---------------------------------------------------------------------------
loc_64C70:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.w #$14D0,$10(a1)
bcs.s locret_64CA4
move.l #loc_64CA6,(a0)
jsr (Stop_Object).l
- st ($FFFFF7CA).w
- clr.w ($FFFFF602).w
+ st (Ctrl_1_locked).w
+ clr.w (Ctrl_1_logical).w
jsr (Create_New_Sprite).l
bne.s loc_64C9E
move.l #loc_863C0,(a1)
loc_64C9E:
- move.w #$300,($FFFFEE12).w
+ move.w #$300,(Camera_target_max_Y_pos).w
locret_64CA4:
rts
; ---------------------------------------------------------------------------
loc_64CA6:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1)
bne.w locret_6206C
- move.w #$808,($FFFFF602).w
+ move.w #$808,(Ctrl_1_logical).w
cmpi.w #$15A8,$10(a1)
bcs.w locret_6206C
move.l #loc_64D1A,(a0)
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
jsr (Create_New_Sprite).l
bne.s loc_64CE2
move.l #Obj_Song_Fade_Transition,(a1)
move.b #$2E,$2C(a1)
loc_64CE2:
- lea ($FFFFB000).w,a1
- clr.b ($FFFFF7CA).w
+ lea (Player_1).w,a1
+ clr.b (Ctrl_1_locked).w
move.b #-$7D,$2E(a1)
move.b #-$3C,$22(a1)
cmpi.b #1,$38(a1)
@@ -136705,15 +136740,15 @@ loc_64CE2: loc_64D04:
move.b #7,$20(a1)
- clr.w ($FFFFF602).w
+ clr.w (Ctrl_1_logical).w
jsr (Stop_Object).l
jmp (Player_Load_PLC).l
; ---------------------------------------------------------------------------
loc_64D1A:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addq.w #2,d0
- move.w d0,($FFFFEE78).w
+ move.w d0,(Camera_X_pos).w
cmpi.w #$1580,d0
bcs.s locret_64D36
move.l #loc_64D38,(a0)
@@ -136727,17 +136762,17 @@ loc_64D38: btst #1,($FFFFFAB8).w
beq.s locret_64D5A
move.l #loc_64D5C,(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #0,$2E(a1)
- st ($FFFFF7CA).w
- move.w #$808,($FFFFF602).w
+ st (Ctrl_1_locked).w
+ move.w #$808,(Ctrl_1_logical).w
locret_64D5A:
rts
; ---------------------------------------------------------------------------
loc_64D5C:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $18(a1),d0
cmpi.w #$300,d0
bls.s loc_64D6E
@@ -136748,17 +136783,17 @@ loc_64D6E: move.w d0,$1C(a1)
ext.l d0
lsl.l #8,d0
- add.l d0,($FFFFEE78).w
+ add.l d0,(Camera_X_pos).w
move.w #$17D0,d0
- cmp.w ($FFFFEE78).w,d0
+ cmp.w (Camera_X_pos).w,d0
bhi.s locret_64DA8
move.l #loc_64DAA,(a0)
- move.w d0,($FFFFEE78).w
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE16).w
- move.w ($FFFFEE1A).w,($FFFFEE18).w
- clr.b ($FFFFF7CA).w
- clr.b ($FFFFF7CB).w
+ move.w d0,(Camera_X_pos).w
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_max_X_pos).w
+ move.w (Camera_max_Y_pos).w,(Camera_min_Y_pos).w
+ clr.b (Ctrl_1_locked).w
+ clr.b (Ctrl_2_locked).w
locret_64DA8:
rts
@@ -136768,7 +136803,7 @@ loc_64DAA: btst #5,($FFFFFAB8).w
beq.s locret_64DCA
move.l #loc_64DCC,(a0)
- st ($FFFFF7CA).w
+ st (Ctrl_1_locked).w
jsr (Create_New_Sprite).l
bne.s locret_64DCA
move.l #loc_863C0,(a1)
@@ -136779,7 +136814,7 @@ locret_64DCA: ; ---------------------------------------------------------------------------
loc_64DCC:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1)
bne.s locret_64DDE
move.l #loc_64DE0,(a0)
@@ -136789,7 +136824,7 @@ locret_64DDE: ; ---------------------------------------------------------------------------
loc_64DE0:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #$808,d0
move.w $10(a1),d1
subi.w #$1892,d1
@@ -136797,7 +136832,7 @@ loc_64DE0: move.w #$404,d0
loc_64DF6:
- move.w d0,($FFFFF602).w
+ move.w d0,(Ctrl_1_logical).w
tst.w d1
bpl.s loc_64E00
neg.w d1
@@ -136808,7 +136843,7 @@ loc_64E00: move.l #loc_64E28,(a0)
move.w #$3F,$2E(a0)
st ($FFFFFAAC).w
- clr.w ($FFFFF602).w
+ clr.w (Ctrl_1_logical).w
jsr (Stop_Object).l
jmp (Player_Load_PLC).l
; ---------------------------------------------------------------------------
@@ -136817,7 +136852,7 @@ loc_64E28: subq.w #1,$2E(a0)
bpl.s locret_64E44
move.l #loc_64E46,(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bset #0,4(a1)
bset #0,$2A(a1)
@@ -136826,14 +136861,14 @@ locret_64E44: ; ---------------------------------------------------------------------------
loc_64E46:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.w #$580,$14(a1)
bcs.s locret_64E6A
btst #1,$2A(a1)
bne.s locret_64E6A
move.l #loc_64E6C,(a0)
- clr.b ($FFFFF7CA).w
- move.w #$5C0,($FFFFEE18).w
+ clr.b (Ctrl_1_locked).w
+ move.w #$5C0,(Camera_min_Y_pos).w
locret_64E6A:
@@ -136841,11 +136876,11 @@ locret_64E6A: ; ---------------------------------------------------------------------------
loc_64E6C:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.w #$1660,$10(a1)
bcc.w locret_6206C
move.l #locret_64E86,(a0)
- clr.b ($FFFFF7CB).w
+ clr.b (Ctrl_2_locked).w
rts
; ---------------------------------------------------------------------------
@@ -136950,7 +136985,7 @@ loc_64FD2: loc_64FDC:
jsr (Swing_UpAndDown).l
jsr (MoveSprite2).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$200,d0
cmp.w $10(a0),d0
bcs.s loc_65000
@@ -137186,9 +137221,9 @@ loc_652A2: moveq #0,d0
move.b $2C(a0),d0
lea byte_652DE(pc,d0.w),a1
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
addi.w #$140,d1
- move.w ($FFFFEE7C).w,d2
+ move.w (Camera_Y_pos).w,d2
addi.w #$C0,d2
move.b (a1)+,d3
ext.w d3
@@ -137604,7 +137639,7 @@ Obj_B1_2: move.w $3A(a0),d0
moveq #0,d1
- cmpi.w #$460,($FFFFEE78).w
+ cmpi.w #$460,(Camera_X_pos).w
bcs.s loc_656B8
moveq #4,d1
@@ -137613,7 +137648,7 @@ loc_656B8: cmp.w d0,d1
beq.s locret_656D0
movea.l off_656D2(pc,d1.w),a1
- lea ($FFFFFC20).w,a2
+ lea (Normal_palette_line_2).w,a2
moveq #$17,d0
loc_656CA:
@@ -137664,8 +137699,8 @@ loc_65730: jsr (SetUp_ObjAttributesSlotted).l
clr.b ($FFFFFAB8).w
move.w #$80,8(a0)
- lea ($FFFFFC20).w,a1
- lea ($FFFFFCA0).w,a2
+ lea (Normal_palette_line_2).w,a1
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_6574E:
@@ -137811,23 +137846,23 @@ loc_658F2: loc_6594A:
bsr.w sub_65FDE
jsr (Animate_RawMultiDelay).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
subi.w #$80,d0
cmp.w $10(a0),d0
bgt.s loc_65976
move.w $14(a0),d0
- sub.w ($FFFFEE7C).w,d0
+ sub.w (Camera_Y_pos).w,d0
addi.w #$80,d0
cmpi.w #$200,d0
bls.w locret_6206C
loc_65976:
- move.b #1,($FFFFFE2A).w
- move.w #$140,($FFFFFE2E).w
- move.w #$C6C,($FFFFFE30).w
+ move.b #1,(Last_star_post_hit).w
+ move.w #$140,(Saved_X_pos).w
+ move.w #$C6C,(Saved_Y_pos).w
jsr (Save_Level_Data).l
- lea ($FFFFFCA0).w,a1
- lea ($FFFFFC20).w,a2
+ lea (Target_palette_line_2).w,a1
+ lea (Normal_palette_line_2).w,a2
moveq #7,d6
loc_65998:
@@ -137858,18 +137893,18 @@ loc_659CC: move.w d0,$1A(a0)
move.w #-$40,$40(a0)
move.w #$100,$2E(a0)
- move.l ($FFFFFE0C).w,($FFFFF636).w
+ move.l (V_int_run_count).w,(RNG_seed).w
lea ChildObjDat_665C4(pc),a2
jsr (CreateChild1_Normal).l
- lea ($FFFFFC60).w,a1
- lea ($FFFFFCE0).w,a2
+ lea (Normal_palette_line_4).w,a1
+ lea (Target_palette_line_4).w,a2
moveq #7,d6
loc_65A14:
move.l (a1)+,(a2)+
dbf d6,loc_65A14
lea Pal_KnuxSSZEnd(pc),a1
- lea ($FFFFFC60).w,a2
+ lea (Normal_palette_line_4).w,a2
moveq #$F,d0
loc_65A24:
@@ -137896,14 +137931,14 @@ loc_65A4A: bsr.w sub_66054
jsr (MoveSprite_SSZBGAdjust).l
jsr (Draw_Sprite).l
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$38,d0
cmp.w $14(a0),d0
bls.w locret_6206C
bset #5,$38(a0)
bset #1,($FFFFFAB8).w
- lea ($FFFFFCE0).w,a1
- lea ($FFFFFC60).w,a2
+ lea (Target_palette_line_4).w,a1
+ lea (Normal_palette_line_4).w,a2
moveq #7,d6
loc_65A80:
@@ -138073,10 +138108,10 @@ loc_65C50: ; ---------------------------------------------------------------------------
loc_65C56:
- clr.b ($FFFFF7CA).w
+ clr.b (Ctrl_1_locked).w
move.w #$1000,d0
move.w d0,($FFFFFA98).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_target_max_Y_pos).w
lea (Child6_IncLevY).l,a2
loc_65C6C:
@@ -138090,10 +138125,10 @@ loc_65C72: loc_65C78:
move.w #$14,($FFFFEECC).w
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$100,d0
- move.w d0,($FFFFF648).w
- move.w #$350,($FFFFF64A).w
+ move.w d0,(Mean_water_level).w
+ move.w #$350,(Target_water_level).w
st ($FFFFFAA3).w
moveq #$57,d0
jsr (Play_Sound_2).l
@@ -138109,7 +138144,7 @@ loc_65CAC: move.w #$14,($FFFFEECC).w
movea.w ($FFFF8048).w,a1
lea $8E(a1),a1
- move.w ($FFFF8000).w,d0
+ move.w (Level_layout_header).w,d0
move.b #$14,(a1)
adda.w d0,a1
move.b #$F,(a1)
@@ -138160,7 +138195,7 @@ loc_65D58: tst.b ($FFFFFAA2).w
bne.s loc_65D68
st ($FFFFFAA2).w
- move.w #$958,($FFFFF64A).w
+ move.w #$958,(Target_water_level).w
loc_65D68:
jmp (Delete_Current_Sprite).l
@@ -138186,7 +138221,7 @@ loc_65D8C: tst.b ($FFFFFAA3).w
beq.s loc_65DD0
clr.b ($FFFFFAA3).w
- move.w #$A58,($FFFFF64A).w
+ move.w #$A58,(Target_water_level).w
moveq #$57,d0
jsr (Play_Sound_2).l
jsr (Create_New_Sprite).l
@@ -138278,9 +138313,9 @@ sub_65E4C: sub_65E62:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_65E72
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.l (a1)
beq.s locret_65EAE
; End of function sub_65E62
@@ -138359,21 +138394,21 @@ locret_65EFC: sub_65EFE:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #0,d2
moveq #$3C,d3
moveq #-$73,d4
bsr.w sub_65F84
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #1,d2
moveq #$3D,d3
moveq #-$76,d4
bsr.w sub_65F84
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #0,d2
moveq #$3C,d3
bsr.w sub_65F2E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #1,d2
moveq #$3D,d3
; End of function sub_65EFE
@@ -138424,8 +138459,8 @@ sub_65F84: beq.s locret_65FD4
bset d2,$38(a0)
move.w d3,-(sp)
- clr.b ($FFFFEE0A).w
- clr.b ($FFFFFE1E).w
+ clr.b (Scroll_lock).w
+ clr.b (Update_HUD_timer).w
move.b #-$7D,$2E(a1)
move.b d4,$22(a1)
clr.b $20(a1)
@@ -138453,7 +138488,7 @@ word_65FD6: dc.w $FFE0, $40, $FFE0, $40 sub_65FDE:
btst #3,$38(a0)
bne.w locret_6206C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
cmpi.w #$20,d3
bcc.w locret_6206C
@@ -138509,11 +138544,11 @@ sub_66054: ; ---------------------------------------------------------------------------
loc_66072:
- move.w ($FFFFEE78).w,$3A(a0)
+ move.w (Camera_X_pos).w,$3A(a0)
move.l #loc_6607E,(a0)
loc_6607E:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
move.w $3A(a0),d1
move.w d0,$3A(a0)
sub.w d1,d0
@@ -138629,7 +138664,7 @@ sub_6615A: tst.w $18(a0)
beq.s locret_66188
bmi.s loc_66176
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$130,d0
cmp.w $10(a0),d0
bhi.s locret_66188
@@ -138638,7 +138673,7 @@ sub_6615A: ; ---------------------------------------------------------------------------
loc_66176:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$10,d0
cmp.w $10(a0),d0
bcs.s locret_66188
@@ -139104,6 +139139,7 @@ word_664DA: dc.w $500 dc.b 4
dc.b 0
ObjDat3_664E2: dc.l Map_DashDust
+
dc.w $500
dc.w $80
dc.b $10
@@ -139871,7 +139907,7 @@ loc_674AC: move.w #8,$40(a0)
move.w #-$16E8,($FFFFEEB6).w
move.b #-1,($FFFFF766).w
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #0,$22(a1)
move.b #$53,$2E(a1)
@@ -140059,7 +140095,7 @@ loc_67704: loc_67712:
st ($FFFFF650).w
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #4,5(a1)
bset #1,$2A(a1)
move.w #-$400,$1A(a1)
@@ -140067,13 +140103,13 @@ loc_67712: move.w #0,$1C(a1)
move.b #$1A,$20(a1)
clr.b $2E(a1)
- clr.w ($FFFFF602).w
- st ($FFFFF7CA).w
- clr.b ($FFFFFE19).w
+ clr.w (Ctrl_1_logical).w
+ st (Ctrl_1_locked).w
+ clr.b (Super_Sonic_Knux_flag).w
move.b #2,($FFFFF65F).w
move.w #$1E,($FFFFF65C).w
lea Pal_AIZIntroEmeralds(pc),a1
- lea ($FFFFFC60).w,a2
+ lea (Normal_palette_line_4).w,a2
moveq #7,d0
loc_67764:
@@ -140195,7 +140231,7 @@ loc_67900: move.b d0,$22(a0)
move.l #loc_67938,(a0)
move.b #4,$1E(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),$10(a0)
move.w $14(a1),$14(a0)
moveq #$40,d0
@@ -140256,7 +140292,7 @@ loc_67996: sub_679B8:
- move.b #1,($FFFFFE19).w
+ move.b #1,(Super_Sonic_Knux_flag).w
move.b #$21,$22(a0)
btst #1,($FFFFFE0F).w
beq.s loc_679D2
@@ -140660,7 +140696,7 @@ loc_67D84: loc_67D9E:
move.b #4,5(a0)
- cmpi.b #0,($FFFFFE10).w
+ cmpi.b #0,(Current_zone).w
beq.s loc_67DC2
lea (Child6_CreateBossExplosion).l,a2
jsr (CreateChild6_Simple).l
@@ -140706,7 +140742,7 @@ loc_67E0A: loc_67E18:
bset #5,$38(a0)
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
jmp (Go_Delete_Sprite_2).l
; ---------------------------------------------------------------------------
@@ -140806,7 +140842,7 @@ loc_67EF6: Obj_RobotnikShipReady:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$40,d0
cmp.w $14(a0),d0
bcc.s loc_67F18
@@ -140836,7 +140872,7 @@ Obj_RobotnikShipEscape: loc_67F4C:
bset #5,$38(a0)
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
jmp (Go_Delete_Sprite_2).l
; ---------------------------------------------------------------------------
@@ -140930,7 +140966,7 @@ Obj_FBZRobotnikShipReadyGo: ; ---------------------------------------------------------------------------
Obj_FBZRobotnikShipRise:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$C0,d0
cmp.w $14(a0),d0
bcc.s loc_68058
@@ -141123,14 +141159,14 @@ loc_68508: lea ObjDat3_68FFE(pc),a1
jsr (SetUp_ObjAttributes).l
move.b #$60,$29(a0)
- move.w ($FFFFEE16).w,($FFFFFA92).w
- move.b #1,($FFFFF7AA).w
+ move.w (Camera_max_X_pos).w,($FFFFFA92).w
+ move.b #1,(Boss_flag).w
moveq #$5A,d0
jmp (Load_PLC).l
; ---------------------------------------------------------------------------
loc_6852C:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
move.w #$2F10,d5
cmp.w d5,d0
bcc.s loc_6853A
@@ -141147,8 +141183,8 @@ loc_6853A: loc_68556:
move.b #4,5(a0)
move.w #$B4,$2E(a0)
- move.w d5,($FFFFEE14).w
- move.w d5,($FFFFEE16).w
+ move.w d5,(Camera_min_X_pos).w
+ move.w d5,(Camera_max_X_pos).w
moveq #-$1F,d0
jsr (Play_Sound).l
@@ -141249,7 +141285,7 @@ loc_68646: move.w #$400,$18(a0)
clr.w $1A(a0)
move.w #$40,$2E(a0)
- cmpi.w #0,($FFFFFE10).w
+ cmpi.w #0,(Current_zone_and_act).w
bne.s loc_68682
move.w #$120,$2E(a0)
@@ -141267,7 +141303,7 @@ loc_68690: ; ---------------------------------------------------------------------------
loc_686A2:
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
jsr (Obj_PlayLevelMusic).l
lea (PLC_83D48).l,a1
jsr (Load_PLC_Raw).l
@@ -141477,7 +141513,7 @@ loc_688B0: moveq #0,d0
move.b $2C(a1),d0
bsr.w sub_68EE4
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$20,d0
move.w d0,$14(a0)
rts
@@ -141627,7 +141663,7 @@ loc_68A46: lea ObjDat3_68FFE(pc),a1
jsr (SetUp_ObjAttributes).l
move.b #6,$29(a0)
- move.b #1,($FFFFF7AA).w
+ move.b #1,(Boss_flag).w
moveq #$5A,d0
jsr (Load_PLC).l
lea Pal_AIZMiniboss(pc),a1
@@ -141635,7 +141671,7 @@ loc_68A46: ; ---------------------------------------------------------------------------
loc_68A6E:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
move.w #$10E0,d5
cmpi.b #2,($FFFFB038).w
bne.s loc_68A82
@@ -141887,7 +141923,7 @@ loc_68D1C: move.l #loc_68D48,$34(a0)
bset #1,4(a0)
bsr.w sub_68ED4
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$20,d0
move.w d0,$14(a0)
rts
@@ -141935,7 +141971,7 @@ loc_68D9C: lea ObjDat3_69032(pc),a1
jsr (SetUp_ObjAttributes).l
- cmpi.b #0,($FFFFFE10).w
+ cmpi.b #0,(Current_zone).w
beq.s loc_68DB4
move.w #$500,$A(a0)
@@ -141974,11 +142010,11 @@ loc_68DFA: move.l #loc_68E84,$34(a0)
moveq #0,d0
move.b $2C(a0),d0
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
move.w word_68E48(pc,d0.w),d2
add.w d2,d1
move.w d1,$10(a0)
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
move.w word_68E54(pc,d0.w),d2
move.w d2,$14(a0)
move.w byte_68E60(pc,d0.w),$18(a0)
@@ -142102,7 +142138,7 @@ loc_68F0E: move.b (a2,d0.w),d0
add.w d0,d0
move.w (a3,d0.w),d0
- add.w ($FFFFEE78).w,d0
+ add.w (Camera_X_pos).w,d0
move.w d0,$10(a0)
move.w #$400,$1A(a0)
rts
@@ -142459,22 +142495,22 @@ loc_691BE: Obj_AIZ_EndBossWait:
move.w ($FFFFFA82).w,d0
- cmp.w ($FFFFEE78).w,d0
+ cmp.w (Camera_X_pos).w,d0
bls.s loc_691D4 ; Only branch if Sonic has reached the boss area
rts
; ---------------------------------------------------------------------------
loc_691D4:
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_min_X_pos).w
loc_691D8:
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_max_X_pos).w
move.l #Obj_Wait,(a0) ; Set up object to wait $78 frames
move.w #$78,$2E(a0)
move.l #Obj_AIZ_EndBossMusic,$34(a0)
moveq #-$1F,d0
jsr (Play_Sound).l
- move.b #1,($FFFFF7AA).w ; Lock the screen
+ move.b #1,(Boss_flag).w ; Lock the screen
clr.b ($FFFFFAA2).w
clr.b ($FFFFFAA3).w
moveq #$6B,d0
@@ -142666,14 +142702,14 @@ loc_6943E: ; ---------------------------------------------------------------------------
loc_69456:
- move.w ($FFFFEE14).w,d0
+ move.w (Camera_min_X_pos).w,d0
addq.w #2,d0
cmp.w ($FFFFFA84).w,d0
bhi.s loc_69466
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_min_X_pos).w
loc_69466:
- addq.w #2,($FFFFEE16).w
+ addq.w #2,(Camera_max_X_pos).w
loc_6946A:
jsr (MoveSprite2).l
@@ -142701,7 +142737,7 @@ loc_694A4: loc_694AA:
st ($FFFFFAA8).w
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
lea (PLC_CNZ2KnuxEnd).l,a1
jsr (Load_PLC_Raw).l
lea ChildObjDat_69D8C(pc),a2
@@ -142715,11 +142751,11 @@ loc_694D4: bne.w locret_69366
move.l #loc_69526,(a0)
jsr (Restore_PlayerControl).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
jsr (Obj_PlayLevelMusic).l
- st ($FFFFF7CA).w
- clr.w ($FFFFF602).w
+ st (Ctrl_1_locked).w
+ clr.w (Ctrl_1_logical).w
jsr (Create_New_Sprite).l
bne.s loc_6950E
move.l #loc_863C0,(a1)
@@ -142733,13 +142769,13 @@ loc_6950E: ; ---------------------------------------------------------------------------
loc_69526:
- move.b #5,($FFFFF73F).w
- lea ($FFFFB000).w,a1
+ move.b #5,(Flying_picking_Sonic_timer).w
+ lea (Player_1).w,a1
move.w ($FFFFFA84).w,d0
addi.w #$1F8,d0
cmp.w $10(a1),d0
bls.s loc_69546
- move.w #$808,($FFFFF602).w
+ move.w #$808,(Ctrl_1_logical).w
rts
; ---------------------------------------------------------------------------
@@ -142760,16 +142796,16 @@ loc_6956E: loc_6957A:
move.l #loc_695CE,(a0)
- move.w #$2020,($FFFFF602).w
+ move.w #$2020,(Ctrl_1_logical).w
rts
; ---------------------------------------------------------------------------
loc_69588:
- move.b #5,($FFFFF73F).w
- tst.b ($FFFFF7CA).w
+ move.b #5,(Flying_picking_Sonic_timer).w
+ tst.b (Ctrl_1_locked).w
beq.s loc_695A0
- move.w #$101,($FFFFF602).w
- clr.w ($FFFFF66A).w
+ move.w #$101,(Ctrl_1_logical).w
+ clr.w (Ctrl_2_logical).w
rts
; ---------------------------------------------------------------------------
@@ -142779,7 +142815,7 @@ loc_695A0: ; ---------------------------------------------------------------------------
loc_695A8:
- move.b #5,($FFFFF73F).w
+ move.b #5,(Flying_picking_Sonic_timer).w
loc_695AE:
move.w ($FFFFFA86).w,d0
@@ -142792,8 +142828,8 @@ loc_695AE: ; ---------------------------------------------------------------------------
loc_695CE:
- move.w #$2000,($FFFFF602).w
- lea ($FFFFB000).w,a1
+ move.w #$2000,(Ctrl_1_logical).w
+ lea (Player_1).w,a1
bset #7,$A(a1)
tst.w $1A(a1)
bmi.w locret_69366
@@ -142803,13 +142839,13 @@ loc_695CE: jsr (Player_Load_PLC).l
move.w #$1000,d0
move.w d0,($FFFFFA98).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_target_max_Y_pos).w
lea (Child6_IncLevY).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
loc_69616:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (MoveSprite_NormGravity).l
bra.s loc_695AE
; ---------------------------------------------------------------------------
@@ -143687,11 +143723,11 @@ Obj_HCZMiniboss: lea word_69ED2(pc),a1
jsr (Check_CameraInRange).l
move.l #loc_69EDA,(a0)
- move.b #1,($FFFFF7AA).w
+ move.b #1,(Boss_flag).w
st ($FFFFEEE8).w
moveq #$5B,d0
jsr (Load_PLC).l
- move.w #$300,($FFFFEE18).w
+ move.w #$300,(Camera_min_Y_pos).w
lea ChildObjDat_6AD6E(pc),a2
jmp (CreateChild1_Normal).l
; ---------------------------------------------------------------------------
@@ -143702,24 +143738,24 @@ loc_69EDA: btst #0,$38(a0)
bne.s loc_69EFE
move.w #$638,d0
- cmp.w ($FFFFEE7C).w,d0
+ cmp.w (Camera_Y_pos).w,d0
bhi.s loc_69EFE
bset #0,$38(a0)
- move.w d0,($FFFFEE18).w
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
loc_69EFE:
btst #1,$38(a0)
move.w #$3680,d0
- move.w ($FFFFEE78).w,d1
- move.w d1,($FFFFEE14).w
+ move.w (Camera_X_pos).w,d1
+ move.w d1,(Camera_min_X_pos).w
cmp.w d1,d0
bhi.s loc_69F22
bset #1,$38(a0)
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_max_X_pos).w
loc_69F22:
cmpi.b #3,$38(a0)
@@ -143728,7 +143764,7 @@ loc_69F22: ; ---------------------------------------------------------------------------
loc_69F2C:
- move.w ($FFFFEE16).w,($FFFFFA92).w
+ move.w (Camera_max_X_pos).w,($FFFFFA92).w
move.w $14(a0),$44(a0)
move.l #Obj_Wait,(a0)
move.w #$78,$2E(a0)
@@ -143839,7 +143875,7 @@ loc_6A076: btst #7,$38(a0)
bne.s loc_6A08C
move.w $14(a0),d0
- cmp.w ($FFFFF646).w,d0
+ cmp.w (Water_level).w,d0
bcs.s loc_6A08C
bsr.w sub_6AAB6
@@ -143997,10 +144033,10 @@ loc_6A24C: tst.b ($FFFFFAA8).w
bne.w locret_69F78
move.l #loc_6A270,(a0)
- clr.w ($FFFFF602).w
- clr.w ($FFFFF66A).w
- st ($FFFFF7CA).w
- st ($FFFFF7CB).w
+ clr.w (Ctrl_1_logical).w
+ clr.w (Ctrl_2_logical).w
+ st (Ctrl_1_locked).w
+ st (Ctrl_2_locked).w
move.b #-$80,($FFFFB02E).w
loc_6A270:
@@ -144221,7 +144257,7 @@ loc_6A4C8: lea ObjDat4_6AD30(pc),a1
jsr (SetUp_ObjAttributesSlotted).l
- move.w ($FFFFF646).w,$14(a0)
+ move.w (Water_level).w,$14(a0)
move.l #Obj_Wait,(a0)
tst.b $2C(a0)
beq.s loc_6A4EA
@@ -144277,7 +144313,7 @@ loc_6A55C: bpl.w locret_69F78
move.b #4,5(a0)
lea Pal_HCZMinibossWater(pc),a1
- lea ($FFFFF0A0).w,a2
+ lea (Water_palette_line_2).w,a2
moveq #7,d0
loc_6A574:
@@ -144418,11 +144454,11 @@ loc_6A710: lea ObjDat3_6AD24(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_6A79C,(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$A0,d0
move.w d0,$10(a0)
move.w d0,$3A(a0)
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
addq.w #8,d0
move.w d0,$14(a0)
jsr (Random_Number).l
@@ -144469,7 +144505,7 @@ loc_6A7BE: loc_6A7C4:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #6,$2A(a1)
beq.w locret_69F78
move.l #loc_6A872,(a0)
@@ -144477,12 +144513,12 @@ loc_6A7C4: movea.w $46(a0),a1
bset #0,$38(a1)
move.b #4,4(a0)
- lea ($FFFFB000).w,a1
- lea ($FFFFF7CA).w,a2
+ lea (Player_1).w,a1
+ lea (Ctrl_1_locked).w,a2
tst.b $2C(a0)
beq.s loc_6A80C
- lea ($FFFFB04A).w,a1
- lea ($FFFFF7CB).w,a2
+ lea (Player_2).w,a1
+ lea (Ctrl_2_locked).w,a2
btst #6,$2A(a1)
beq.w loc_6A86C
@@ -144495,7 +144531,7 @@ loc_6A80C: move.w $10(a1),d0
move.w d0,$10(a0)
move.w $14(a1),$14(a0)
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
addi.w #$A0,d1
move.w d1,$3A(a0)
sub.w d1,d0
@@ -144535,7 +144571,7 @@ loc_6A872: loc_6A896:
tst.b $2C(a0)
beq.s loc_6A8AE
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.l (a1)
beq.s loc_6A8C0
jsr (Restore_PlayerControl2).l
@@ -144693,7 +144729,7 @@ sub_6A9B8: clr.l $42(a0)
move.w $14(a0),d0
subi.w #$20,d0
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
cmp.w $14(a2),d0
bhi.s loc_6A9E0
move.w a2,$42(a0)
@@ -144704,7 +144740,7 @@ sub_6A9B8: loc_6A9E0:
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
cmp.w $14(a2),d0
bhi.s locret_6AA22
cmpi.b #6,5(a2)
@@ -144811,7 +144847,7 @@ sub_6AAA0: btst #7,$38(a0)
bne.w locret_69F78
move.w $14(a0),d0
- cmp.w ($FFFFF646).w,d0
+ cmp.w (Water_level).w,d0
bcs.w locret_69F78
; End of function sub_6AAA0
@@ -144849,7 +144885,7 @@ loc_6AAEA: loc_6AAF6:
move.w d2,$40(a0)
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
add.w d0,d1
move.w d1,$10(a0)
move.b (a1)+,$39(a0)
@@ -145483,7 +145519,7 @@ loc_6B0E8: move.l #loc_6B154,(a0)
bclr #7,4(a0)
st ($FFFFFAA8).w
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
move.w ($FFFFFAB4).w,d0
addi.w #$180,d0
move.w d0,($FFFFFA92).w
@@ -145513,16 +145549,16 @@ locret_6B152: ; ---------------------------------------------------------------------------
loc_6B154:
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
tst.b ($FFFFFAA8).w
bne.w locret_6AF0A
- clr.w ($FFFFF602).w
- clr.w ($FFFFF66A).w
- st ($FFFFF7CA).w
- st ($FFFFF7CB).w
+ clr.w (Ctrl_1_logical).w
+ clr.w (Ctrl_2_logical).w
+ st (Ctrl_1_locked).w
+ st (Ctrl_2_locked).w
move.b #-$80,($FFFFB02E).w
jsr (Restore_PlayerControl).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
jsr (Obj_PlayLevelMusic).l
jsr (Create_New_Sprite).l
@@ -145530,7 +145566,7 @@ loc_6B154: move.l #loc_6B7BC,(a1)
loc_6B19C:
- move.w #0,($FFFFEE18).w
+ move.w #0,(Camera_min_Y_pos).w
jmp (Go_Delete_Sprite_2).l
; ---------------------------------------------------------------------------
@@ -145636,7 +145672,7 @@ off_6B29E: dc.w loc_6B2AA-off_6B29E loc_6B2AA:
lea word_6BD3E(pc),a1
jsr (SetUp_ObjAttributes2).l
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
subq.w #8,d0
move.w d0,$14(a0)
move.w d0,$3A(a0)
@@ -145784,7 +145820,7 @@ loc_6B456: move.l #byte_6BE32,$30(a0)
loc_6B46E:
- move.w ($FFFFF646).w,d0
+ move.w (Water_level).w,d0
subq.w #4,d0
move.w d0,$14(a0)
rts
@@ -145846,7 +145882,7 @@ loc_6B50C: ext.w d0
add.w d0,$10(a0)
swap d0
- move.w ($FFFFF646).w,d1
+ move.w (Water_level).w,d1
andi.w #$1F,d0
add.w d0,d1
move.w d1,$14(a0)
@@ -146002,7 +146038,7 @@ locret_6B6E4: loc_6B6E6:
move.w $14(a0),d0
- cmp.w ($FFFFF646).w,d0
+ cmp.w (Water_level).w,d0
bcc.s loc_6B6FE
jsr (MoveSprite_LightGravity).l
jsr (ObjHitFloor_DoRoutine).l
@@ -146128,18 +146164,18 @@ loc_6B832: st ($FFFFEECC).w
moveq #$57,d0
jsr (Play_Sound_2).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bra.w loc_6B864
; ---------------------------------------------------------------------------
loc_6B860:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
loc_6B864:
move.w a1,$44(a0)
move.w $10(a1),d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
addi.w #$130,d1
move.w d1,$14(a0)
jmp (loc_6BCB2).l
@@ -146222,7 +146258,7 @@ sub_6B916: move.b d0,$39(a0)
move.b byte_6B949(pc,d0.w),d1
ext.w d1
- move.w ($FFFFF646).w,d2
+ move.w (Water_level).w,d2
add.w d1,d2
move.w d2,$14(a0)
lsl.w #2,d0
@@ -146261,7 +146297,7 @@ sub_6B96C: move.b $2C(a0),d0
move.w d0,$2E(a0)
move.w word_6B98E(pc,d0.w),d1
- move.w ($FFFFF646).w,d2
+ move.w (Water_level).w,d2
add.w d1,d2
move.w d2,$14(a0)
add.w d0,d0
@@ -146286,12 +146322,12 @@ off_6B998: dc.l byte_6BE3F sub_6B9AC:
move.w $10(a0),d0
- move.w ($FFFFF646).w,d1
+ move.w (Water_level).w,d1
addq.w #8,d1
move.l #$20000,d2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_6B9C8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; End of function sub_6B9AC
@@ -146326,10 +146362,10 @@ sub_6B9E2: lea word_6BAC2(pc),a1
lea (a1,d0.w),a1
moveq #$42,d4
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
bsr.w sub_6BA06
moveq #$43,d4
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
; End of function sub_6B9E2
@@ -146451,14 +146487,14 @@ loc_6BB1E: tst.b $42(a0)
beq.s loc_6BB2E
clr.b $42(a0)
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
bsr.s sub_6BB02
loc_6BB2E:
tst.b $43(a0)
beq.s locret_6BB3E
clr.b $43(a0)
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
bsr.s sub_6BB02
locret_6BB3E:
@@ -146471,10 +146507,10 @@ sub_6BB40: cmpi.b #$30,$23(a0)
bcc.s locret_6BB90
lea word_6BB92(pc),a1
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
bsr.w sub_6BB5C
lea word_6BB92(pc),a1
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
; End of function sub_6BB40
@@ -146930,7 +146966,7 @@ Pal_HCZEndBoss: binclude "Levels\HCZ\Palettes\End Boss.bin" Obj_MGZ2DrillingEggman:
move.l #Obj_Wait,(a0)
- move.b #1,($FFFFF7AA).w
+ move.b #1,(Boss_flag).w
move.w #$78,$2E(a0)
move.l #Obj_MGZ2DrillingEggmanGo,$34(a0)
clr.b $2C(a0)
@@ -147019,7 +147055,7 @@ loc_6C024: move.w d0,$1A(a0)
btst #7,$38(a0)
bne.s loc_6C068
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
addi.w #$120,d1
cmp.w $14(a0),d1
bcs.s loc_6C068
@@ -147184,7 +147220,7 @@ loc_6C1FA: loc_6C200:
bset #5,$38(a0)
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
move.l #Delete_Current_Sprite,(a0)
jsr (Obj_PlayLevelMusic).l
lea (MGZ_8x8_Primary_KosM).l,a1
@@ -147205,7 +147241,7 @@ loc_6C200: jsr (Load_PLC_Raw).l
lea (Pal_MGZ).l,a1
jsr (PalLoad_Line1).l
- move.w #$1DF,($FFFFEE18).w
+ move.w #$1DF,(Camera_min_Y_pos).w
st ($FFFFEEB8).w
btst #0,4(a0)
bne.s loc_6C29E
@@ -147299,7 +147335,7 @@ loc_6C354: bset #7,$A(a0)
st $46(a0)
move.b #8,$29(a0)
- move.b #1,($FFFFF7AA).w
+ move.b #1,(Boss_flag).w
move.b #$1C,$1E(a0)
move.w #$C,$26(a0)
moveq #-$1F,d0
@@ -147720,7 +147756,7 @@ loc_6C890: loc_6C8B4:
move.l #loc_6C8F4,(a0)
st ($FFFFFAA8).w
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
jsr (Create_New_Sprite).l
bne.s loc_6C8DC
move.l #Obj_81,(a1)
@@ -147736,23 +147772,23 @@ loc_6C8DC: ; ---------------------------------------------------------------------------
loc_6C8F4:
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
tst.b ($FFFFFAA8).w
bne.w locret_6BF96
move.l #loc_6C932,(a0)
clr.b ($FFFFFAA8).w
jsr (Restore_PlayerControl).l
jsr (Obj_PlayLevelMusic).l
- clr.w ($FFFFF602).w
- st ($FFFFF7CA).w
+ clr.w (Ctrl_1_logical).w
+ st (Ctrl_1_locked).w
clr.w $2E(a0)
- move.b #1,($FFFFEE0A).w
- addi.w #$30,($FFFFEE16).w
+ move.b #1,(Scroll_lock).w
+ addi.w #$30,(Camera_max_X_pos).w
rts
; ---------------------------------------------------------------------------
loc_6C932:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$150,d0
cmp.w ($FFFFB010).w,d0
bls.w loc_6D13C
@@ -148352,11 +148388,11 @@ loc_6CFF4: loc_6CFFE:
move.l #loc_6D060,(a0)
move.w #-$72E0,$3A(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$140,d0
move.w d0,$10(a0)
move.w d0,$30(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$50,d0
move.w d0,$14(a0)
move.w d0,$34(a0)
@@ -148452,7 +148488,7 @@ loc_6D104: lsl.w #4,d0
lea (Pal_MGZFadeCNZ).l,a1
adda.w d0,a1
- lea ($FFFFFC60).w,a2
+ lea (Normal_palette_line_4).w,a2
moveq #7,d1
loc_6D128:
@@ -148486,7 +148522,7 @@ word_6D14C: dc.w $A loc_6D16A:
movea.w $46(a0),a1
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
move.w d0,d1
moveq #$18,d2
addi.w #$70,d0
@@ -148781,6 +148817,7 @@ word_6D406: dc.w $FC00, $FC00 dc.w $400, $FC00
dc.w $FF80, $FC00
dc.w $80, $FC00
+
dc.w $FD00, $FE00
dc.w $300, $FE00
dc.w $FE00, $FD00
@@ -148803,12 +148840,12 @@ sub_6D42E: bset #0,4(a0)
loc_6D452:
- move.w ($FFFFEE7C).w,d3
+ move.w (Camera_Y_pos).w,d3
addi.w #8,d3
lea ($FFFFFA82).w,a2
loc_6D45E:
- move.w ($FFFFEE78).w,d2
+ move.w (Camera_X_pos).w,d2
addi.w #$A8,d2
add.w d0,d2
add.w d1,d1
@@ -149106,10 +149143,10 @@ loc_6D710: move.w $3C(a0),d0
lea word_6D744(pc,d0.w),a2
move.w (a2)+,d1
- add.w ($FFFFEE78).w,d1
+ add.w (Camera_X_pos).w,d1
move.w d1,$10(a0)
move.w (a2)+,d1
- add.w ($FFFFEE7C).w,d1
+ add.w (Camera_Y_pos).w,d1
move.w d1,$14(a0)
move.l dword_6D754(pc,d0.w),$18(a0)
lsr.w #1,d0
@@ -149421,25 +149458,25 @@ Pal_MGZEndBoss: binclude "Levels\MGZ\Palettes\End Boss.bin" Obj_CNZMiniboss:
move.w #$31E0,d0
- cmp.w ($FFFFEE78).w,d0 ; Wait for Player to get in range
+ cmp.w (Camera_X_pos).w,d0 ; Wait for Player to get in range
bls.s loc_6D9A8
rts
; ---------------------------------------------------------------------------
loc_6D9A8:
- move.w ($FFFFEE16).w,($FFFFFA92).w ; X end to FFFA92
- move.w #$1C0,($FFFFEE18).w
- move.w d0,($FFFFEE14).w ; Set X start
+ move.w (Camera_max_X_pos).w,($FFFFFA92).w ; X end to FFFA92
+ move.w #$1C0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_min_X_pos).w ; Set X start
addi.w #$80,d0
- move.w d0,($FFFFEE16).w ; Set X end
- move.w #$2B8,($FFFFEE1A).w
- move.w #$2B8,($FFFFEE12).w ; Set Y end
+ move.w d0,(Camera_max_X_pos).w ; Set X end
+ move.w #$2B8,(Camera_max_Y_pos).w
+ move.w #$2B8,(Camera_target_max_Y_pos).w ; Set Y end
move.l #Obj_Wait,(a0)
move.w #$78,$2E(a0) ; Wait for 2 seconds
move.l #Obj_CNZMinibossGo,$34(a0)
moveq #-$1F,d0
jsr (Play_Sound).l ; Fade out music
- move.b #1,($FFFFF7AA).w ; Lock screen
+ move.b #1,(Boss_flag).w ; Lock screen
moveq #$5D,d0
jsr (Load_PLC).l ; Load CNZ Miniboss PLC
lea Pal_CNZMiniboss(pc),a1 ; Load CNZ Miniboss palette
@@ -149595,7 +149632,7 @@ Obj_CNZMinibossEnd: Obj_CNZMinibossEndGo:
move.l #Obj_EndSignControlAwaitStart,(a0)
- clr.b ($FFFFF7AA).w ; Unlock level
+ clr.b (Boss_flag).w ; Unlock level
jsr (AfterBoss_Cleanup).l
lea (PLC_EndSignStuff).l,a1 ; Get ready to start act 2 after sign finishes
jmp (Load_PLC_Raw).l
@@ -149703,7 +149740,7 @@ loc_6DCDA: move.w $10(a0),d0
move.w $14(a0),d1
addq.w #8,d1
- move.w ($FFFFEE7C).w,d2
+ move.w (Camera_Y_pos).w,d2
addi.w #$E0,d2
cmp.w d2,d1
bcc.w loc_6DDCC ; If bottom of screen was hit, bounce
@@ -149721,7 +149758,7 @@ loc_6DD1E: move.w $10(a0),d0
move.w $14(a0),d1
subq.w #8,d1
- cmp.w ($FFFFEE7C).w,d1
+ cmp.w (Camera_Y_pos).w,d1
bls.w loc_6DDCC ; If top of screen was hit, bounce
cmpi.w #$240,d1
bls.w loc_6DDCC ; Maximum upper bound is $240
@@ -150149,10 +150186,10 @@ locret_6E198: CNZMinibossTop_CheckPlayerBounce:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_6E1A8
bne.s locret_6E20E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; End of function CNZMinibossTop_CheckPlayerBounce
@@ -150647,7 +150684,7 @@ loc_6E6C6: loc_6E6E4:
move.l #loc_6E724,(a0)
st ($FFFFFAA8).w
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
move.w ($FFFFFAB4).w,d0
addi.w #$190,d0
move.w d0,($FFFFFA92).w
@@ -150663,12 +150700,12 @@ loc_6E718: ; ---------------------------------------------------------------------------
loc_6E724:
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
tst.b ($FFFFFAA8).w
bne.w locret_6E4C4
move.l #loc_6E778,(a0)
jsr (Restore_PlayerControl).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
jsr (Obj_PlayLevelMusic).l
move.w #$200,($FFFFFA96).w
@@ -150701,15 +150738,15 @@ locret_6E7B4: ; ---------------------------------------------------------------------------
loc_6E7B6:
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
movea.w $44(a0),a1
cmpi.b #1,$30(a1)
bne.w locret_6E4C4
move.l #loc_6E7E4,(a0)
move.w #$200,d0
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_target_max_Y_pos).w
move.w #$BF,$2E(a0)
- st ($FFFFF7CA).w
+ st (Ctrl_1_locked).w
rts
; ---------------------------------------------------------------------------
@@ -150722,13 +150759,13 @@ loc_6E7E4: move.l #loc_6E80C,(a0)
loc_6E800:
- move.w #$7070,($FFFFF602).w
- st ($FFFFF7CA).w
+ move.w #$7070,(Ctrl_1_logical).w
+ st (Ctrl_1_locked).w
rts
; ---------------------------------------------------------------------------
loc_6E80C:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$20,d0
cmp.w ($FFFFB014).w,d0
bcs.w locret_6E4C4
@@ -151158,9 +151195,9 @@ sub_6EC3A: ; ---------------------------------------------------------------------------
loc_6EC44:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_6EC50
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; End of function sub_6EC3A
@@ -151438,10 +151475,10 @@ loc_6EEA8: lea Obj3_6FA34(pc),a1
jsr (SetUp_ObjAttributes).l
move.b #6,$29(a0)
- move.b #1,($FFFFF7AA).w
- move.w ($FFFFEE16).w,($FFFFFA92).w
- move.w ($FFFFEE1A).w,($FFFFFA98).w
- move.w #$540,($FFFFEE12).w
+ move.b #1,(Boss_flag).w
+ move.w (Camera_max_X_pos).w,($FFFFFA92).w
+ move.w (Camera_max_Y_pos).w,($FFFFFA98).w
+ move.w #$540,(Camera_target_max_Y_pos).w
move.w #$2E20,$3A(a0)
move.l #loc_6EF14,$34(a0)
lea (PLC_83D64).l,a1
@@ -151461,11 +151498,11 @@ loc_6EF0E: loc_6EF14:
move.b #4,5(a0)
- move.w ($FFFFEE16).w,($FFFFFA92).w
+ move.w (Camera_max_X_pos).w,($FFFFFA92).w
move.w $3A(a0),d0
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_min_X_pos).w
addi.w #$80,d0
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_max_X_pos).w
rts
; ---------------------------------------------------------------------------
@@ -151830,7 +151867,7 @@ loc_6F2A8: loc_6F2E4:
btst #6,$38(a1)
bne.w locret_6EF58
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
tst.b $40(a2)
bne.w locret_6EF58
move.w $10(a2),d0
@@ -152073,7 +152110,7 @@ loc_6F58C: bclr #2,$38(a0)
cmpi.b #$A,$2C(a0)
bne.s locret_6F5B6
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),$30(a0)
move.w $14(a1),$32(a0)
@@ -152239,7 +152276,7 @@ loc_6F764: bsr.w sub_6F786
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_6F780
jmp (Draw_Sprite).l
@@ -152754,10 +152791,10 @@ loc_6FD38: jsr (SetUp_ObjAttributes).l
move.b #$7F,$29(a0)
move.b #6,$39(a0)
- move.b #1,($FFFFF7AA).w
- move.w ($FFFFEE12).w,($FFFFFA98).w
- move.w #$2900,($FFFFEE14).w
- move.w #$5E0,($FFFFEE12).w
+ move.b #1,(Boss_flag).w
+ move.w (Camera_target_max_Y_pos).w,($FFFFFA98).w
+ move.w #$2900,(Camera_min_X_pos).w
+ move.w #$5E0,(Camera_target_max_Y_pos).w
lea PLC_705B6(pc),a1
cmpi.b #2,($FFFFB038).w
bne.s loc_6FD76
@@ -152786,7 +152823,7 @@ loc_6FDB6: ; ---------------------------------------------------------------------------
loc_6FDC0:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
cmpi.w #$18,d2
bcs.s loc_6FDD2
@@ -152840,7 +152877,7 @@ loc_6FE3A: sub_6FE54:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
move.w #$100,d1
tst.w d0
@@ -152928,14 +152965,14 @@ locret_6FF32: loc_6FF34:
bset #2,$38(a0)
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
move.l #loc_6FF50,(a0)
lea (PLC_83D48).l,a1
jmp (Load_PLC_Raw).l
; ---------------------------------------------------------------------------
loc_6FF50:
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
jmp (Sprite_CheckDeleteXY).l
; ---------------------------------------------------------------------------
@@ -153179,10 +153216,10 @@ loc_70220: move.b #-$54,$28(a0)
loc_70232:
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
cmpi.b #4,5(a2)
beq.s loc_7024A
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
cmpi.b #4,5(a2)
bne.s loc_70250
@@ -153422,7 +153459,7 @@ PLC_705D0: dc.w 3 Obj_FBZEndBoss:
move.l #Obj_Wait,(a0)
- move.b #1,($FFFFF7AA).w
+ move.b #1,(Boss_flag).w
move.w #$77,$2E(a0)
move.l #loc_70632,$34(a0)
moveq #-$1F,d0
@@ -153467,10 +153504,10 @@ loc_7065C: jsr (SetUp_ObjAttributes).l
move.b #8,$29(a0)
move.b #-$80,$3C(a0)
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
addi.w #$A0,d0
move.w d0,$10(a0)
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
subi.w #$60,d0
move.w d0,$14(a0)
lea (ChildObjDat_681AC).l,a2
@@ -153634,7 +153671,7 @@ loc_70854: loc_70870:
move.l #loc_708AA,(a0)
st ($FFFFFAA8).w
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
jsr (Create_New_Sprite).l
bne.s loc_70898
move.l #Obj_81,(a1)
@@ -153648,15 +153685,15 @@ loc_70898: ; ---------------------------------------------------------------------------
loc_708AA:
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
tst.b ($FFFFFAA8).w
bne.w locret_70638
move.l #loc_7092A,(a0)
jsr (Restore_PlayerControl).l
- clr.w ($FFFFF602).w
- st ($FFFFF7CA).w
+ clr.w (Ctrl_1_logical).w
+ st (Ctrl_1_locked).w
clr.w $2E(a0)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
jsr (Obj_PlayLevelMusic).l
jsr (Create_New_Sprite).l
@@ -153664,7 +153701,7 @@ loc_708AA: move.l #loc_863C0,(a1)
loc_708EE:
- move.w #$1000,($FFFFEE12).w
+ move.w #$1000,(Camera_target_max_Y_pos).w
move.w #$3738,($FFFFFA92).w
lea (Child6_IncLevX).l,a2
jsr (CreateChild6_Simple).l
@@ -153688,7 +153725,7 @@ word_7091C: dc.w 1 ; ---------------------------------------------------------------------------
loc_7092A:
- cmpi.w #$720,($FFFFEE7C).w
+ cmpi.w #$720,(Camera_Y_pos).w
bcc.s loc_70938
jmp (loc_86334).l
; ---------------------------------------------------------------------------
@@ -153813,6 +153850,7 @@ loc_70A46: loc_70A66:
move.w $46(a1),$44(a0)
+
lea ChildObjDat_70EFC(pc),a2
jsr (CreateChild3_NormalRepeated).l
@@ -153976,7 +154014,7 @@ loc_70C3C: loc_70C4A:
move.l #loc_70C66,(a0)
move.w #$800,$18(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
subq.w #8,$10(a1)
moveq #$5D,d0
jsr (Play_Sound_2).l
@@ -154395,7 +154433,7 @@ word_71152: dc.w $7C8 ; ---------------------------------------------------------------------------
Obj_ICZMiniboss:
- cmpi.w #$501,($FFFFEE4E).w
+ cmpi.w #$501,(Apparent_zone_and_act).w
beq.s loc_711AA
lea word_71142(pc),a1
tst.b $2C(a0)
@@ -155478,7 +155516,7 @@ loc_71D80: loc_71D9E:
move.l #loc_71DE2,(a0)
st ($FFFFFAA8).w
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
jsr (Create_New_Sprite).l
bne.s loc_71DC6
move.l #Obj_81,(a1)
@@ -155498,15 +155536,15 @@ locret_71DE0: ; ---------------------------------------------------------------------------
loc_71DE2:
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
tst.b ($FFFFFAA8).w
bne.w locret_71C14
clr.b ($FFFFFAA8).w
jsr (Restore_PlayerControl).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
jsr (Obj_PlayLevelMusic).l
- move.w ($FFFFFA98).w,($FFFFEE12).w
+ move.w ($FFFFFA98).w,(Camera_target_max_Y_pos).w
move.w #$47C0,($FFFFFA92).w
lea (Child6_IncLevX).l,a2
jsr (CreateChild6_Simple).l
@@ -156128,7 +156166,7 @@ loc_72400: lea ObjDat3_72956(pc),a1
jsr (SetUp_ObjAttributes).l
move.b #6,$29(a0)
- move.b #1,($FFFFF7AA).w
+ move.b #1,(Boss_flag).w
move.w $10(a0),$3C(a0)
move.w #$10,$2E(a0)
move.l #loc_72458,$34(a0)
@@ -156194,7 +156232,7 @@ loc_724C8: ; ---------------------------------------------------------------------------
loc_724E2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #0,d0
moveq #0,d1
move.w $10(a0),d2
@@ -156258,6 +156296,7 @@ loc_72562: loc_72578:
move.w $3C(a0),$10(a0)
+
jmp (Obj_EndSignControl).l
; ---------------------------------------------------------------------------
@@ -156593,7 +156632,7 @@ loc_7289A: move.l #loc_72562,$34(a0)
lea (Child6_CreateBossExplosion).l,a2
jsr (CreateChild1_Normal).l
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_728C2
jmp (BossDefeated_StopTimer).l
; ---------------------------------------------------------------------------
@@ -156725,12 +156764,12 @@ loc_729DE: lea ObjDat3_736CC(pc),a1
jsr (SetUp_ObjAttributes).l
move.b #9,$29(a0)
- move.b #1,($FFFFF7AA).w
+ move.b #1,(Boss_flag).w
move.l #loc_72A5A,$34(a0)
cmpi.b #2,($FFFFB038).w
beq.s loc_72A2A
move.w #$7F,$2E(a0)
- st ($FFFFFE1E).w
+ st (Update_HUD_timer).w
moveq #$71,d0
jsr (Load_PLC).l
jsr (Create_New_Sprite).l
@@ -156763,7 +156802,7 @@ loc_72A5A: loc_72A70:
move.w $14(a0),d0
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
tst.w $1A(a0)
bmi.s loc_72A8C
addi.w #$118,d1
@@ -156798,7 +156837,7 @@ loc_72AAA: loc_72AC8:
move.w word_72AE8(pc,d1.w),d1
- move.w ($FFFFEE78).w,d2
+ move.w (Camera_X_pos).w,d2
add.w d1,d2
move.w d2,$10(a0)
move.w #$100,d0
@@ -156850,7 +156889,7 @@ loc_72B10: loc_72B18:
move.w $14(a0),d0
addq.w #1,d0
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
addi.w #$140,d1
cmp.w d1,d0
bcc.s loc_72B34
@@ -156861,14 +156900,14 @@ loc_72B18: loc_72B34:
move.l #loc_72B46,(a0)
move.w #$3F,$2E(a0)
- st ($FFFFF7CB).w
+ st (Ctrl_2_locked).w
rts
; ---------------------------------------------------------------------------
loc_72B46:
subq.w #1,$2E(a0)
bpl.s locret_72B94
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #7,$2A(a1)
bne.s locret_72B94
btst #1,$2A(a1)
@@ -156909,10 +156948,10 @@ loc_72BBC: bset #5,$38(a0)
move.w a0,($FFFFFAA4).w
jsr (Restore_PlayerControl).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
- st ($FFFFF7CA).w
- clr.w ($FFFFF602).w
+ st (Ctrl_1_locked).w
+ clr.w (Ctrl_1_logical).w
jsr (Create_New_Sprite).l
bne.s loc_72BFA
move.l #loc_863C0,(a1)
@@ -156924,10 +156963,10 @@ loc_72BFA: ; ---------------------------------------------------------------------------
loc_72C0A:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1)
bne.s locret_72C3A
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$A0,d0
sub.w $10(a1),d0
scs d2
@@ -156943,7 +156982,7 @@ loc_72C28: moveq #2,d1
loc_72C36:
- bset d1,($FFFFF602).w
+ bset d1,(Ctrl_1_logical).w
locret_72C3A:
rts
@@ -156955,7 +156994,7 @@ loc_72C3C: jsr (Stop_Object).l
bclr #0,4(a1)
bclr #0,$2A(a1)
- move.w #$101,($FFFFF602).w
+ move.w #$101,(Ctrl_1_logical).w
lea ChildObjDat_73806(pc),a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -156965,9 +157004,9 @@ loc_72C68: beq.s locret_72C9C
move.l #loc_72C9E,(a0)
move.l #loc_72CBE,$34(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_72C8E
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
clr.b $20(a0)
; =============== S U B R O U T I N E =======================================
@@ -156985,10 +157024,10 @@ locret_72C9C: ; ---------------------------------------------------------------------------
loc_72C9E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea byte_7386A(pc),a2
jsr (Animate_ExternalPlayerSprite).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
clr.b $20(a1)
lea byte_73874(pc),a2
jmp (Animate_ExternalPlayerSprite).l
@@ -157010,7 +157049,7 @@ locret_72CD8: ; ---------------------------------------------------------------------------
loc_72CDA:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$120,d0
cmp.w ($FFFFB014).w,d0
bhi.w locret_72B02
@@ -157020,7 +157059,7 @@ loc_72CDA: ; ---------------------------------------------------------------------------
loc_72CFA:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
btst #7,$2A(a1)
bne.s locret_72D16
btst #1,$2A(a1)
@@ -157086,10 +157125,10 @@ loc_72DB2: jsr (Create_New_Sprite).l
bne.s loc_72DE4
move.l #loc_72DEA,(a1)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$D0,d0
move.w d0,$10(a1)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$20,d0
move.w d0,$14(a1)
move.w #5,$3A(a1)
@@ -157149,11 +157188,11 @@ loc_72E54: move.b RawAni_72E96(pc,d0.w),$22(a0)
swap d0
andi.w #$FF,d0
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
addi.w #$20,d1
add.w d0,d1
move.w d1,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$20,d0
move.w d0,$14(a0)
rts
@@ -157213,7 +157252,7 @@ loc_72EF8: add.w d0,$14(a1)
loc_72F2C:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$80,d0
cmp.w $14(a0),d0
bcc.s loc_72F40
@@ -157311,7 +157350,7 @@ loc_7304C: loc_73054:
move.w $14(a0),d0
subq.w #1,d0
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
subi.w #$50,d1
cmp.w d1,d0
bcs.s loc_73070
@@ -157696,6 +157735,7 @@ loc_73484: add.w d1,d2
move.w d2,$10(a0)
move.b (a1)+,d1
+
ext.w d1
move.w $14(a2),d2
add.w d1,d2
@@ -158217,10 +158257,10 @@ loc_7397A: loc_73984:
move.b #6,5(a0)
- move.b #1,($FFFFEE0A).w
+ move.b #1,(Scroll_lock).w
move.w #$39F0,d0
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_max_X_pos).w
locret_7399C:
@@ -158229,18 +158269,18 @@ locret_7399C: loc_7399E:
move.w #$39F0,d0
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
subq.w #2,d1
cmp.w d0,d1
bls.s loc_739B2
- move.w d1,($FFFFEE78).w
+ move.w d1,(Camera_X_pos).w
rts
; ---------------------------------------------------------------------------
loc_739B2:
- move.w d0,($FFFFEE78).w
+ move.w d0,(Camera_X_pos).w
move.b #8,5(a0)
- clr.b ($FFFFEE0A).w
+ clr.b (Scroll_lock).w
moveq #-$30,d0
jsr (Play_Sound_2).l
move.w #-$40,$1A(a0)
@@ -158301,9 +158341,9 @@ loc_73A52: loc_73A6A:
bset #5,$38(a0)
bclr #7,4(a0)
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
jsr (Obj_PlayLevelMusic).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #4,$2A(a1)
move.l #Go_Delete_Sprite_2,(a0)
rts
@@ -158880,7 +158920,7 @@ locret_74038: loc_7403A:
move.l #loc_73A52,(a0)
- clr.b ($FFFFFE1E).w
+ clr.b (Update_HUD_timer).w
moveq #$64,d0
jsr (HUD_AddToScore).l
bclr #7,4(a0)
@@ -158919,7 +158959,7 @@ loc_740AA: move.w word_740E4(pc,d0.w),$18(a0)
move.w #-$200,$1A(a0)
jsr (Displace_PlayerOffObject).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #4,$2A(a1)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -159108,10 +159148,10 @@ loc_742A8: move.b #8,$29(a0)
bset #3,$38(a0)
st ($FFFFF665).w
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$A0,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$50,d0
move.w d0,$14(a0)
move.w #$59,$2E(a0)
@@ -159138,7 +159178,7 @@ loc_74314: loc_7432A:
jsr (MoveSprite_LightGravity).l
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$120,d0
cmp.w $14(a0),d0
bcs.s loc_74340
@@ -159184,7 +159224,7 @@ loc_743AE: clr.b $39(a0)
clr.w $1A(a0)
move.l #loc_74428,$34(a0)
- move.w ($FFFFEE7C).w,$14(a0)
+ move.w (Camera_Y_pos).w,$14(a0)
bra.w loc_74F82
; ---------------------------------------------------------------------------
@@ -159254,7 +159294,7 @@ loc_74448: loc_74456:
jsr (MoveSprite_LightGravity).l
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
addi.w #$C0,d0
cmp.w $14(a0),d0
bcs.s loc_7446C
@@ -159272,7 +159312,7 @@ loc_7447A: jsr (MoveSprite2).l
tst.w $1A(a0)
bpl.s locret_7449A
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
addi.w #$E0,d0
cmp.w $14(a0),d0
bcc.s loc_7449C
@@ -159291,7 +159331,7 @@ loc_744A4: jsr (MoveSprite2).l
tst.w $1A(a0)
bmi.s locret_744C4
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
addi.w #$D0,d0
cmp.w $14(a0),d0
bls.s loc_744C6
@@ -159347,7 +159387,7 @@ loc_7452E: loc_74542:
jsr (MoveSprite2).l
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$60,d0
cmp.w $14(a0),d0
bcc.s loc_74558
@@ -159371,7 +159411,7 @@ loc_74562: loc_74576:
jsr (MoveSprite2).l
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$60,d0
cmp.w $14(a0),d0
bcc.s loc_7458C
@@ -159393,7 +159433,7 @@ loc_745A8: move.b #$24,5(a0)
movea.w $44(a0),a1
clr.b $3C(a1)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
move.w d0,d1
addi.w #$A0,d0
bclr #0,4(a0)
@@ -159410,7 +159450,7 @@ loc_745DA: ; ---------------------------------------------------------------------------
loc_745E2:
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
addi.w #$88,d0
cmp.w $14(a0),d0
bls.s loc_745F6
@@ -159463,14 +159503,14 @@ loc_74664: btst #1,($FFFFB02B).w
bne.s loc_7468C
movea.l a0,a2
- lea ($FFFFB000).w,a0
+ lea (Player_1).w,a0
jsr (HurtSonic2).l
movea.l a2,a0
rts
; ---------------------------------------------------------------------------
loc_7468C:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
clr.b $2E(a1)
neg.w d0
move.w d0,$18(a1)
@@ -159504,7 +159544,7 @@ loc_746F4: move.w $14(a0),d0
subq.w #1,d0
move.w d0,$14(a0)
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
subi.w #$40,d1
cmp.w d1,d0
bcs.s loc_74710
@@ -159516,7 +159556,7 @@ loc_74710: bclr #7,4(a0)
bset #5,$38(a0)
bset #0,4(a0)
- move.w ($FFFFEE78).w,d2
+ move.w (Camera_X_pos).w,d2
addi.w #$40,d2
move.w d2,$10(a0)
jmp (loc_694AA).l
@@ -159531,13 +159571,13 @@ loc_7473A: jsr sub_7302E(pc)
bclr #7,$2A(a0)
jsr (Restore_PlayerControl).l
- clr.w ($FFFFF602).w
- st ($FFFFF7CA).w
+ clr.w (Ctrl_1_logical).w
+ st (Ctrl_1_locked).w
loc_74768:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #$808,d0
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
addi.w #$50,d1
sub.w $10(a1),d1
bcc.s loc_74784
@@ -159545,11 +159585,11 @@ loc_74768: neg.w d1
loc_74784:
- move.w d0,($FFFFF602).w
+ move.w d0,(Ctrl_1_logical).w
cmpi.w #8,d1
bcc.w locret_74374
move.l #loc_747D6,(a0)
- clr.w ($FFFFF602).w
+ clr.w (Ctrl_1_logical).w
bset #0,4(a1)
bset #0,$2A(a1)
jsr (Stop_Object).l
@@ -159564,10 +159604,10 @@ loc_74784: ; ---------------------------------------------------------------------------
loc_747D6:
- move.w #$101,($FFFFF602).w
+ move.w #$101,(Ctrl_1_logical).w
move.w $14(a0),d0
addq.w #1,d0
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
addi.w #$40,d1
cmp.w d1,d0
bcc.s loc_747F8
@@ -159585,11 +159625,11 @@ loc_747F8: ; ---------------------------------------------------------------------------
loc_7481C:
- move.w #$101,($FFFFF602).w
+ move.w #$101,(Ctrl_1_logical).w
jsr (Swing_UpAndDown).l
jsr (MoveSprite2).l
move.w $10(a0),d0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #0,4(a1)
bclr #0,$2A(a1)
cmp.w $10(a1),d0
@@ -159598,7 +159638,7 @@ loc_7481C: bset #0,$2A(a1)
loc_74854:
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
addi.w #$A0,d1
cmp.w d1,d0
bcc.s loc_74866
@@ -159631,7 +159671,7 @@ loc_748AE: jsr (Swing_UpAndDown).l
jsr (MoveSprite2).l
move.w $10(a0),d0
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
addi.w #$1C0,d1
cmp.w d1,d0
bcc.s loc_748D0
@@ -159643,7 +159683,7 @@ loc_748D0: bset #6,$2A(a0)
bset #4,$38(a0)
bset #5,$38(a0)
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
bclr #7,4(a0)
rts
; ---------------------------------------------------------------------------
@@ -159652,7 +159692,7 @@ loc_748F4: btst #3,$38(a0)
beq.s locret_74908
move.l #loc_7490A,(a0)
- move.w #$808,($FFFFF602).w
+ move.w #$808,(Ctrl_1_logical).w
locret_74908:
rts
@@ -159662,7 +159702,7 @@ loc_7490A: cmpi.w #$4510,($FFFFB010).w
bcs.s locret_74950
move.l #loc_74952,(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),$10(a0)
move.w $14(a1),$14(a0)
move.b #-$7D,$2E(a1)
@@ -159679,7 +159719,7 @@ locret_74950: loc_74952:
jsr (MoveSprite_LightGravity).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
subq.b #1,$24(a0)
@@ -159759,7 +159799,7 @@ loc_74A3E: bne.w locret_74374
btst #2,$38(a1)
bne.s loc_74A88
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b $3C(a0),d0
move.w $14(a0),d1
sub.w $14(a1),d1
@@ -159955,7 +159995,7 @@ loc_74C8C: move.b #$1E,5(a1)
move.w #$40,$2E(a1)
move.l #loc_74562,$34(a1)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #-$7F,$2E(a1)
move.b #2,$20(a1)
moveq #0,d0
@@ -159970,7 +160010,7 @@ loc_74CCC: btst #7,$2A(a1)
bne.w loc_74BFA
jsr (Refresh_ChildPositionAdjusted).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
rts
@@ -160054,7 +160094,7 @@ loc_74DA4: jsr (CreateChild1_Normal).l
move.w #$1000,d0
move.w d0,($FFFFFA98).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_target_max_Y_pos).w
move.w #$6000,($FFFFFA92).w
move.w #0,($FFFFFA96).w
lea (Child1_Act2LevelSize).l,a2
@@ -160181,7 +160221,7 @@ loc_74F24: jsr (Random_Number).l
andi.w #6,d0
move.w d0,$3A(a0)
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
move.w #$1A8,d2
move.w #-$300,d3
btst #0,4(a0)
@@ -160193,7 +160233,7 @@ loc_74F4C: add.w d2,d1
move.w d1,$10(a0)
move.w d3,$18(a0)
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
move.w word_74F72(pc,d0.w),d2
add.w d1,d2
move.w d2,$14(a0)
@@ -160231,7 +160271,7 @@ loc_74F90: sub_74FA8:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
tst.w $18(a0)
bmi.s loc_74FBE
add.w d2,d0
@@ -160523,17 +160563,17 @@ off_751F0: dc.w loc_75220-off_751F0 loc_75220:
lea ObjDat3_75E52(pc),a1
jsr (SetUp_ObjAttributes).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$110,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$78,d0
move.w d0,$14(a0)
move.b #6,$29(a0)
move.w a0,($FFFFFAA4).w
move.b #5,$42(a0)
- move.l ($FFFFFE0C).w,($FFFFF636).w
- move.b #1,($FFFFF7AA).w
+ move.l (V_int_run_count).w,(RNG_seed).w
+ move.b #1,(Boss_flag).w
move.w #$100,$1A(a0)
move.w #$97,$2E(a0)
move.l #loc_752E6,$34(a0)
@@ -160605,12 +160645,12 @@ loc_75356: move.b #5,$22(a0)
move.w #$4F,$2E(a0)
move.l #loc_753A4,$34(a0)
- move.w #$6000,($FFFFEE0E).w
+ move.w #$6000,(Camera_target_max_X_pos).w
move.w #$6000,($FFFFFA92).w
jsr (Create_New_Sprite).l
bne.s locret_75390
move.l #loc_75E1A,(a1)
- move.w ($FFFFEE16).w,$34(a1)
+ move.w (Camera_max_X_pos).w,$34(a1)
locret_75390:
rts
@@ -160651,7 +160691,7 @@ loc_753DE: jsr (Swing_UpAndDown).l
jsr (MoveSprite2).l
move.w $10(a0),d0
- sub.w ($FFFFEE78).w,d0
+ sub.w (Camera_X_pos).w,d0
cmpi.w #$110,d0
bls.s loc_753FA
rts
@@ -160903,7 +160943,7 @@ loc_756AA: loc_756C6:
jsr (Animate_RawMultiDelay).l
jsr (MoveSprite2).l
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$30,d0
cmp.w $14(a0),d0
bcc.s loc_756E2
@@ -160940,7 +160980,7 @@ loc_7571C: loc_75734:
jsr (MoveSprite2).l
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$80,d0
cmp.w $14(a0),d0
bcc.s loc_7574A
@@ -160950,10 +160990,10 @@ loc_75734: loc_7574A:
move.b #$2E,5(a0)
move.b #5,$22(a0)
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
addi.w #$30,d0
move.w d0,$10(a0)
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
subi.w #$5C,d0
move.w d0,$14(a0)
move.w #$400,$18(a0)
@@ -161049,7 +161089,7 @@ loc_7585A: move.w #-$300,$1A(a0)
move.l #byte_75F1C,$30(a0)
moveq #0,d0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),d0
sub.w $10(a0),d0
beq.s loc_7589A
@@ -161208,7 +161248,7 @@ loc_759FC: jsr (SetUp_ObjAttributes).l
move.l #loc_75A24,(a0)
bsr.w sub_75C06
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$AC,d0
move.w d0,$14(a0)
jmp (Draw_Sprite).l
@@ -161401,7 +161441,7 @@ byte_75BAE: dc.b $D6, $28, $A3, $B sub_75C06:
- move.w ($FFFFEE7C).w,d2
+ move.w (Camera_Y_pos).w,d2
addi.w #$E0,d2
sub.w $14(a0),d2
lsr.w #3,d2
@@ -161602,6 +161642,7 @@ sub_75D80: moveq #$6E,d0
jsr (Play_Sound_2).l
+
loc_75DA0:
bset #6,$2A(a0)
moveq #0,d0
@@ -161659,7 +161700,7 @@ word_75E0A: dc.w $224 ; ---------------------------------------------------------------------------
loc_75E1A:
- move.w ($FFFFEE16).w,d0
+ move.w (Camera_max_X_pos).w,d0
cmp.w $34(a0),d0
bne.s loc_75E4C
move.l $30(a0),d1
@@ -161669,13 +161710,13 @@ loc_75E1A: add.w d1,d0
cmp.w ($FFFFFA92).w,d0
bcc.s loc_75E46
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_max_X_pos).w
move.w d0,$34(a0)
rts
; ---------------------------------------------------------------------------
loc_75E46:
- move.w ($FFFFFA92).w,($FFFFEE16).w
+ move.w ($FFFFFA92).w,(Camera_max_X_pos).w
loc_75E4C:
jmp (Delete_Current_Sprite).l
@@ -161805,8 +161846,8 @@ Obj_MHZ_EndBoss: lea word_769F4(pc),a1
jsr (Check_CameraInRange).l
move.l #loc_75FD4,(a0)
- move.w ($FFFFEE78).w,($FFFFEE14).w
- move.b #1,($FFFFF7AA).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
+ move.b #1,(Boss_flag).w
jsr (loc_85D7E).l
addi.w #$C0,$10(a0)
lea ObjDat3_76928(pc),a1
@@ -161933,7 +161974,7 @@ loc_760F4: ; ---------------------------------------------------------------------------
loc_76106:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$E0,d0
cmp.w $10(a0),d0
bcc.s loc_76120
@@ -162001,14 +162042,14 @@ loc_761B2: loc_761E8:
jsr (MoveSprite).l
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$120,d0
cmp.w $14(a0),d0
bcc.s loc_76236
move.l #loc_7623C,(a0)
bset #0,($FFFFFA88).w
st ($FFFFFAA8).w
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
bset #5,$38(a0)
jsr (PLCLoad_AnimalsAndExplosion).l
jsr (Create_New_Sprite).l
@@ -162023,22 +162064,22 @@ loc_76236: ; ---------------------------------------------------------------------------
loc_7623C:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addq.w #4,d0
move.w #$45A0,d1
cmp.w d1,d0
bcs.s loc_7626A
move.l #loc_76270,(a0)
move.w d1,d0
- move.w d1,($FFFFEE14).w
- move.w d1,($FFFFEE16).w
- clr.b ($FFFFEE0A).w
- clr.b ($FFFFF7CA).w
- clr.b ($FFFFF7CB).w
- clr.w ($FFFFF602).w
+ move.w d1,(Camera_min_X_pos).w
+ move.w d1,(Camera_max_X_pos).w
+ clr.b (Scroll_lock).w
+ clr.b (Ctrl_1_locked).w
+ clr.b (Ctrl_2_locked).w
+ clr.w (Ctrl_1_logical).w
loc_7626A:
- move.w d0,($FFFFEE78).w
+ move.w d0,(Camera_X_pos).w
rts
; ---------------------------------------------------------------------------
@@ -162047,22 +162088,22 @@ loc_76270: bne.w locret_76060
move.l #loc_76310,(a0)
clr.b ($FFFFFAA9).w
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
subi.w #$40,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$40,d0
move.w d0,$14(a0)
jsr (Restore_PlayerControl).l
bset #7,$A(a1)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bset #7,$A(a1)
jsr (Restore_PlayerControl2).l
jsr (Obj_PlayLevelMusic).l
- st ($FFFFF7CA).w
- move.w #$101,($FFFFF602).w
- st ($FFFFF7CB).w
- move.w #$101,($FFFFF66A).w
+ st (Ctrl_1_locked).w
+ move.w #$101,(Ctrl_1_logical).w
+ st (Ctrl_2_locked).w
+ move.w #$101,(Ctrl_2_logical).w
jsr (sub_8638A).l
move.w #$1BF,$2E(a0)
move.w #$55,($FFFFEEC4).w
@@ -162101,7 +162142,7 @@ loc_76356: jsr (sub_85E52).l
jsr (sub_8638A).l
moveq #0,d1
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$80,d0
cmp.w $10(a0),d0
bcc.s loc_76376
@@ -162109,7 +162150,7 @@ loc_76356: loc_76376:
jsr (MoveSprite_CustomGravity).l
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$40,d0
cmp.w $14(a0),d0
bcs.s loc_763A4
@@ -162127,7 +162168,7 @@ loc_763A4: ; ---------------------------------------------------------------------------
loc_763B2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.w #$4778,$10(a1)
bcc.s loc_763C4
jmp (loc_86334).l
@@ -162135,26 +162176,26 @@ loc_763B2: loc_763C4:
move.l #loc_763D8,(a0)
- clr.w ($FFFFF602).w
- lea ($FFFFB000).w,a1
+ clr.w (Ctrl_1_logical).w
+ lea (Player_1).w,a1
jmp (Stop_Object).l
; ---------------------------------------------------------------------------
loc_763D8:
- move.w #$101,($FFFFF602).w
- move.w #$101,($FFFFF606).w
+ move.w #$101,(Ctrl_1_logical).w
+ move.w #$101,(Ctrl_2).w
tst.b ($FFFFFAA9).w
beq.w locret_76060
move.l #loc_76404,(a0)
- move.w #$2020,($FFFFF602).w
- lea ($FFFFB000).w,a1
+ move.w #$2020,(Ctrl_1_logical).w
+ lea (Player_1).w,a1
move.w #$200,$18(a1)
rts
; ---------------------------------------------------------------------------
loc_76404:
- move.w #$2000,($FFFFF602).w
- lea ($FFFFB000).w,a1
+ move.w #$2000,(Ctrl_1_logical).w
+ lea (Player_1).w,a1
tst.w $1A(a1)
bmi.w locret_76060
move.l #loc_76456,(a0)
@@ -162185,7 +162226,7 @@ loc_7645E: loc_7646E:
move.l #loc_76492,(a0)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.b #-$7F,$2E(a1)
move.b #$20,$20(a1)
bclr #0,4(a1)
@@ -162194,7 +162235,7 @@ loc_7646E: ; ---------------------------------------------------------------------------
loc_76492:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
addq.w #1,$10(a1)
subq.w #1,$14(a1)
rts
@@ -162275,22 +162316,22 @@ loc_76574: move.l #Go_Delete_Sprite,$34(a0)
movea.w $46(a0),a1
bset #2,$38(a1)
- lea ($FFFFFC00).w,a1
- lea ($FFFFFC80).w,a2
+ lea (Normal_palette).w,a1
+ lea (Target_palette).w,a2
moveq #7,d6
loc_7659C:
move.l (a1)+,(a2)+
dbf d6,loc_7659C
lea (Pal_MHZEndBoss).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_765AE:
move.l (a1)+,(a2)+
dbf d6,loc_765AE
lea (Pal_MHZ1+$20).l,a1
- lea ($FFFFFCC0).w,a2
+ lea (Target_palette_line_3).w,a2
moveq #$F,d6
loc_765C0:
@@ -162501,10 +162542,10 @@ loc_767B0: bset #6,$2A(a0)
clr.b $28(a0)
clr.b $28(a4)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b $1C(a0)
beq.s loc_767E4
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
loc_767E4:
clr.w $18(a1)
@@ -162585,7 +162626,7 @@ word_76882: dc.w $E42 ; ---------------------------------------------------------------------------
loc_76896:
- cmpi.w #$4010,($FFFFEE78).w
+ cmpi.w #$4010,(Camera_X_pos).w
bcs.w locret_76060
lea (ArtKosM_MHZEndBossSpikes).l,a1
move.w #$75E0,d2
@@ -162604,22 +162645,22 @@ loc_768B6: loc_768D2:
moveq #0,d0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #0,$2A(a1)
bclr #2,$2A(a1)
btst #1,$2A(a1)
bne.s locret_768FC
move.l #loc_768FE,(a0)
move.w #$55,($FFFFEEC6).w
- st ($FFFFF7CA).w
+ st (Ctrl_1_locked).w
locret_768FC:
rts
; ---------------------------------------------------------------------------
loc_768FE:
- move.w #$808,($FFFFF602).w
- lea ($FFFFB000).w,a1
+ move.w #$808,(Ctrl_1_logical).w
+ lea (Player_1).w,a1
cmpi.w #$4600,$10(a1)
bcc.s loc_76912
rts
@@ -162628,7 +162669,7 @@ loc_768FE: loc_76912:
move.w #$4600,$10(a1)
jsr (Stop_Object).l
- clr.w ($FFFFF602).w
+ clr.w (Ctrl_1_logical).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
ObjDat3_76928: dc.l Map_RobotnikShip
@@ -162745,14 +162786,14 @@ Obj_SOZ_Miniboss: move.w #$439D,$10(a0)
move.w #$9F7,$14(a0)
lea (Pal_SOZMinibossFade).l,a1
- lea ($FFFFFC20).w,a2
+ lea (Normal_palette_line_2).w,a2
moveq #7,d6
loc_76A30:
move.l (a1)+,(a2)+
dbf d6,loc_76A30
lea (Pal_SOZMinibossMain).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_76A42:
@@ -163111,7 +163152,7 @@ loc_76E0A: loc_76E1C:
bset #5,$38(a0)
bset #7,$2A(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$A0,d0
move.w d0,$10(a0)
bclr #7,4(a0)
@@ -163134,7 +163175,7 @@ loc_76E5C: move.l #loc_76E94,(a0)
lea ChildObjDat_773F4(pc),a2
jsr (CreateChild1_Normal).l
- st ($FFFFF7CA).w
+ st (Ctrl_1_locked).w
jsr (Create_New_Sprite).l
bne.s loc_76E86
move.l #loc_863C0,(a1)
@@ -163146,8 +163187,8 @@ loc_76E86: loc_76E94:
- lea ($FFFFF602).w,a1
- lea ($FFFFB000).w,a2
+ lea (Ctrl_1_logical).w,a1
+ lea (Player_1).w,a2
move.w #$43A0,d0
tst.w $18(a0)
btst #3,$38(a0)
@@ -163595,11 +163636,11 @@ loc_77364: clr.w $18(a0)
move.w #$40,$1A(a0)
move.w #$BF,$2E(a0)
- clr.b ($FFFFFE1E).w
- move.w ($FFFFEE14).w,($FFFFFA94).w
- move.w ($FFFFEE16).w,($FFFFFA92).w
- move.w ($FFFFEE78).w,($FFFFEE14).w
- move.w ($FFFFEE78).w,($FFFFEE16).w
+ clr.b (Update_HUD_timer).w
+ move.w (Camera_min_X_pos).w,($FFFFFA94).w
+ move.w (Camera_max_X_pos).w,($FFFFFA92).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
+ move.w (Camera_X_pos).w,(Camera_max_X_pos).w
lea (Child6_CreateBossExplosion).l,a2
jsr (CreateChild6_Simple).l
bne.s locret_773AA
@@ -163750,7 +163791,7 @@ loc_7767C: lea Pal_SOZEndBoss1(pc),a1
jsr (PalLoad_Line1).l
lea (Pal_SOZEndBoss2).l,a1
- lea ($FFFFFC60).w,a2
+ lea (Normal_palette_line_4).w,a2
moveq #7,d6
loc_776C6:
@@ -163765,7 +163806,7 @@ loc_776C6: ; ---------------------------------------------------------------------------
loc_776EA:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
cmpi.w #$C0,d2
bcc.s locret_7770E
@@ -163908,7 +163949,7 @@ loc_77894: ; ---------------------------------------------------------------------------
loc_7789A:
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
jsr (Swing_UpAndDown).l
subq.w #1,$14(a0)
move.w $18(a0),d0
@@ -163920,7 +163961,7 @@ loc_7789A: loc_778BC:
move.w d0,$18(a0)
jsr (MoveSprite2).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$1A0,d0
cmp.w $10(a0),d0
bcs.s loc_778DA
@@ -163936,16 +163977,16 @@ loc_778DA: ; ---------------------------------------------------------------------------
loc_778F2:
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
tst.b ($FFFFFAA8).w
bne.w locret_77AF6
move.l #loc_77966,(a0)
jsr (Restore_PlayerControl).l
jsr (Obj_PlayLevelMusic).l
- clr.w ($FFFFF602).w
- st ($FFFFF7CA).w
+ clr.w (Ctrl_1_logical).w
+ st (Ctrl_1_locked).w
clr.w $2E(a0)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
jsr (Create_New_Sprite).l
bne.s loc_77936
@@ -163957,8 +163998,8 @@ loc_77936: move.l #loc_863C0,(a1)
loc_77944:
- move.w #-$100,($FFFFEE18).w
- move.w #$800,($FFFFEE12).w
+ move.w #-$100,(Camera_min_Y_pos).w
+ move.w #$800,(Camera_target_max_Y_pos).w
move.w #$5440,($FFFFFA92).w
jsr (Create_New_Sprite).l
bne.s locret_77964
@@ -163969,12 +164010,12 @@ locret_77964: ; ---------------------------------------------------------------------------
loc_77966:
- cmpi.w #$700,($FFFFEE12).w
+ cmpi.w #$700,(Camera_target_max_Y_pos).w
bcs.s loc_77974
- move.w #$800,($FFFFEE1A).w
+ move.w #$800,(Camera_max_Y_pos).w
loc_77974:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.w #$5468,$10(a1)
bcc.s loc_77986
jmp (loc_86334).l
@@ -164000,7 +164041,7 @@ loc_779B8: loc_779C0:
jsr (MoveSprite2).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $14(a0),$14(a1)
move.w $10(a0),d0
move.w #$54C0,d1
@@ -164011,7 +164052,7 @@ loc_779C0: clr.w $18(a0)
clr.w $1A(a0)
move.w d1,d0
- st ($FFFFEE39).w
+ st (Fast_V_scroll_flag).w
move.w #$7F,$2E(a0)
loc_779FC:
@@ -164026,7 +164067,7 @@ loc_77A02: loc_77A10:
jsr (MoveSprite).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
subq.w #1,$2E(a0)
@@ -164042,7 +164083,7 @@ loc_77A2E: loc_77A3E:
jsr (MoveSprite2).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $14(a0),$14(a1)
move.w $10(a0),d0
move.w d0,$10(a1)
@@ -164061,15 +164102,15 @@ loc_77A6E: btst #0,($FFFFFAB8).w
beq.w locret_77AF6
move.l #loc_77A98,(a0)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #7,$A(a1)
move.b #-$7F,$2E(a1)
move.b #$1A,$20(a1)
- clr.b ($FFFFF7CB).w
+ clr.b (Ctrl_2_locked).w
loc_77A98:
- lea ($FFFFB000).w,a1
- lea ($FFFFB04A).w,a2
+ lea (Player_1).w,a1
+ lea (Player_2).w,a2
move.w $10(a1),$10(a2)
move.w $14(a1),d0
subi.w #$20,d0
@@ -164489,7 +164530,7 @@ loc_77F3E: jsr (SetUp_ObjAttributes2).l
move.l #loc_77F94,(a0)
move.w #7,$2E(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),d0
sub.w $10(a1),d0
bpl.s loc_77F64
@@ -164630,10 +164671,10 @@ sub_7808C: sub_780AC:
swap d6
moveq #0,d0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_780BE
moveq #1,d0
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; End of function sub_780AC
@@ -164682,11 +164723,11 @@ sub_78120: swap d6
moveq #0,d0
moveq #3,d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_78136
moveq #1,d0
moveq #4,d1
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; End of function sub_78120
@@ -164721,10 +164762,10 @@ sub_7815A: bne.s locret_78198
swap d6
moveq #0,d0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_78178
moveq #1,d0
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; End of function sub_7815A
@@ -164822,8 +164863,8 @@ loc_78230: move.w #$55,($FFFFEEC6).w
lea (Child6_CreateBossExplosion).l,a2
jsr (CreateChild6_Simple).l
- move.w ($FFFFEE78).w,d0
- move.w d0,($FFFFEE14).w
+ move.w (Camera_X_pos).w,d0
+ move.w d0,(Camera_min_X_pos).w
jmp (BossDefeated_StopTimer).l
; =============== S U B R O U T I N E =======================================
@@ -164849,6 +164890,7 @@ word_78276: dc.w $6E dc.w 2
dc.w $AAA
dc.w $CCC
+
dc.w $CCC
dc.w $EEE
dc.w $EEE
@@ -165040,7 +165082,7 @@ loc_78562: ; ---------------------------------------------------------------------------
loc_78592:
- tst.l ($FFFFF680).w
+ tst.l (Nem_decomp_queue).w
bne.w locret_78536
move.b #4,5(a0)
move.w #$2F,$2E(a0)
@@ -165115,7 +165157,7 @@ sub_7867C: move.b ($FFFFFE0F).w,d0
andi.w #$F,d0
bne.s locret_786A0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
clr.w $18(a0)
cmpi.w #8,d2
@@ -165507,9 +165549,9 @@ loc_78AE0: jsr (Run_PalRotationScript).l
loc_78AE6:
- cmpi.w #$940,($FFFFEE78).w
+ cmpi.w #$940,(Camera_X_pos).w
bcs.w locret_78536
- move.w #$940,($FFFFEE14).w
+ move.w #$940,(Camera_min_X_pos).w
clr.w ($FFFFF634).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -165520,11 +165562,11 @@ loc_78B00: ; ---------------------------------------------------------------------------
loc_78B08:
- cmpi.w #$2C0,($FFFFEE78).w
+ cmpi.w #$2C0,(Camera_X_pos).w
bcs.w locret_78536
- move.w #$2C0,($FFFFEE14).w
+ move.w #$2C0,(Camera_min_X_pos).w
lea (Pal_LRZ2).l,a1
- lea ($FFFFFC20).w,a2
+ lea (Normal_palette_line_2).w,a2
moveq #7,d6
loc_78B24:
@@ -165539,7 +165581,7 @@ loc_78B24: sub_78B38:
- lea ($FFFFFC40).w,a2
+ lea (Normal_palette_line_3).w,a2
moveq #$F,d0
loc_78B3E:
@@ -165635,9 +165677,9 @@ sub_78BEE: move.w #$120,d0
loc_78BFE:
- add.w ($FFFFEE78).w,d0
+ add.w (Camera_X_pos).w,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$1B8,d0
move.w d0,$14(a0)
rts
@@ -165907,10 +165949,10 @@ Obj_9E_2: ; ---------------------------------------------------------------------------
loc_78F82:
- st ($FFFFF7CA).w
- st ($FFFFF7CB).w
- clr.w ($FFFFF602).w
- clr.w ($FFFFF66A).w
+ st (Ctrl_1_locked).w
+ st (Ctrl_2_locked).w
+ clr.w (Ctrl_1_logical).w
+ clr.w (Ctrl_2_logical).w
subq.w #1,$2E(a0)
bpl.s locret_78FAC
move.l #loc_78FAE,(a0)
@@ -165927,8 +165969,8 @@ loc_78FAE: btst #0,($FFFFFAB8).w
beq.s locret_78FAC
move.l #loc_79002,(a0)
- clr.b ($FFFFF7CA).w
- clr.b ($FFFFF7CB).w
+ clr.b (Ctrl_1_locked).w
+ clr.b (Ctrl_2_locked).w
lea ObjDat3_795D2(pc),a1
jsr (SetUp_ObjAttributes).l
clr.b 5(a0)
@@ -166021,7 +166063,7 @@ byte_790D0: dc.b 1, 8 ; ---------------------------------------------------------------------------
loc_790D8:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$120,d0
cmp.w $10(a0),d0
bcc.s loc_790E8
@@ -166292,15 +166334,15 @@ loc_79416: move.w #$F,$2E(a0)
moveq #-$61,d0
jsr (Play_Sound_2).l
- lea ($FFFFFC00).w,a1
- lea ($FFFFFC80).w,a2
+ lea (Normal_palette).w,a1
+ lea (Target_palette).w,a2
moveq #7,d6
loc_7943A:
move.l (a1)+,(a2)+
dbf d6,loc_7943A
lea (Pal_LRZBossFire).l,a1
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #$17,d6
loc_7944C:
@@ -166640,7 +166682,7 @@ Obj_LRZEndBoss: loc_797C6:
btst #0,($FFFFFA88).w
beq.w locret_797F8
- move.b #1,($FFFFF7AA).w
+ move.b #1,(Boss_flag).w
move.l #Obj_Wait,(a0)
move.w #$78,$2E(a0)
move.l #loc_797EC,$34(a0)
@@ -166808,7 +166850,7 @@ loc_79998: ori.b #$30,$38(a0)
bclr #7,4(a0)
st ($FFFFFAA8).w
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
jsr (Create_New_Sprite).l
bne.s loc_799C6
move.l #Obj_81,(a1)
@@ -166836,9 +166878,9 @@ loc_799E0: loc_79A08:
jsr (Restore_PlayerControl).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
- clr.w ($FFFFF602).w
+ clr.w (Ctrl_1_logical).w
move.w #$EC0,($FFFFFA92).w
jsr (Create_New_Sprite).l
bne.s loc_79A30
@@ -167444,11 +167486,11 @@ word_7A038: dc.w $FFC0, $80, $FFC0, $80 sub_7A040:
move.w $10(a0),d0
- sub.w ($FFFFEE78).w,d0
+ sub.w (Camera_X_pos).w,d0
cmpi.w #$140,d0
bcc.s loc_7A060
move.w $14(a0),d0
- sub.w ($FFFFEE7C).w,d0
+ sub.w (Camera_Y_pos).w,d0
cmpi.w #$E0,d0
bcc.s loc_7A060
moveq #1,d0
@@ -167655,7 +167697,7 @@ Pal_LRZEndBoss: binclude "Levels\LRZ\Palettes\End Boss.bin" Obj_SSZGHZBoss:
move.l #Obj_Wait,(a0)
- move.b #1,($FFFFF7AA).w
+ move.b #1,(Boss_flag).w
move.w #$1F,$2E(a0)
move.l #loc_7A294,$34(a0)
moveq #-$1F,d0
@@ -167666,10 +167708,10 @@ Obj_SSZGHZBoss: move.b #$19,$2C(a1)
loc_7A244:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$110,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$40,d0
move.w d0,$14(a0)
clr.w ($FFFFFA88).w
@@ -167678,8 +167720,8 @@ loc_7A244: lea (ArtKosM_SSZGHZMisc).l,a1
move.w #-$7300,d2
jsr (Queue_Kos_Module).l
- lea ($FFFFFC20).w,a1
- lea ($FFFFFCA0).w,a2
+ lea (Normal_palette_line_2).w,a1
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_7A282:
@@ -167746,7 +167788,7 @@ loc_7A2FC: loc_7A32C:
jsr (Swing_UpAndDown).l
jsr (MoveSprite2).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$A0,d0
cmp.w $10(a0),d0
bcs.s locret_7A35C
@@ -167813,12 +167855,12 @@ loc_7A3E6: ; ---------------------------------------------------------------------------
loc_7A3F8:
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
bset #4,$38(a0)
st ($FFFFFA89).w
st ($FFFFEED2).w
- lea ($FFFFFCA0).w,a1
- lea ($FFFFFC20).w,a2
+ lea (Target_palette_line_2).w,a1
+ lea (Normal_palette_line_2).w,a2
moveq #7,d6
loc_7A414:
@@ -168113,7 +168155,7 @@ ChildObjDat_7A69E:dc.w 0 Obj_SSZMTZBoss:
move.l #Obj_Wait,(a0)
- move.b #1,($FFFFF7AA).w
+ move.b #1,(Boss_flag).w
move.w #$1F,$2E(a0)
move.l #loc_7A712,$34(a0)
moveq #-$1F,d0
@@ -168130,8 +168172,8 @@ loc_7A6DC: lea (ArtKosM_SSZMTZOrbs).l,a1
move.w #$83E0,d2
jsr (Queue_Kos_Module).l
- lea ($FFFFFC20).w,a1
- lea ($FFFFFCA0).w,a2
+ lea (Normal_palette_line_2).w,a1
+ lea (Target_palette_line_2).w,a2
moveq #7,d6
loc_7A702:
@@ -168672,12 +168714,12 @@ loc_7AC92: ; ---------------------------------------------------------------------------
loc_7ACA4:
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
bset #4,$38(a0)
st ($FFFFFA89).w
st ($FFFFEED4).w
- lea ($FFFFFCA0).w,a1
- lea ($FFFFFC20).w,a2
+ lea (Target_palette_line_2).w,a1
+ lea (Normal_palette_line_2).w,a2
moveq #7,d6
loc_7ACC0:
@@ -169319,8 +169361,8 @@ loc_7B2DC: lea ObjDat4_7D3EA(pc),a1
jsr (SetUp_ObjAttributesSlotted).l
move.b #8,$29(a0)
- move.l ($FFFFFE0C).w,($FFFFF636).w
- tst.b ($FFFFFE11).w
+ move.l (V_int_run_count).w,(RNG_seed).w
+ tst.b (Current_act).w
beq.s loc_7B308
move.w #$220,$10(a0)
move.w #$4A0,$14(a0)
@@ -169334,14 +169376,14 @@ loc_7B308: bset #2,$38(a0)
lea ChildObjDat_7D47A(pc),a2
jsr (CreateChild6_Simple).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$20,d0
move.w d0,($FFFFFAB4).w
addi.w #$100,d0
move.w d0,($FFFFFAB6).w
addi.w #$40,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$30,d0
move.w d0,($FFFFFAB0).w
addi.w #$70,d0
@@ -169355,7 +169397,7 @@ loc_7B35A: jsr (Load_PLC_Raw).l
lea (Pal_SSZGHZMisc).l,a1
jsr (PalLoad_Line1).l
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
bne.s loc_7B39C
jsr (Create_New_Sprite).l
bne.s loc_7B39C
@@ -169374,12 +169416,12 @@ loc_7B3AC: beq.w locret_7B448
move.b #$14,5(a0)
move.b #2,$3B(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$20,d0
move.w d0,($FFFFFAB4).w
addi.w #$100,d0
move.w d0,($FFFFFAB6).w
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$30,d0
move.w d0,($FFFFFAB0).w
bra.w loc_7B57A
@@ -169387,7 +169429,7 @@ loc_7B3AC: loc_7B3E6:
jsr (MoveSprite2).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
subi.w #$20,d0
cmp.w $10(a0),d0
bcs.s locret_7B414
@@ -169407,7 +169449,7 @@ loc_7B416: loc_7B41C:
move.b #8,5(a0)
bset #0,4(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$40,d0
move.w d0,$14(a0)
move.w #$400,$18(a0)
@@ -169521,7 +169563,7 @@ loc_7B57A: move.b #$14,5(a0)
move.l #byte_7D541,$30(a0)
move.l #loc_7B5E8,$34(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$A0,d0
bset #0,4(a0)
cmp.w $10(a0),d0
@@ -169816,7 +169858,7 @@ loc_7B888: jsr (CreateChild6_Simple).l
moveq #-$6A,d0
jsr (Play_Sound_2).l
- tst.b ($FFFFFE11).w
+ tst.b (Current_act).w
bne.s loc_7B8E6
move.b #4,5(a0)
st ($FFFFFAA8).w
@@ -169840,13 +169882,13 @@ loc_7B8E6: move.l #loc_7B996,$34(a0)
moveq #-$1F,d0
jsr (Play_Sound).l
- st ($FFFFF7CB).w
+ st (Ctrl_2_locked).w
rts
; ---------------------------------------------------------------------------
loc_7B916:
move.l #loc_7BC32,(a0)
- clr.b ($FFFFFE1E).w
+ clr.b (Update_HUD_timer).w
move.w #$BF,$2E(a0)
jsr (Create_New_Sprite).l
bne.s loc_7B934
@@ -169889,7 +169931,7 @@ loc_7B984: loc_7B996:
move.b #$A,5(a0)
- move.b #1,($FFFFFE1E).w
+ move.b #1,(Update_HUD_timer).w
clr.b $2A(a0)
clr.b $38(a0)
ori.b #$50,$38(a0)
@@ -169942,13 +169984,13 @@ loc_7BA28: loc_7BA38:
move.b #$10,5(a0)
- clr.w ($FFFFF602).w
- st ($FFFFF7CA).w
- lea ($FFFFB000).w,a1
+ clr.w (Ctrl_1_logical).w
+ st (Ctrl_1_locked).w
+ lea (Player_1).w,a1
jsr (Stop_Object).l
- move.w ($FFFFEE16).w,d0
+ move.w (Camera_max_X_pos).w,d0
addi.w #$140,d0
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_max_X_pos).w
addi.w #$100,d0
move.w d0,($FFFFFAB6).w
move.w #$600,$18(a0)
@@ -170013,9 +170055,9 @@ loc_7BB06: ; ---------------------------------------------------------------------------
loc_7BB20:
- move.w ($FFFFEE14).w,d0
+ move.w (Camera_min_X_pos).w,d0
addi.w #$A0,d0
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_min_X_pos).w
addi.w #$10,d0
move.w d0,($FFFFFA82).w
addi.w #$50,d0
@@ -170061,7 +170103,7 @@ loc_7BBAC: loc_7BBC6:
move.b #$18,5(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
clr.b $2A(a1)
clr.b $3D(a1)
move.w #$782,$3E(a1)
@@ -170071,17 +170113,17 @@ loc_7BBC6: loc_7BBE0:
jsr (Run_PalRotationScript).l
bchg #6,($FFFFFAB8).w
- move.w #$808,($FFFFF602).w
- lea ($FFFFB000).w,a1
+ move.w #$808,(Ctrl_1_logical).w
+ lea (Player_1).w,a1
move.w $10(a1),d0
move.w ($FFFFFA8A).w,d1
addi.w #$10,d1
cmp.w d1,d0
bcs.w locret_7B448
- clr.b ($FFFFEE0A).w
- clr.w ($FFFFEE24).w
- clr.w ($FFFFF602).w
- clr.b ($FFFFF7CA).w
+ clr.b (Scroll_lock).w
+ clr.w (H_scroll_frame_offset).w
+ clr.w (Ctrl_1_logical).w
+ clr.b (Ctrl_1_locked).w
bsr.w sub_7D150
move.l #Obj_SSZ2_Boss,(a0)
move.b #8,$29(a0)
@@ -170112,8 +170154,8 @@ loc_7BC70: bset #5,$38(a0)
clr.w $3A(a0)
move.b #4,$39(a0)
- lea ($FFFFFC00).w,a1
- lea ($FFFFFC80).w,a2
+ lea (Normal_palette).w,a1
+ lea (Target_palette).w,a2
moveq #$1F,d6
loc_7BC90:
@@ -170138,13 +170180,13 @@ loc_7BCB0: move.w #$77,$2E(a0)
st ($FFFFFAA2).w
st ($FFFFEEC5).w
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #-$7D,$2E(a1)
clr.b $22(a1)
bclr #3,$2A(a1)
clr.b $40(a1)
clr.b $3D(a1)
- st ($FFFFEF56).w
+ st (SRAM_mask_interrupts_flag).w
jmp (SaveGame).l
; ---------------------------------------------------------------------------
@@ -170152,7 +170194,7 @@ loc_7BCFC: bsr.w sub_7BD30
subq.w #1,$2E(a0)
bpl.w locret_7B448
- move.w #3,($FFFFFF08).w
+ move.w #3,(Player_mode).w
jsr (Create_New_Sprite).l
bne.s loc_7BD1C
move.l #loc_5E6C0,(a1)
@@ -170291,8 +170333,8 @@ loc_7BE4E: bsr.w sub_7C678
move.w #$3F,$2E(a0)
move.l #loc_7BEA8,$34(a0)
- lea ($FFFFFC00).w,a1
- lea ($FFFFFC80).w,a2
+ lea (Normal_palette).w,a1
+ lea (Target_palette).w,a2
moveq #$1F,d6
loc_7BE7E:
@@ -170494,11 +170536,11 @@ loc_7C06E: move.l #loc_7C12E,$34(a0)
moveq #$3C,d0
jsr (Play_Sound_2).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #0,d0
move.w $10(a1),d0
moveq #0,d1
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
addi.w #$B0,d1
moveq #3,d5
jsr (sub_861D0).l
@@ -171131,14 +171173,14 @@ loc_7C818: lea ObjDat3_7D450(pc),a1
jsr SetUp_ObjAttributes(pc)
- move.w ($FFFFEE16).w,d0
+ move.w (Camera_max_X_pos).w,d0
addi.w #$100,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$A8,d0
move.w d0,$14(a0)
move.l #loc_7C864,(a0)
- lea ($FFFFFFB2).w,a1
+ lea (Collected_emeralds_array).w,a1
moveq #3,d0
moveq #6,d1
@@ -171301,31 +171343,31 @@ loc_7C9E2: ; ---------------------------------------------------------------------------
loc_7C9E8:
- move.b #1,($FFFFEE0A).w
+ move.b #1,(Scroll_lock).w
move.l #loc_7C9F6,(a0)
rts
; ---------------------------------------------------------------------------
loc_7C9F6:
bsr.w sub_7D150
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
move.w $18(a0),d1
- move.w ($FFFFEE16).w,d2
+ move.w (Camera_max_X_pos).w,d2
addq.w #6,d0
cmp.w d2,d0
bcc.s loc_7CA12
- move.w d0,($FFFFEE78).w
+ move.w d0,(Camera_X_pos).w
rts
; ---------------------------------------------------------------------------
loc_7CA12:
- move.w d2,($FFFFEE78).w
+ move.w d2,(Camera_X_pos).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
Obj_B2_2:
move.l #loc_7CA3A,(a0)
- move.w ($FFFFEE14).w,($FFFFEE16).w
+ move.w (Camera_min_X_pos).w,(Camera_max_X_pos).w
lea PLC_7CA32(pc),a1
jmp (Load_PLC_Raw).l
; ---------------------------------------------------------------------------
@@ -171335,7 +171377,7 @@ PLC_7CA32: dc.w 0 ; ---------------------------------------------------------------------------
loc_7CA3A:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1)
beq.w locret_7B448
move.l #loc_7CAAA,(a0)
@@ -171424,7 +171466,7 @@ loc_7CB64: subq.w #1,$2E(a0)
bne.s loc_7CB94
move.l #loc_7CBA4,(a0)
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
jsr (Create_New_Sprite).l
bne.s loc_7CB82
move.l #loc_7D11C,(a1)
@@ -171487,7 +171529,7 @@ loc_7CC26: loc_7CC3A:
move.l #loc_7CC68,(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),$10(a0)
move.w $14(a1),$14(a0)
move.b #-$40,$22(a1)
@@ -171497,7 +171539,7 @@ loc_7CC3A: loc_7CC68:
jsr (MoveSprite2).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.w $10(a0),d0
@@ -171515,19 +171557,19 @@ loc_7CC68: loc_7CCB0:
subq.w #1,$2E(a0)
bne.s loc_7CCC6
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #-$35,$22(a1)
jsr (Player_Load_PLC).l
loc_7CCC6:
jsr (MoveSprite).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
jsr (ObjHitFloor).l
tst.w d1
bpl.w locret_7B448
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
add.w d1,$14(a1)
clr.b $2E(a1)
jsr Stop_Object(pc)
@@ -171555,7 +171597,7 @@ loc_7CD36: move.b $43(a0),$3A(a0)
loc_7CD42:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $14(a1),d0
subi.w #$10,d0
cmp.w $14(a0),d0
@@ -171580,7 +171622,7 @@ loc_7CD82: movea.w $46(a0),a1
move.w $14(a1),d1
add.w d0,d1
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $14(a1),d2
subi.w #$10,d2
sub.w d1,d2
@@ -171644,7 +171686,7 @@ loc_7CE42: jsr (Refresh_ChildPositionAdjusted).l
btst #5,($FFFFFAB8).w
bne.s loc_7CE66
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),$10(a1)
move.w $14(a0),d0
addi.w #$16,d0
@@ -171726,10 +171768,10 @@ loc_7CF14: move.b $2C(a0),d0
subq.b #2,d0
bpl.s loc_7CF4E
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$A0,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$D0,d0
move.w d0,$14(a0)
lea (Child6_CreateBossExplosion).l,a2
@@ -171765,7 +171807,7 @@ loc_7CF7C: move.w $10(a0),d1
add.w d0,d1
move.w d1,$10(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
subi.w #$10,d0
cmp.w d0,d1
bcs.w loc_7C8F8
@@ -171814,7 +171856,7 @@ Obj_Difficulty_7CFF0: move.b $2C(a0),d0
move.w word_7D03E(pc,d0.w),$14(a0)
move.l #loc_7D042,(a0)
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
beq.s locret_7D03C
move.l #loc_7D050,(a0)
@@ -171854,7 +171896,7 @@ loc_7D078: tst.b ($FFFFFAA8).w
bne.w locret_7B448
jsr (Restore_PlayerControl).l
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -171867,7 +171909,7 @@ loc_7D0A8: subq.w #1,$2E(a0)
bpl.s locret_7D0CA
move.w #5,$2E(a0)
- lea ($FFFFFC00).w,a1
+ lea (Normal_palette).w,a1
moveq #$3F,d0
loc_7D0BA:
@@ -171892,8 +171934,8 @@ loc_7D0E0: subq.w #1,$2E(a0)
bpl.s locret_7D0CA
move.w #3,$2E(a0)
- lea ($FFFFFC00).w,a1
- lea ($FFFFFC80).w,a2
+ lea (Normal_palette).w,a1
+ lea (Target_palette).w,a2
moveq #$3F,d0
loc_7D0F6:
@@ -171901,8 +171943,8 @@ loc_7D0F6: dbf d0,loc_7D0F6
subq.b #1,$39(a0)
bpl.s locret_7D0CA
- lea ($FFFFFC80).w,a1
- lea ($FFFFFC00).w,a2
+ lea (Target_palette).w,a1
+ lea (Normal_palette).w,a2
moveq #$1F,d6
loc_7D110:
@@ -171913,19 +171955,19 @@ loc_7D110: loc_7D11C:
move.w #$100,d0
- cmp.w ($FFFFEE78).w,d0
+ cmp.w (Camera_X_pos).w,d0
bls.s loc_7D134
- addq.w #1,($FFFFEE78).w
- addq.w #1,($FFFFEE14).w
- addq.w #1,($FFFFEE16).w
+ addq.w #1,(Camera_X_pos).w
+ addq.w #1,(Camera_min_X_pos).w
+ addq.w #1,(Camera_max_X_pos).w
rts
; ---------------------------------------------------------------------------
loc_7D134:
- move.w d0,($FFFFEE78).w
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE16).w
- clr.b ($FFFFEE0A).w
+ move.w d0,(Camera_X_pos).w
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_max_X_pos).w
+ clr.b (Scroll_lock).w
bset #4,($FFFFFAB8).w
jmp (Delete_Current_Sprite).l
@@ -171934,7 +171976,7 @@ loc_7D134: sub_7D150:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
clr.w $18(a1)
clr.w $1A(a1)
clr.w $1C(a1)
@@ -172035,7 +172077,7 @@ locret_7D1D0: sub_7D1EA:
move.w ($FFFFB010).w,d0
- sub.w ($FFFFEE14).w,d0
+ sub.w (Camera_min_X_pos).w,d0
move.w d0,d1
subi.w #$F0,d1
scc d3
@@ -172279,7 +172321,7 @@ sub_7D35A: clr.b 5(a0)
move.l #loc_7B858,$34(a0)
bset #6,$2A(a0)
- clr.b ($FFFFFE1E).w
+ clr.b (Update_HUD_timer).w
move.w #$7F,$2E(a0)
moveq #$64,d0
jsr (HUD_AddToScore).l
@@ -172298,9 +172340,9 @@ locret_7D39C: loc_7D39E:
bset #7,$38(a0)
bsr.s sub_7D35A
- move.w ($FFFFEE78).w,d0
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE16).w
+ move.w (Camera_X_pos).w,d0
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_max_X_pos).w
lea (Pal_SSZGHZMisc).l,a1
jmp (PalLoad_Line1).l
@@ -173249,7 +173291,7 @@ loc_7E1FC: move.w d0,$14(a0)
move.b #0,5(a0)
bclr #6,$38(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr Find_OtherObject(pc)
move.w #-$80,d1
tst.w d0
@@ -173285,7 +173327,7 @@ loc_7E26A: tst.b ($FFFFFAA8).w
bne.w locret_7DE44
move.l #loc_7E298,(a0)
- st ($FFFFF7CA).w
+ st (Ctrl_1_locked).w
jsr (Create_New_Sprite).l
bne.s loc_7E28A
move.l #loc_863C0,(a1)
@@ -173297,7 +173339,7 @@ loc_7E28A: loc_7E298:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #$140,d0
tst.w $18(a0)
btst #3,$38(a0)
@@ -173311,7 +173353,7 @@ loc_7E298: loc_7E2C0:
ori.w #$808,d1
- move.w d1,($FFFFF602).w
+ move.w d1,(Ctrl_1_logical).w
rts
; ---------------------------------------------------------------------------
@@ -173325,7 +173367,7 @@ loc_7E2CA: loc_7E2DE:
ori.w #$404,d1
- move.w d1,($FFFFF602).w
+ move.w d1,(Ctrl_1_logical).w
rts
; ---------------------------------------------------------------------------
@@ -173334,7 +173376,7 @@ loc_7E2E8: move.w d0,$10(a1)
move.l #loc_7E342,(a0)
jsr Stop_Object(pc)
- clr.w ($FFFFF602).w
+ clr.w (Ctrl_1_logical).w
move.w #$1F,$2E(a0)
jsr (Create_New_Sprite).l
bne.s loc_7E320
@@ -173380,7 +173422,7 @@ locret_7E382: ; ---------------------------------------------------------------------------
loc_7E384:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.w #$360,$14(a1)
bcs.s locret_7E3C8
btst #1,$2A(a1)
@@ -173416,7 +173458,7 @@ loc_7E3EC: bpl.s loc_7E416
move.l #loc_7E420,(a0)
move.w #-$1000,$1A(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),$10(a0)
move.w $14(a1),$14(a0)
moveq #-$61,d0
@@ -173433,7 +173475,7 @@ loc_7E420: bmi.s loc_7E44C
move.l #loc_7E44C,(a0)
jsr (sub_5FD88).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #0,4(a1)
bclr #0,$2A(a1)
move.w #$500,$20(a1)
@@ -173444,7 +173486,7 @@ loc_7E44C: tst.w $1A(a0)
bmi.s loc_7E490
move.w #$3AC,d0
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_7E468
move.w #$3B0,d0
@@ -173461,7 +173503,7 @@ loc_7E468: loc_7E490:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
rts
@@ -173471,15 +173513,15 @@ loc_7E4A2: subq.w #1,$2E(a0)
bpl.w locret_7DE44
lea (Pal_DEZMiniboss2).l,a1
- lea ($FFFFFC20).w,a2
+ lea (Normal_palette_line_2).w,a2
moveq #7,d6
loc_7E4B6:
move.l (a1)+,(a2)+
dbf d6,loc_7E4B6
clr.b ($FFFFB02E).w
- clr.b ($FFFFF7CA).w
- clr.b ($FFFFF7CB).w
+ clr.b (Ctrl_1_locked).w
+ clr.b (Ctrl_2_locked).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -174179,7 +174221,7 @@ sub_7EB8E: move.b ($FFFFFE0F).w,d0
andi.w #$1F,d0
bne.s locret_7EBB8
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
move.w $26(a0),d1
tst.w d0
@@ -174636,7 +174678,7 @@ loc_7EF00: move.w d0,$3C(a0)
moveq #0,d0
move.b $3C(a0),d0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b byte_7EF2E(pc,d0.w),$22(a1)
andi.b #-4,4(a1)
move.b byte_7EF3A(pc,d0.w),d0
@@ -174855,7 +174897,7 @@ loc_7F10E: move.l #loc_7F15A,$34(a0)
lea ChildObjDat_7FC9A(pc),a2
jsr CreateChild6_Simple(pc)
- tst.l ($FFFFB04A).w
+ tst.l (Player_2).w
beq.s locret_7F14E
lea ChildObjDat_7FC9A(pc),a2
jsr CreateChild6_Simple(pc)
@@ -174987,7 +175029,7 @@ loc_7F29A: loc_7F2B4:
move.l #loc_7F2DC,(a0)
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
moveq #$17,d0
jsr (Play_Sound).l
move.w #$3620,($FFFFFA92).w
@@ -175001,19 +175043,19 @@ locret_7F2DA: ; ---------------------------------------------------------------------------
loc_7F2DC:
- move.w ($FFFFEE78).w,($FFFFEE14).w
- cmpi.w #$3620,($FFFFEE78).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
+ cmpi.w #$3620,(Camera_X_pos).w
bcs.s locret_7F2FC
move.l #loc_7F2FE,(a0)
- move.b #1,($FFFFEE0A).w
- addi.w #$40,($FFFFEE16).w
+ move.b #1,(Scroll_lock).w
+ addi.w #$40,(Camera_max_X_pos).w
locret_7F2FC:
rts
; ---------------------------------------------------------------------------
loc_7F2FE:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$160,d0
cmp.w ($FFFFB010).w,d0
bls.w loc_7F310
@@ -175021,10 +175063,10 @@ loc_7F2FE: ; ---------------------------------------------------------------------------
loc_7F310:
- st ($FFFFEE5E).w
- move.w ($FFFFFE20).w,($FFFFEF5E).w
- move.l ($FFFFFE22).w,($FFFFEF60).w
- move.b ($FFFFB02B).w,($FFFFFF96).w
+ st (Act_3_flag).w
+ move.w (Ring_count).w,($FFFFEF5E).w
+ move.l (Timer).w,($FFFFEF60).w
+ move.b ($FFFFB02B).w,(Saved2_status_secondary).w
move.w #$1700,d0
jsr (StartNewLevel).l
jmp (Delete_Current_Sprite).l
@@ -175036,10 +175078,10 @@ loc_7F336: move.l #loc_7F344,(a0)
loc_7F344:
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
tst.b $2C(a0)
beq.s loc_7F352
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
loc_7F352:
movea.w $46(a0),a1
@@ -175449,7 +175491,7 @@ loc_7F71C: ; ---------------------------------------------------------------------------
loc_7F74C:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),d0
move.w $10(a1),d1
sub.w d1,d0
@@ -175581,7 +175623,7 @@ sub_7F8A0: add.l d0,$10(a0)
move.w $1A(a0),d0
moveq #$38,d1
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_7F8BA
neg.w d1
@@ -175602,7 +175644,7 @@ sub_7F8CA: tst.b $3A(a0)
sne d0
- tst.b ($FFFFF7C6).w
+ tst.b (Reverse_gravity_flag).w
beq.s loc_7F8D8
not.b d0
@@ -176029,7 +176071,7 @@ word_7FC26: dc.w $2A ; ---------------------------------------------------------------------------
loc_7FC3E:
- clr.b ($FFFFF7C6).w
+ clr.b (Reverse_gravity_flag).w
rts
; ---------------------------------------------------------------------------
ObjDat3_7FC44: dc.l Map_DEZEndBoss
@@ -176231,6 +176273,7 @@ off_7FD84: dc.w loc_7FD9E-off_7FD84 ; ---------------------------------------------------------------------------
loc_7FD9E:
+
move.b #2,5(a0)
bset #2,4(a0)
move.w a0,($FFFFFAA4).w
@@ -176249,11 +176292,11 @@ loc_7FDD0: move.w a0,$46(a1)
loc_7FDE2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #$30,$10(a1)
move.w #$CD,$14(a1)
bsr.w sub_7FE06
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w #$10,$10(a1)
move.w #$CD,$14(a1)
@@ -176277,12 +176320,12 @@ locret_7FE2A: loc_7FE2C:
bsr.w sub_7FE5C
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
addi.w #$98,d1
cmp.w d1,d0
bcs.s locret_7FE5A
move.b #4,5(a0)
- clr.b ($FFFFEE0A).w
+ clr.b (Scroll_lock).w
jsr (Create_New_Sprite).l
bne.s locret_7FE5A
move.l #Obj_Song_Fade_Transition,(a1)
@@ -176297,9 +176340,9 @@ locret_7FE5A: sub_7FE5C:
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_7FE68
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
; End of function sub_7FE5C
@@ -176321,7 +176364,7 @@ loc_7FE74: bcs.s locret_7FE94
move.b #6,5(a0)
bsr.w sub_7FE8A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; =============== S U B R O U T I N E =======================================
@@ -176516,9 +176559,9 @@ loc_80030: move.l #loc_8642E,(a1)
loc_8004A:
- move.w ($FFFFEE78).w,d0
- move.w d0,($FFFFEE16).w
- move.w d0,($FFFFEE14).w
+ move.w (Camera_X_pos).w,d0
+ move.w d0,(Camera_max_X_pos).w
+ move.w d0,(Camera_min_X_pos).w
rts
; ---------------------------------------------------------------------------
@@ -176530,7 +176573,7 @@ loc_80058: bcs.s locret_80080
move.b #$14,5(a0)
move.w #$6C0,($FFFFEED2).w
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
subi.w #$40,d0
move.w d0,$10(a0)
@@ -176548,7 +176591,7 @@ loc_80082: move.w #$80,$1C(a0)
move.w $14(a0),$3A(a0)
clr.w $26(a0)
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
jsr (Create_New_Sprite).l
bne.s loc_800C0
move.l #loc_80590,(a1)
@@ -176629,10 +176672,10 @@ loc_80184: bset #0,4(a0)
move.b #$F,$28(a0)
move.b #8,$29(a0)
- move.w ($FFFFEE80).w,d0
+ move.w (Camera_X_pos_copy).w,d0
addi.w #$60,d0
move.w d0,$10(a0)
- move.w ($FFFFEE84).w,d0
+ move.w (Camera_Y_pos_copy).w,d0
addi.w #$140,d0
move.w d0,$14(a0)
jsr (Create_New_Sprite).l
@@ -176648,7 +176691,7 @@ loc_801C6: loc_801D8:
subq.w #1,$14(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$50,d0
cmp.w $14(a0),d0
bcs.w locret_80C88
@@ -176663,7 +176706,7 @@ loc_80208: bsr.w sub_80F0E
jsr Swing_UpAndDown(pc)
jsr (MoveSprite2).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$100,d0
cmp.w $10(a0),d0
bhi.s locret_8023C
@@ -176702,7 +176745,7 @@ loc_80264: loc_80282:
jsr (MoveSprite2).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$100,d0
cmp.w $10(a0),d0
bls.s locret_8029A
@@ -176728,7 +176771,7 @@ loc_802B2: loc_802C0:
jsr Swing_UpAndDown(pc)
jsr (MoveSprite2).l
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$180,d0
cmp.w $10(a0),d0
bcs.s loc_802DE
@@ -176752,10 +176795,10 @@ loc_802FE: loc_8030E:
move.l #loc_80382,(a0)
clr.b $38(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
subi.w #$80,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$80,d0
move.w d0,$14(a0)
lea (Child6_CreateBossExplosion).l,a2
@@ -176787,7 +176830,7 @@ locret_80380: loc_80382:
addq.w #2,$10(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$80,d0
cmp.w $10(a0),d0
bcc.s locret_803D4
@@ -176821,12 +176864,12 @@ loc_803D6: movea.w $44(a0),a1
btst #7,$2A(a1)
beq.s locret_80424
- st ($FFFFEF56).w
+ st (SRAM_mask_interrupts_flag).w
jsr (SaveGame).l
jsr (Go_Delete_Sprite).l
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bcc.s loc_8040C
- cmpi.b #7,($FFFFFFB0).w
+ cmpi.b #7,(Emerald_count).w
bne.s loc_8040C
move.w #$C00,d0
jmp (StartNewLevel).l
@@ -176834,14 +176877,14 @@ loc_803D6: loc_8040C:
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
beq.s loc_8041E
move.w #$D01,d0
jmp (StartNewLevel).l
; ---------------------------------------------------------------------------
loc_8041E:
- move.b #0,($FFFFF600).w
+ move.b #0,(Game_mode).w
locret_80424:
rts
@@ -176859,11 +176902,11 @@ loc_80426: loc_8044C:
andi.w #$1FF,d0
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
add.w d0,d1
addi.w #$20,d1
move.w d1,$10(a0)
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
subi.w #$20,d1
move.w d1,$14(a0)
andi.b #3,d0
@@ -176883,7 +176926,7 @@ RawAni_80490: dc.b 0, 1, 2, 1 loc_80494:
jsr (MoveSprite2).l
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$108,d0
cmp.w $14(a0),d0
blt.w loc_810D0
@@ -177087,7 +177130,7 @@ loc_806DA: lea ObjDat3_812D4(pc),a1
jsr (SetUp_ObjAttributes).l
- lea ($FFFFFFB2).w,a1
+ lea (Collected_emeralds_array).w,a1
moveq #3,d0
moveq #6,d1
@@ -177151,6 +177194,7 @@ loc_8076A: beq.s loc_8077C
move.l #loc_80782,(a0)
+
loc_8077C:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -177795,10 +177839,10 @@ sub_80E2C: bset #6,$2A(a0)
btst #7,$38(a0)
beq.s loc_80E70
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b $1C(a0)
beq.s loc_80E68
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
loc_80E68:
clr.w $18(a1)
@@ -177892,12 +177936,12 @@ sub_80F0E: move.l d0,($FFFFFA84).w
loc_80F24:
- move.l ($FFFFEE78).w,d1
+ move.l (Camera_X_pos).w,d1
add.l d0,d1
- move.l d1,($FFFFEE78).w
+ move.l d1,(Camera_X_pos).w
swap d1
- move.w d1,($FFFFEE14).w
- move.w d1,($FFFFEE16).w
+ move.w d1,(Camera_min_X_pos).w
+ move.w d1,(Camera_max_X_pos).w
rts
; End of function sub_80F0E
@@ -178007,9 +178051,9 @@ sub_8100E: move.w $10(a0),d0
addi.w #$40,d0
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE16).w
- addq.w #1,($FFFFEE78).w
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_max_X_pos).w
+ addq.w #1,(Camera_X_pos).w
rts
; End of function sub_8100E
@@ -178074,15 +178118,15 @@ locret_8109E: ; ---------------------------------------------------------------------------
loc_810A0:
- move.w ($FFFFEE78).w,d0
- move.w d0,($FFFFEE14).w
+ move.w (Camera_X_pos).w,d0
+ move.w d0,(Camera_min_X_pos).w
move.w #$520,d1
cmp.w d1,d0
bcs.w locret_80C88
bset #2,($FFFFFAB8).w
- move.w d1,($FFFFEE14).w
+ move.w d1,(Camera_min_X_pos).w
addi.w #$A0,d1
- move.w d1,($FFFFEE16).w
+ move.w d1,(Camera_max_X_pos).w
move.w #$2C0,($FFFFEED2).w
addi.w #$100,$10(a0)
@@ -178193,10 +178237,10 @@ sub_8119A: move.b #$20,$20(a0)
moveq #$6E,d0
jsr (Play_Sound_2).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b $1C(a0)
beq.s loc_811C8
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
loc_811C8:
move.w #$600,d0
@@ -178481,7 +178525,7 @@ loc_81492: move.w off_81514(pc,d0.w),d1
jsr off_81514(pc,d1.w)
move.w ($FFFFFABC).w,d0
- move.w ($FFFFFE08).w,d1
+ move.w (Debug_placement_mode).w,d1
move.w d1,($FFFFFABC).w
eor.w d1,d0
beq.s loc_814B8
@@ -178496,12 +178540,12 @@ loc_814B8: beq.s locret_81512
move.l #loc_816FC,(a0)
bset #3,$38(a0)
- move.l ($FFFFEE78).w,d0
+ move.l (Camera_X_pos).w,d0
move.l d0,($FFFFFA86).w
swap d0
move.w d0,($FFFFFA94).w
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_max_X_pos).w
addi.w #$140,d0
move.w d0,($FFFFFA92).w
jsr (Create_New_Sprite).l
@@ -178530,7 +178574,7 @@ sub_8151C: tst.w d1
bne.s loc_81548
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),$10(a0)
move.w $14(a1),$14(a0)
move.b #1,$2E(a1)
@@ -178541,8 +178585,8 @@ sub_8151C: ; ---------------------------------------------------------------------------
loc_81548:
- clr.w ($FFFFEE14).w
- move.w #$7FFF,($FFFFEE16).w
+ clr.w (Camera_min_X_pos).w
+ move.w #$7FFF,(Camera_max_X_pos).w
rts
; End of function sub_8151C
@@ -178553,29 +178597,29 @@ loc_81554: move.w a0,($FFFFFA8E).w
move.w #$17,$2E(a0)
move.w #$400,$18(a0)
- st ($FFFFEE0A).w
- move.b #1,($FFFFF7AA).w
+ st (Scroll_lock).w
+ move.b #1,(Boss_flag).w
move.l #$10000,($FFFFFA82).w
move.l #$800,($FFFFFA8A).w
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bset #7,$A(a1)
move.b #-$7F,$2E(a1)
move.b #2,$20(a1)
clr.b $2A(a1)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
subi.w #$20,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$20,d0
move.w d0,$14(a0)
lea word_81602(pc),a1
lea ($FFFFFAB0).w,a2
move.l (a1)+,(a2)+
move.l (a1)+,(a2)+
- move.w #0,($FFFFEE18).w
- move.w #$120,($FFFFEE1A).w
- move.w #$120,($FFFFEE12).w
- lea ($FFFFB04A).w,a1
+ move.w #0,(Camera_min_Y_pos).w
+ move.w #$120,(Camera_max_Y_pos).w
+ move.w #$120,(Camera_target_max_Y_pos).w
+ lea (Player_2).w,a1
moveq #0,d0
moveq #$11,d1
@@ -178602,17 +178646,17 @@ loc_8160A: bpl.w locret_82ABA
move.b #4,5(a0)
bset #7,$38(a0)
- addi.w #$32,($FFFFFE20).w
+ addi.w #$32,(Ring_count).w
move.b #1,($FFFFF65F).w
move.b #$F,($FFFFF65E).w
- move.b #1,($FFFFFE19).w
+ move.b #1,(Super_Sonic_Knux_flag).w
move.w #$3C,($FFFFF670).w
move.l #Map_SuperSonic,($FFFFB00C).w
move.b #-$7F,($FFFFB02E).w
move.b #$1F,($FFFFB020).w
- move.w #$A00,($FFFFF760).w
- move.w #$30,($FFFFF762).w
- move.w #$100,($FFFFF764).w
+ move.w #$A00,(Sonic_Knux_top_speed).w
+ move.w #$30,(Sonic_Knux_acceleration).w
+ move.w #$100,(Sonic_Knux_deceleration).w
move.b #0,($FFFFB035).w
bset #1,($FFFFB02B).w
moveq #$46,d0
@@ -178622,7 +178666,7 @@ loc_8160A: loc_8167C:
subi.w #$20,$1A(a0)
jsr (MoveSprite2).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b $2E(a1)
bne.w locret_82ABA
move.b #6,5(a0)
@@ -178633,16 +178677,16 @@ loc_8167C: clr.b $20(a1)
move.w #$1000,$18(a1)
move.w #$1000,$1C(a1)
- cmpi.b #7,($FFFFFFB1).w
+ cmpi.b #7,(Super_emerald_count).w
beq.s loc_816D2
- move.l #loc_8242A,($FFFFCBC0).w
+ move.l #loc_8242A,(Super_stars).w
bra.w loc_816E8
; ---------------------------------------------------------------------------
loc_816D2:
jsr (sub_5FCCE).l
- move.l #Obj_HyperSonic_19348,($FFFFCD7C).w
- move.l #Obj_HyperSonicKnux_Trail,($FFFFCBC0).w
+ move.l #Obj_HyperSonic_19348,(Hyper_Sonic_stars).w
+ move.l #Obj_HyperSonicKnux_Trail,(Super_stars).w
loc_816E8:
lea (PLC_83D64).l,a1
@@ -178671,24 +178715,24 @@ locret_81724: loc_81726:
clr.w ($FFFFFAAE).w
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
cmpi.w #$7400,d0
bcs.s loc_81770
move.w #$2000,d1
sub.w d1,d0
- move.w d0,($FFFFEE78).w
+ move.w d0,(Camera_X_pos).w
jsr (loc_1BBBE).l
moveq #0,d0
- lea ($FFFFE700).w,a1
+ lea (Ring_status_table).w,a1
move.w #$FF,d1
loc_8174E:
move.l d0,(a1)+
dbf d1,loc_8174E
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
subi.w #$80,d0
andi.w #-$80,d0
- move.w d0,($FFFFF7DA).w
+ move.w d0,(Camera_X_pos_coarse_back).w
move.w #$2000,d1
move.w d1,($FFFFFAAE).w
sub.w d1,$10(a0)
@@ -178698,7 +178742,7 @@ loc_81770: bsr.w sub_82772
bsr.w sub_828B2
move.w ($FFFFFABC).w,d0
- move.w ($FFFFFE08).w,d1
+ move.w (Debug_placement_mode).w,d1
move.w d1,($FFFFFABC).w
eor.w d1,d0
beq.s loc_81790
@@ -178712,16 +178756,16 @@ loc_81790: ; ---------------------------------------------------------------------------
loc_8179E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (MoveSprite).l
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$F0,d0
cmp.w $14(a0),d0
bcc.w locret_82ABA
movea.l a0,a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
movea.l a1,a0
jsr (Kill_Character).l
movea.l a2,a0
@@ -178754,7 +178798,7 @@ loc_8180E: move.b #2,5(a0)
bset #1,($FFFFFAB8).w
move.w #$200,($FFFFEED2).w
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$140,d0
move.w d0,$10(a0)
move.w #$A0,$14(a0)
@@ -178776,7 +178820,7 @@ loc_81856: bpl.s locret_818B2
move.b #4,5(a0)
bset #3,$38(a0)
- move.w ($FFFFEE14).w,d0
+ move.w (Camera_min_X_pos).w,d0
subi.w #$100,d0
move.w d0,($FFFFFA94).w
jsr (Create_New_Sprite).l
@@ -178851,7 +178895,7 @@ loc_81958: move.w #$59,$3A(a0)
subq.b #1,$39(a0)
bmi.s loc_8197C
- lea ($FFFFFC40).w,a1
+ lea (Normal_palette_line_3).w,a1
moveq #$F,d0
moveq #$E,d1
moveq #-$20,d2
@@ -178868,7 +178912,7 @@ loc_8197C: move.w #$130,d3
bsr.w sub_830C0
jsr (MoveSprite2).l
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
addi.w #$D0,d0
cmp.w $14(a0),d0
bcc.w locret_82ABA
@@ -178883,14 +178927,14 @@ loc_8197C: loc_819CE:
lea (Pal_DDZ+$20).l,a1
- lea ($FFFFFC40).w,a2
+ lea (Normal_palette_line_3).w,a2
moveq #7,d6
loc_819DA:
move.l (a1)+,(a2)+
dbf d6,loc_819DA
- lea ($FFFFFC00).w,a1
- lea ($FFFFFC80).w,a2
+ lea (Normal_palette).w,a1
+ lea (Target_palette).w,a2
moveq #$1F,d6
loc_819EA:
@@ -178914,15 +178958,15 @@ loc_81A00: loc_81A28:
move.w #$600,($FFFFEED2).w
- move.w ($FFFFEE78).w,d0
- move.w d0,($FFFFEE14).w
- move.w d0,($FFFFEE16).w
+ move.w (Camera_X_pos).w,d0
+ move.w d0,(Camera_min_X_pos).w
+ move.w d0,(Camera_max_X_pos).w
subi.w #$80,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
- move.w d0,($FFFFEE18).w
- move.w d0,($FFFFEE1A).w
- move.w d0,($FFFFEE12).w
+ move.w (Camera_Y_pos).w,d0
+ move.w d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_max_Y_pos).w
+ move.w d0,(Camera_target_max_Y_pos).w
addi.w #$E0,d0
move.w d0,$14(a0)
clr.w $18(a0)
@@ -178935,7 +178979,7 @@ loc_81A28: loc_81A74:
jsr (MoveSprite2).l
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$20,d0
cmp.w $14(a0),d0
bcs.s loc_81A9C
@@ -178948,7 +178992,7 @@ loc_81A74: loc_81A9C:
addi.w #$10,$18(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$1C0,d0
cmp.w $10(a0),d0
bhi.s locret_81B24
@@ -178971,7 +179015,7 @@ loc_81A9C: loc_81AFC:
move.w #$120,d0
move.w d0,($FFFFFA98).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_target_max_Y_pos).w
jsr (Create_New_Sprite).l
bne.s loc_81B16
move.l #Obj_IncLevEndYGradual,(a1)
@@ -179001,12 +179045,12 @@ loc_81B44: ext.w d1
neg.w d1
asr.w #1,d1
- btst #3,($FFFFF604).w
+ btst #3,(Ctrl_1).w
bne.s loc_81B68
move.w $10(a0),d0
addi.w #2,d0
add.w d1,d0
- move.w ($FFFFEE16).w,d1
+ move.w (Camera_max_X_pos).w,d1
add.w d2,d1
cmp.w d1,d0
bcs.s loc_81B7C
@@ -179017,7 +179061,7 @@ loc_81B68: move.w $10(a0),d0
addi.w #-2,d0
add.w d1,d0
- move.w ($FFFFEE14).w,d1
+ move.w (Camera_min_X_pos).w,d1
add.w d3,d1
cmp.w d1,d0
bls.s loc_81B82
@@ -179034,7 +179078,7 @@ loc_81B82: addi.l #$80000,d0
loc_81B98:
- move.l ($FFFFEE14).w,d1
+ move.l (Camera_min_X_pos).w,d1
addi.l #$600000,d1
cmp.l d1,d0
bcs.s loc_81BB0
@@ -179072,9 +179116,9 @@ off_81BEA: dc.w loc_81BF2-off_81BEA ; ---------------------------------------------------------------------------
loc_81BF2:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addq.w #1,d0
- move.w d0,($FFFFEE78).w
+ move.w d0,(Camera_X_pos).w
addi.w #$40,d0
cmp.w $10(a0),d0
bcs.s locret_81C2A
@@ -179132,7 +179176,7 @@ loc_81C70: loc_81CA4:
subq.w #1,$2E(a0)
bpl.w locret_82ABA
- st ($FFFFEF56).w
+ st (SRAM_mask_interrupts_flag).w
jsr (SaveGame).l
move.w #$D01,d0
jsr (StartNewLevel).l
@@ -179146,7 +179190,7 @@ loc_81CC6: move.b $43(a0),$3C(a0)
movea.w $46(a0),a1
move.w $46(a1),$44(a0)
- lea ($FFFFFFB2).w,a1
+ lea (Collected_emeralds_array).w,a1
moveq #3,d0
moveq #6,d1
@@ -179193,7 +179237,7 @@ loc_81D44: loc_81D4A:
move.w ($FFFFFAAE).w,d0
sub.w d0,$10(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),d0
cmp.w $10(a0),d0
bcs.s loc_81D64
@@ -179342,7 +179386,7 @@ loc_81EDE: andi.b #$F,d0
bne.s loc_81F0A
movea.l a0,a1
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
jsr sub_8622C(pc)
addi.b #$10,d0
lsr.b #4,d0
@@ -179634,16 +179678,16 @@ Obj_DDZAsteroid: bsr.w sub_83146
loc_821FC:
- tst.w ($FFFFFE08).w
+ tst.w (Debug_placement_mode).w
bne.s loc_82208
jsr (MoveSprite2).l
loc_82208:
move.w ($FFFFFAAE).w,d0
sub.w d0,$10(a0)
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_82224
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
movea.l $30(a0),a2
jsr Check_InMyRange(pc)
bne.s loc_8222A
@@ -179859,6 +179903,7 @@ loc_82412: loc_8242A:
lea ObjDat3_8321A(pc),a1
+
jsr SetUp_ObjAttributes(pc)
move.l #loc_82452,(a0)
move.b #6,$22(a0)
@@ -179869,7 +179914,7 @@ loc_8242A: ; ---------------------------------------------------------------------------
loc_82452:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.w locret_82ABA
move.w ($FFFFFAAE).w,d0
sub.w d0,$10(a0)
@@ -179882,7 +179927,7 @@ loc_82452: cmpi.b #6,d0
bcs.s loc_82490
moveq #0,d0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),$10(a0)
move.w $14(a1),$14(a0)
@@ -180020,6 +180065,7 @@ loc_82606: move.w ($FFFFFAAE).w,d0
sub.w d0,$10(a0)
subq.w #1,$2E(a0)
+
bpl.s loc_82632
move.l #loc_82652,(a0)
move.w #$80,8(a0)
@@ -180109,7 +180155,7 @@ loc_826FC: loc_82722:
move.w $3A(a0),d1
moveq #0,d0
- cmpi.w #$A,($FFFFFE20).w
+ cmpi.w #$A,(Ring_count).w
bhi.s loc_82732
moveq #8,d0
@@ -180126,7 +180172,7 @@ sub_82742: btst #7,$38(a0)
beq.s locret_82750
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s loc_82752
locret_82750:
@@ -180137,7 +180183,7 @@ loc_82752: move.l #loc_8179E,(a0)
clr.w $18(a0)
clr.w $1A(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #-$7F,$2E(a1)
move.b #$1A,$20(a1)
rts
@@ -180149,7 +180195,7 @@ loc_82752: sub_82772:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b $34(a1)
beq.s loc_827A0
addi.b #$10,$26(a1)
@@ -180215,10 +180261,10 @@ loc_827E4: move.w d3,$1A(a0)
loc_827E8:
- lea ($FFFFF604).w,a2
+ lea (Ctrl_1).w,a2
tst.w (a2)
beq.s loc_82828
- tst.b ($FFFFF7CA).w
+ tst.b (Ctrl_1_locked).w
bne.s loc_82828
move.b (a2)+,d0
move.b (a2)+,d1
@@ -180289,7 +180335,7 @@ sub_828B2: tst.w d2
beq.s loc_828EE
move.l $10(a0),d0
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
ext.l d2
lsl.l #8,d2
add.l d2,d0
@@ -180313,7 +180359,7 @@ loc_828EE: tst.w d3
beq.s locret_8291E
move.l $14(a0),d0
- move.w ($FFFFEE7C).w,d1
+ move.w (Camera_Y_pos).w,d1
ext.l d3
lsl.l #8,d3
add.l d3,d0
@@ -180369,19 +180415,19 @@ loc_82958: move.l d0,($FFFFFA82).w
loc_82964:
- move.l ($FFFFEE78).w,d1
+ move.l (Camera_X_pos).w,d1
move.l d1,d2
add.l d0,d1
andi.l #$7FFFFFFF,d1
- move.l d1,($FFFFEE78).w
+ move.l d1,(Camera_X_pos).w
swap d0
add.w d0,($FFFFEED8).w
swap d1
swap d2
- move.w d1,($FFFFEE14).w
+ move.w d1,(Camera_min_X_pos).w
move.w $3C(a0),d3
add.w d1,d3
- move.w d3,($FFFFEE16).w
+ move.w d3,(Camera_max_X_pos).w
sub.w d2,d1
move.w d1,($FFFFFA90).w
move.w $10(a0),d2
@@ -180421,8 +180467,8 @@ loc_829B4: sub_829D2:
- lea ($FFFFB000).w,a1
- move.w ($FFFFEE78).w,d0
+ lea (Player_1).w,a1
+ move.w (Camera_X_pos).w,d0
move.w d0,d1
move.w $10(a0),d2
move.w d2,$10(a1)
@@ -180433,14 +180479,14 @@ sub_829D2: sub.w d0,d2
bcc.s loc_82A10
add.w d2,d1
- cmp.w ($FFFFEE14).w,d1
+ cmp.w (Camera_min_X_pos).w,d1
blt.s loc_82A06
- move.w d1,($FFFFEE78).w
+ move.w d1,(Camera_X_pos).w
bra.w loc_82A2E
; ---------------------------------------------------------------------------
loc_82A06:
- move.w ($FFFFEE14).w,($FFFFEE78).w
+ move.w (Camera_min_X_pos).w,(Camera_X_pos).w
bra.w loc_82A2E
; ---------------------------------------------------------------------------
@@ -180449,18 +180495,18 @@ loc_82A10: sub.w d0,d3
bls.s loc_82A2E
add.w d3,d1
- cmp.w ($FFFFEE16).w,d1
+ cmp.w (Camera_max_X_pos).w,d1
bge.s loc_82A28
- move.w d1,($FFFFEE78).w
+ move.w d1,(Camera_X_pos).w
bra.w loc_82A2E
; ---------------------------------------------------------------------------
loc_82A28:
- move.w ($FFFFEE16).w,($FFFFEE78).w
+ move.w (Camera_max_X_pos).w,(Camera_X_pos).w
loc_82A2E:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
move.w d0,d1
move.w $14(a0),d2
move.w d2,$14(a1)
@@ -180471,14 +180517,14 @@ loc_82A2E: sub.w d0,d2
bcc.s loc_82A64
add.w d2,d1
- cmp.w ($FFFFEE18).w,d1
+ cmp.w (Camera_min_Y_pos).w,d1
blt.s loc_82A5C
- move.w d1,($FFFFEE7C).w
+ move.w d1,(Camera_Y_pos).w
rts
; ---------------------------------------------------------------------------
loc_82A5C:
- move.w ($FFFFEE18).w,($FFFFEE7C).w
+ move.w (Camera_min_Y_pos).w,(Camera_Y_pos).w
rts
; ---------------------------------------------------------------------------
@@ -180487,14 +180533,14 @@ loc_82A64: sub.w d0,d3
ble.s locret_82A80
add.w d3,d1
- cmp.w ($FFFFEE1A).w,d1
+ cmp.w (Camera_max_Y_pos).w,d1
bge.s loc_82A7A
- move.w d1,($FFFFEE7C).w
+ move.w d1,(Camera_Y_pos).w
rts
; ---------------------------------------------------------------------------
loc_82A7A:
- move.w ($FFFFEE1A).w,($FFFFEE7C).w
+ move.w (Camera_max_Y_pos).w,(Camera_Y_pos).w
locret_82A80:
@@ -180510,7 +180556,7 @@ sub_82A82: andi.b #3,d0
beq.s locret_82AA4
movea.l a0,a1
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
jsr sub_8622C(pc)
moveq #2,d1
sub.b $3C(a0),d0
@@ -180584,7 +180630,7 @@ word_82AF6: dc.w $E0 sub_82B06:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s locret_82B60
tst.b 4(a0)
bpl.s loc_82B30
@@ -180601,7 +180647,7 @@ sub_82B06: loc_82B30:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b $34(a1)
bne.s loc_82B50
moveq #0,d0
@@ -180631,7 +180677,7 @@ loc_82B62: ; ---------------------------------------------------------------------------
loc_82B6E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #$59,$34(a1)
loc_82B78:
@@ -180684,12 +180730,12 @@ word_82BD4: dc.w $FFE4 sub_82BE4:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s locret_82C1E
movea.w $46(a0),a1
btst #7,$2A(a1)
bne.s loc_82C18
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b $34(a1)
bne.s locret_82C1E
lea word_82C20(pc),a2
@@ -180715,9 +180761,9 @@ word_82C20: dc.w $FFF0, $20, $FFF0, $20 sub_82C28:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s locret_82C4E
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b $34(a1)
lea word_82C62(pc),a2
jsr Check_InMyRange(pc)
@@ -180731,7 +180777,7 @@ locret_82C4E: ; ---------------------------------------------------------------------------
loc_82C50:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #$59,$34(a1)
bsr.w sub_82C6A
bra.w loc_82B84
@@ -180829,7 +180875,7 @@ byte_82D08: dc.b 0, 8 ; ---------------------------------------------------------------------------
loc_82D18:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s locret_82D5A
tst.b $28(a0)
beq.s locret_82D5A
@@ -180865,6 +180911,7 @@ loc_82D5C: move.l #loc_81E7A,(a0)
rts
+
; =============== S U B R O U T I N E =======================================
@@ -180921,11 +180968,11 @@ word_82D9E: dc.w $A ; ---------------------------------------------------------------------------
loc_82DCE:
- tst.b ($FFFFFE19).w
+ tst.b (Super_Sonic_Knux_flag).w
beq.s locret_82E2A
tst.b $20(a0)
bne.s loc_82E14
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea word_82E92(pc),a2
jsr Check_InMyRange(pc)
beq.s locret_82E2A
@@ -180963,11 +181010,11 @@ loc_82E2C: move.l #loc_81BBE,(a0)
clr.b 5(a0)
bset #7,$2A(a0)
- st ($FFFFF7CA).w
+ st (Ctrl_1_locked).w
move.w #$7FFF,($FFFFF670).w
- move.w ($FFFFEE7C).w,d0
- move.w d0,($FFFFEE18).w
- move.w d0,($FFFFEE1A).w
+ move.w (Camera_Y_pos).w,d0
+ move.w d0,(Camera_min_Y_pos).w
+ move.w d0,(Camera_max_Y_pos).w
move.w ($FFFFFA8E).w,d0
beq.s loc_82E72
movea.w d0,a1
@@ -181165,7 +181212,7 @@ loc_83078: sub_8307C:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$140,d0
cmp.w $10(a0),d0
bcs.w locret_82ABA
@@ -181198,12 +181245,12 @@ sub_830C0: ext.w d1
neg.w d1
asr.w #1,d1
- btst #3,($FFFFF604).w
+ btst #3,(Ctrl_1).w
bne.s loc_830EC
move.w $10(a0),d0
addi.w #2,d0
add.w d1,d0
- move.w ($FFFFEE16).w,d1
+ move.w (Camera_max_X_pos).w,d1
add.w d2,d1
cmp.w d1,d0
bcs.s loc_83100
@@ -181214,7 +181261,7 @@ loc_830EC: move.w $10(a0),d0
addi.w #-2,d0
add.w d1,d0
- move.w ($FFFFEE14).w,d1
+ move.w (Camera_min_X_pos).w,d1
add.w d3,d1
cmp.w d1,d0
bls.s locret_83106
@@ -181238,7 +181285,7 @@ loc_8311A: subq.w #1,$2E(a0)
bpl.w locret_82ABA
move.w $3A(a0),$2E(a0)
- lea ($FFFFFC00).w,a1
+ lea (Normal_palette).w,a1
moveq #$3F,d0
loc_8312E:
@@ -181581,12 +181628,12 @@ loc_837EE: move.b #$18,$1F(a0)
move.b #$1E,$1E(a0)
move.l #AniRaw_EndSigns1,$30(a0)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_83816
move.l #AniRaw_EndSigns2,$30(a0)
loc_83816:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$20,d0
move.w d0,$14(a0) ; Place vertical position at top of screen
moveq #-$48,d0
@@ -181608,13 +181655,13 @@ loc_83844: jsr (MoveSprite2).l ; Move downward
bsr.w EndSign_CheckWall
jsr Animate_Raw(pc)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$50,d0
cmp.w $14(a0),d0
bhi.s locret_838BC ; Ensure that signpost can't land if too far up the screen itself
tst.w $1A(a0)
bmi.s locret_838BC ; And also when the signpost is still moving up
- cmpi.b #8,($FFFFFE10).w
+ cmpi.b #8,(Current_zone).w
bne.s loc_8389C
moveq #0,d0 ; Special code for handling the landing on Sandopolis 1's sand
cmpi.w #$4210,$10(a0)
@@ -181667,7 +181714,7 @@ loc_838D6: moveq #0,d0
move.b ($FFFFFF09).w,d0 ; Get current character "mode"
move.b FrameArray_EndSign(pc,d0.w),$22(a0)
- st ($FFFFF7CB).w ; Null Sonic's input
+ st (Ctrl_2_locked).w ; Null Sonic's input
rts
; ---------------------------------------------------------------------------
@@ -181681,7 +181728,7 @@ FrameArray_EndSign: dc.b 0, 0, 1, 2 ; ---------------------------------------------------------------------------
Obj_EndSignResults:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #1,$2A(a1)
bne.s locret_83936 ; If player is not standing on the ground, wait until he is
move.b #8,5(a0)
@@ -181696,7 +181743,7 @@ locret_83936: ; ---------------------------------------------------------------------------
Obj_EndSignAfter:
- cmpi.b #$B,($FFFFFE10).w
+ cmpi.b #$B,(Current_zone).w
bne.s loc_8395A
jsr (ObjHitFloor).l ; If Death Egg Zone, then check if there's still a floor
tst.w d1
@@ -181716,11 +181763,11 @@ loc_8395A: loc_8395E:
move.w $10(a0),d0 ; Check for whether signpost goes out of range
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_83988
move.w $14(a0),d0
- sub.w ($FFFFEE7C).w,d0
+ sub.w (Camera_Y_pos).w,d0
addi.w #$80,d0
cmpi.w #$200,d0
bhi.s loc_83988
@@ -181858,7 +181905,7 @@ EndSign_Range: dc.w $FFE0, $40, $FFE8, $30 EndSign_CheckWall:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
tst.w $18(a0)
bmi.s loc_83AE8
addi.w #$128,d0
@@ -181950,7 +181997,7 @@ AfterBoss_Cleanup: moveq #0,d0
- lea ($FFFFFE10).w,a1
+ lea (Current_zone_and_act).w,a1
move.b (a1)+,d0
add.b d0,d0
add.b (a1)+,d0
@@ -182013,7 +182060,7 @@ off_83C1C: dc.w loc_83C7C-off_83C1C loc_83C7C:
lea (Pal_AIZ).l,a1
- lea ($FFFFFC20).w,a2
+ lea (Normal_palette_line_2).w,a2
moveq #$17,d0
loc_83C88:
@@ -182271,10 +182318,10 @@ Obj_BossExpControlOff: Obj_BossExplosionSpecial:
move.w #2,$2E(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$A0,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$70,d0
move.w d0,$14(a0)
move.b #2,$2C(a0)
@@ -183661,6 +183708,7 @@ Child_Draw_Sprite_FlickerMove: loc_849D8:
+
bset #7,$2A(a0)
move.l #Obj_FlickerMove,(a0)
clr.b $28(a0)
@@ -183703,7 +183751,7 @@ loc_84A3C: Obj_IncLevEndXGradual:
- move.w ($FFFFEE16).w,d0
+ move.w (Camera_max_X_pos).w,d0
move.l $30(a0),d1
addi.l #$4000,d1
move.l d1,$30(a0)
@@ -183711,18 +183759,18 @@ Obj_IncLevEndXGradual: add.w d1,d0
cmp.w ($FFFFFA92).w,d0
bcc.s loc_84A6A
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_max_X_pos).w
rts
; ---------------------------------------------------------------------------
loc_84A6A:
- move.w ($FFFFFA92).w,($FFFFEE16).w
+ move.w ($FFFFFA92).w,(Camera_max_X_pos).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
Obj_DecLevStartXGradual:
- move.w ($FFFFEE14).w,d0
+ move.w (Camera_min_X_pos).w,d0
move.l $30(a0),d1
addi.l #$4000,d1
move.l d1,$30(a0)
@@ -183730,18 +183778,18 @@ Obj_DecLevStartXGradual: sub.w d1,d0
cmp.w ($FFFFFA94).w,d0
ble.s loc_84A98
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_min_X_pos).w
rts
; ---------------------------------------------------------------------------
loc_84A98:
- move.w ($FFFFFA94).w,($FFFFEE14).w
+ move.w ($FFFFFA94).w,(Camera_min_X_pos).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
Obj_DecLevStartYGradual:
- move.w ($FFFFEE18).w,d0
+ move.w (Camera_min_Y_pos).w,d0
move.l $30(a0),d1
addi.l #$4000,d1
move.l d1,$30(a0)
@@ -183749,18 +183797,18 @@ Obj_DecLevStartYGradual: sub.w d1,d0
cmp.w ($FFFFFA96).w,d0
ble.s loc_84AC6
- move.w d0,($FFFFEE18).w
+ move.w d0,(Camera_min_Y_pos).w
rts
; ---------------------------------------------------------------------------
loc_84AC6:
- move.w ($FFFFFA96).w,($FFFFEE18).w
+ move.w ($FFFFFA96).w,(Camera_min_Y_pos).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
Obj_IncLevEndYGradual:
- move.w ($FFFFEE1A).w,d0
+ move.w (Camera_max_Y_pos).w,d0
move.l $30(a0),d1
addi.l #$8000,d1
move.l d1,$30(a0)
@@ -183768,12 +183816,12 @@ Obj_IncLevEndYGradual: add.w d1,d0
cmp.w ($FFFFFA98).w,d0
bgt.s loc_84AF4
- move.w d0,($FFFFEE1A).w
+ move.w d0,(Camera_max_Y_pos).w
rts
; ---------------------------------------------------------------------------
loc_84AF4:
- move.w ($FFFFFA98).w,($FFFFEE1A).w
+ move.w ($FFFFFA98).w,(Camera_max_Y_pos).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
Child6_IncLevX: dc.w 0
@@ -183792,7 +183840,7 @@ Find_SonicTails: moveq #0,d0 ; d0 = 0 if Sonic/Tails is left of object, 2 if right of object
moveq #0,d1 ; d1 = 0 if Sonic/Tails is above object, 2 if below object
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),d2
sub.w $10(a1),d2
bpl.s loc_84B2E
@@ -183800,7 +183848,7 @@ Find_SonicTails: addq.w #2,d0
loc_84B2E:
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
move.w $10(a0),d3
sub.w $10(a2),d3
bpl.s loc_84B40
@@ -184379,7 +184427,7 @@ TimedSprite_ScreenLock: ; ---------------------------------------------------------------------------
loc_84F88:
- move.b #1,($FFFFF7AA).w
+ move.b #1,(Boss_flag).w
bra.w Go_Delete_Sprite_2
; End of function TimedSprite_ScreenLock
@@ -184498,7 +184546,7 @@ Sprite_CheckDelete: move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_85088
jmp (Draw_Sprite).l
@@ -184520,7 +184568,7 @@ loc_85094: Sprite_CheckDelete2:
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_850BA
jmp (Draw_Sprite).l
@@ -184544,11 +184592,11 @@ Sprite_CheckDeleteXY: move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite
move.w $14(a0),d0
- sub.w ($FFFFEE7C).w,d0
+ sub.w (Camera_Y_pos).w,d0
addi.w #$80,d0
cmpi.w #$200,d0
bhi.w Go_Delete_Sprite
@@ -184560,11 +184608,11 @@ Obj_FlickerMove: jsr (MoveSprite).l
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite_3
move.w $14(a0),d0
- sub.w ($FFFFEE7C).w,d0
+ sub.w (Camera_Y_pos).w,d0
addi.w #$80,d0
cmpi.w #$200,d0
bhi.w Go_Delete_Sprite_3
@@ -184577,7 +184625,7 @@ Sprite_CheckDeleteTouch: move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_85088
jsr (Add_SpriteToCollisionResponseList).l
@@ -184588,7 +184636,7 @@ Sprite_CheckDeleteTouch2: move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_850BA
jsr (Add_SpriteToCollisionResponseList).l
@@ -184599,11 +184647,11 @@ Sprite_CheckDeleteTouchXY: move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite
move.w $14(a0),d0
- sub.w ($FFFFEE7C).w,d0
+ sub.w (Camera_Y_pos).w,d0
addi.w #$80,d0
cmpi.w #$200,d0
bhi.w Go_Delete_Sprite
@@ -184614,7 +184662,7 @@ Sprite_CheckDeleteTouchXY: Sprite_CheckDeleteSlotted:
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s Go_Delete_SpriteSlotted
jmp (Draw_Sprite).l
@@ -184646,7 +184694,7 @@ Remove_From_TrackingSlot: ; ---------------------------------------------------------------------------
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s Go_Delete_SpriteSlotted
jmp (Draw_Sprite).l
@@ -184657,7 +184705,7 @@ Sprite_CheckDeleteTouchSlotted: bmi.s Go_Delete_SpriteSlotted3
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s Go_Delete_SpriteSlotted
jsr (Add_SpriteToCollisionResponseList).l
@@ -184674,7 +184722,7 @@ Go_Delete_SpriteSlotted3: bmi.s Go_Delete_SpriteSlotted3
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_SpriteSlotted
jsr (Add_SpriteToCollisionResponseList).l
@@ -184682,21 +184730,21 @@ Go_Delete_SpriteSlotted3: ; ---------------------------------------------------------------------------
move.w $10(a0),d0 ; Next three are unused, virtually the same
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_85088
rts
; ---------------------------------------------------------------------------
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_85088
rts
; ---------------------------------------------------------------------------
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_85088
jmp (Add_SpriteToCollisionResponseList).l
@@ -184904,7 +184952,7 @@ loc_85412: Set_VelocityXTrackSonic:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w Find_OtherObject
bclr #0,4(a0)
tst.w d0
@@ -185378,8 +185426,8 @@ EnemyDefeat_Score: bset #7,$2A(a0)
clr.b $28(a0)
moveq #0,d0
- move.w ($FFFFF7D0).w,d0
- addq.w #2,($FFFFF7D0).w
+ move.w (Chain_bonus_counter).w,d0
+ addq.w #2,(Chain_bonus_counter).w
cmpi.w #6,d0
bcs.s loc_8577C
moveq #6,d0
@@ -185387,7 +185435,7 @@ EnemyDefeat_Score: loc_8577C:
move.w d0,$3E(a0)
move.w word_857AC(pc,d0.w),d0
- cmpi.w #$20,($FFFFF7D0).w
+ cmpi.w #$20,(Chain_bonus_counter).w
bcs.s loc_85796
move.w #$3E8,d0 ; 10000 points
move.w #$A,$3E(a0)
@@ -185600,7 +185648,7 @@ loc_858F4: Check_PlayerInRange:
moveq #0,d0
- lea ($FFFFB04A).w,a2
+ lea (Player_2).w,a2
move.w $10(a2),d1
move.w $14(a2),d2
move.w $10(a0),d3
@@ -185613,7 +185661,7 @@ Check_PlayerInRange: add.w (a1)+,d6
bsr.w sub_8592C
swap d0
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
move.w $10(a2),d1
move.w $14(a2),d2
; End of function Check_PlayerInRange
@@ -185643,7 +185691,7 @@ locret_8593E: PalLoad_Line1:
- lea ($FFFFFC20).w,a2
+ lea (Normal_palette_line_2).w,a2
moveq #7,d0
loc_85946:
@@ -185663,14 +185711,14 @@ Displace_PlayerOffObject: beq.s locret_85988
bclr #3,$2A(a0)
beq.s loc_85970
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bclr #3,$2A(a1)
bset #1,$2A(a1)
loc_85970:
bclr #4,$2A(a0)
beq.s locret_85988
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bclr #3,$2A(a1)
bset #1,$2A(a1)
@@ -185903,7 +185951,7 @@ loc_85AD2: bmi.s loc_85B02
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_85AF0
jmp (Draw_Sprite).l
@@ -185963,13 +186011,13 @@ loc_85B44: Obj_PlayLevelMusic:
moveq #0,d0
- lea ($FFFFEE4E).w,a1
+ lea (Apparent_zone_and_act).w,a1
move.b (a1)+,d0
add.b d0,d0
add.b (a1),d0
lea (LevelMusic_Playlist).l,a2
move.b (a2,d0.w),d0
- move.w d0,($FFFFFF90).w
+ move.w d0,(Level_music).w
btst #1,($FFFFB02B).w
beq.s loc_85B84
moveq #$2C,d0 ; If invincible, play invincibility
@@ -185984,7 +186032,7 @@ loc_85B84: Restore_PlayerControl:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
Restore_PlayerControl2:
@@ -186025,7 +186073,7 @@ Obj_EndSignControlWait: Obj_EndSignControlDoSign:
move.l #Obj_EndSignControlAwaitStart,(a0)
- clr.b ($FFFFF7AA).w
+ clr.b (Boss_flag).w
lea Child6_EndSign(pc),a2
jsr CreateChild6_Simple(pc)
lea PLC_EndSignStuff(pc),a1
@@ -186042,7 +186090,7 @@ Obj_EndSignControlAwaitStart: bne.w locret_8405E
move.l #Obj_EndSignControlDoStart,(a0)
jsr Restore_PlayerControl(pc)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
jmp Restore_PlayerControl2(pc)
; ---------------------------------------------------------------------------
@@ -186060,12 +186108,12 @@ Obj_EndSignControlDoStart: Check_CameraInRange:
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
cmp.w (a1)+,d0
bcs.s loc_85C74
cmp.w (a1)+,d0
bhi.s loc_85C74
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
cmp.w (a1)+,d1
bcs.s loc_85C74
cmp.w (a1)+,d1
@@ -186096,13 +186144,13 @@ loc_85C74: loc_85C7E:
- move.w ($FFFFEE78).w,($FFFFEE14).w
- move.w ($FFFFEE12).w,d0
- cmp.w ($FFFFEE1A).w,d0
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
+ move.w (Camera_target_max_Y_pos).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
bcs.s locret_85CA2
- move.w d0,($FFFFEE18).w
+ move.w d0,(Camera_min_Y_pos).w
move.w $3A(a0),d0
- cmp.w ($FFFFEE78).w,d0
+ cmp.w (Camera_X_pos).w,d0
bhi.s locret_85CA2
movea.l $34(a0),a1
jsr (a1)
@@ -186127,12 +186175,12 @@ loc_85CC6: btst #1,$27(a0)
bne.s loc_85D06
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
tst.b $27(a0)
bmi.s loc_85CE6
cmp.w ($FFFFFAB0).w,d0
bcc.s loc_85CF2
- move.w d0,($FFFFEE18).w
+ move.w d0,(Camera_min_Y_pos).w
bra.w loc_85D06
; ---------------------------------------------------------------------------
@@ -186144,35 +186192,35 @@ loc_85CE6: loc_85CF2:
bset #1,$27(a0)
- move.w ($FFFFFAB0).w,($FFFFEE18).w
+ move.w ($FFFFFAB0).w,(Camera_min_Y_pos).w
move.w ($FFFFFAB2).w,d0
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_target_max_Y_pos).w
loc_85D06:
btst #2,$27(a0)
bne.s loc_85D48
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
btst #6,$27(a0)
bne.s loc_85D28
cmp.w ($FFFFFAB4).w,d0
bcc.s loc_85D36
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_min_X_pos).w
bra.w loc_85D48
; ---------------------------------------------------------------------------
loc_85D28:
cmp.w ($FFFFFAB6).w,d0
bls.s loc_85D36
- move.w d0,($FFFFEE16).w
+ move.w d0,(Camera_max_X_pos).w
bra.w loc_85D48
; ---------------------------------------------------------------------------
loc_85D36:
bset #2,$27(a0)
- move.w ($FFFFFAB4).w,($FFFFEE14).w
- move.w ($FFFFFAB6).w,($FFFFEE16).w
+ move.w ($FFFFFAB4).w,(Camera_min_X_pos).w
+ move.w ($FFFFFAB6).w,(Camera_max_X_pos).w
loc_85D48:
@@ -186191,7 +186239,7 @@ loc_85D48: sub_85D6A:
- move.b #1,($FFFFF7AA).w
+ move.b #1,(Boss_flag).w
loc_85D70:
moveq #-$1F,d0
@@ -186199,10 +186247,10 @@ loc_85D70: move.w #$78,$2E(a0)
loc_85D7E:
- move.w ($FFFFEE18).w,($FFFFFA96).w
- move.w ($FFFFEE12).w,($FFFFFA98).w
- move.w ($FFFFEE14).w,($FFFFFA94).w
- move.w ($FFFFEE16).w,($FFFFFA92).w
+ move.w (Camera_min_Y_pos).w,($FFFFFA96).w
+ move.w (Camera_target_max_Y_pos).w,($FFFFFA98).w
+ move.w (Camera_min_X_pos).w,($FFFFFA94).w
+ move.w (Camera_max_X_pos).w,($FFFFFA92).w
move.w (a1)+,($FFFFFAB0).w
move.w (a1)+,($FFFFFAB2).w
move.w (a1)+,($FFFFFAB4).w
@@ -186216,7 +186264,7 @@ loc_85D7E: Change_Act2Sizes:
moveq #0,d0
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone).w,d0
cmpi.b #8,d0
beq.w locret_8405E ; SOZ1 has a special event leading to SOZ2, so don't mess around there
lsl.w #4,d0
@@ -186227,7 +186275,7 @@ Change_Act2Sizes: move.w (a1)+,($FFFFFA96).w
move.w (a1)+,d1
move.w d1,($FFFFFA98).w ; Put level sizes into the target size memory
- move.w d1,($FFFFEE12).w
+ move.w d1,(Camera_target_max_Y_pos).w
cmpi.b #$10,d0
beq.w locret_8405E ; If we're in HCZ, don't immediately apply these changes. There's another event to do.
; End of function Change_Act2Sizes
@@ -186250,7 +186298,7 @@ Child1_Act2LevelSize:dc.w 2 dc.l Obj_IncLevEndYGradual
dc.w 0
; ---------------------------------------------------------------------------
- lea ($FFFFFE10).w,a1 ; Unused
+ lea (Current_zone_and_act).w,a1 ; Unused
moveq #0,d0
moveq #0,d1
move.b (a1)+,d0
@@ -186268,7 +186316,7 @@ loc_85E0E: move.w (a1)+,($FFFFFA96).w
move.w (a1)+,d1
move.w d1,($FFFFFA98).w
- move.w d1,($FFFFEE12).w
+ move.w d1,(Camera_target_max_Y_pos).w
lea (Child7_ChangeLevSize).l,a2
jmp CreateChild7_Normal2(pc)
@@ -186277,11 +186325,11 @@ loc_85E0E: StartNewLevel:
- move.w d0,($FFFFFE10).w
- move.w d0,($FFFFEE4E).w
- move.w #1,($FFFFFE02).w
- clr.b ($FFFFFE2A).w
- clr.b ($FFFFFE48).w
+ move.w d0,(Current_zone_and_act).w
+ move.w d0,(Apparent_zone_and_act).w
+ move.w #1,(Restart_level_flag).w
+ clr.b (Last_star_post_hit).w
+ clr.b (Special_bonus_entry_flag).w
rts
; End of function StartNewLevel
@@ -186309,7 +186357,7 @@ loc_85E74: subq.w #1,$2E(a0)
bpl.s locret_85EA8
move.w $3A(a0),$2E(a0)
- lea ($FFFFFC00).w,a1
+ lea (Normal_palette).w,a1
moveq #$3F,d0
loc_85E86:
@@ -186380,8 +186428,8 @@ loc_85EF8: subq.w #1,$2E(a0)
bpl.w locret_8405E
move.w #3,$2E(a0)
- lea ($FFFFFC00).w,a1
- lea ($FFFFFC80).w,a2
+ lea (Normal_palette).w,a1
+ lea (Target_palette).w,a2
moveq #$3F,d0
loc_85F10:
@@ -186431,10 +186479,10 @@ loc_85F62: ; End of function sub_85F2A
; ---------------------------------------------------------------------------
- move.w ($FFFFFF08).w,d0
+ move.w (Player_mode).w,d0
cmpi.w #2,d0
beq.s loc_85F7E
- cmpi.w #7,($FFFFFFB0).w
+ cmpi.w #7,(Emerald_count).w
beq.s loc_85F82
moveq #0,d0
rts
@@ -186454,7 +186502,7 @@ loc_85F82: BossDefeated_StopTimer:
- clr.b ($FFFFFE1E).w
+ clr.b (Update_HUD_timer).w
; End of function BossDefeated_StopTimer
@@ -186477,7 +186525,7 @@ BossDefeated: Player_Load_PLC:
move.l a0,-(sp)
- lea ($FFFFB000).w,a0
+ lea (Player_1).w,a0
moveq #0,d0
move.b $38(a0),d0
lsl.w #2,d0
@@ -186521,7 +186569,7 @@ PLCLoad_AnimalsAndExplosion: lea PLC_83D6C(pc),a1
jsr (Load_PLC_Raw).l
moveq #0,d0
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone).w,d0
add.w d0,d0
move.w off_85FFE(pc,d0.w),d0
lea off_85FFE(pc,d0.w),a1
@@ -186628,12 +186676,12 @@ PLC_860E4: dc.w 1 AddRings:
- lea ($FFFFFE20).w,a2
- lea ($FFFFFE1D).w,a3
- lea ($FFFFFE1B).w,a4
+ lea (Ring_count).w,a2
+ lea (Update_HUD_ring_count).w,a3
+ lea (Extra_life_flags).w,a4
loc_860FE:
- lea ($FFFFFEC8).w,a5
+ lea (Total_ring_count).w,a5
move.w #$3E7,d1
add.w d0,(a5)
cmp.w (a5),d1
@@ -186666,8 +186714,8 @@ loc_86132: loc_8613A:
addq.w #1,($FFFFFECC).w ; Add an extra life
- addq.b #1,($FFFFFE12).w
- addq.b #1,($FFFFFE1C).w
+ addq.b #1,(Life_count).w
+ addq.b #1,(Update_HUD_life_count).w
moveq #$2A,d0
jmp (Play_Sound).l
@@ -186730,7 +186778,7 @@ sub_8619A: ; ---------------------------------------------------------------------------
loc_861C0:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #0,d0
move.w $10(a1),d0
moveq #0,d1
@@ -186965,7 +187013,7 @@ loc_86346: move.w #$4848,d0
loc_86358:
- move.w d0,($FFFFF602).w
+ move.w d0,(Ctrl_1_logical).w
rts
; =============== S U B R O U T I N E =======================================
@@ -186990,9 +187038,9 @@ sub_8635E: sub_8638A:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_8639C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.b 4(a1)
bpl.s locret_863BE
; End of function sub_8638A
@@ -187019,21 +187067,21 @@ locret_863BE: loc_863C0:
- tst.l ($FFFFB04A).w
+ tst.l (Player_2).w
beq.s loc_863E6
- move.b #1,($FFFFF7CB).w
+ move.b #1,(Ctrl_2_locked).w
clr.w ($FFFFF702).w
move.l #loc_863D6,(a0)
loc_863D6:
- tst.b ($FFFFF7CB).w
+ tst.b (Ctrl_2_locked).w
beq.s loc_863E2
- clr.w ($FFFFF66A).w
+ clr.w (Ctrl_2_logical).w
rts
; ---------------------------------------------------------------------------
loc_863E2:
- clr.w ($FFFFF606).w
+ clr.w (Ctrl_2).w
loc_863E6:
jmp (Delete_Current_Sprite).l
@@ -187041,15 +187089,15 @@ loc_863E6: Obj_B3_2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
lea word_86426(pc),a2
jsr (Check_InMyRange).l
beq.w locret_8405E
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_86418
- cmpi.b #9,($FFFFFE10).w
+ cmpi.b #9,(Current_zone).w
bne.s loc_86418
- st ($FFFFEF56).w
+ st (SRAM_mask_interrupts_flag).w
jsr (SaveGame).l
loc_86418:
@@ -187113,40 +187161,40 @@ loc_86478: ; ---------------------------------------------------------------------------
loc_8648C:
- addi.w #$32,($FFFFFE20).w
+ addi.w #$32,(Ring_count).w
move.b #1,($FFFFF65F).w
move.b #$F,($FFFFF65E).w
- move.b #1,($FFFFFE19).w
+ move.b #1,(Super_Sonic_Knux_flag).w
move.w #$3C,($FFFFF670).w
- move.w #$800,($FFFFF760).w
- move.w #$18,($FFFFF762).w
- move.w #$C0,($FFFFF764).w
+ move.w #$800,(Sonic_Knux_top_speed).w
+ move.w #$18,(Sonic_Knux_acceleration).w
+ move.w #$C0,(Sonic_Knux_deceleration).w
move.b #$1F,($FFFFB020).w
- cmpi.w #2,($FFFFFF08).w
+ cmpi.w #2,(Player_mode).w
bne.s loc_864F8
- move.b #0,($FFFFFE19).w
- move.b #1,($FFFFF667).w
+ move.b #0,(Super_Sonic_Knux_flag).w
+ move.b #1,(Super_Tails_flag).w
move.b #$29,($FFFFB020).w
move.w #$800,($FFFFFEC0).w
move.w #$18,($FFFFFEC2).w
move.w #$C0,($FFFFFEC4).w
- move.l #Obj_HyperTails_Birds,($FFFFCD7C).w
+ move.l #Obj_HyperTails_Birds,(Hyper_Sonic_stars).w
bra.s loc_8652C
; ---------------------------------------------------------------------------
loc_864F8:
bcc.s loc_86524
move.l #Map_SuperSonic,($FFFFB00C).w
- move.b #-1,($FFFFFE19).w
- move.w #$A00,($FFFFF760).w
- move.w #$30,($FFFFF762).w
- move.w #$100,($FFFFF764).w
- move.l #Obj_HyperSonic_19348,($FFFFCD7C).w
+ move.b #-1,(Super_Sonic_Knux_flag).w
+ move.w #$A00,(Sonic_Knux_top_speed).w
+ move.w #$30,(Sonic_Knux_acceleration).w
+ move.w #$100,(Sonic_Knux_deceleration).w
+ move.l #Obj_HyperSonic_19348,(Hyper_Sonic_stars).w
bra.s loc_8652C
; ---------------------------------------------------------------------------
loc_86524:
- move.l #Obj_HyperSonicKnux_Trail,($FFFFCBC0).w
+ move.l #Obj_HyperSonicKnux_Trail,(Super_stars).w
loc_8652C:
@@ -187194,11 +187242,11 @@ loc_8657A: loc_86592:
move.b #8,5(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$A0,d0
move.w d0,$10(a0)
move.w d0,$3E(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$40,d0
move.w d0,$14(a0)
move.w #1,$3A(a0)
@@ -187218,9 +187266,9 @@ loc_865D0: sub_865DE:
- cmpi.b #2,($FFFFFE10).w
+ cmpi.b #2,(Current_zone).w
beq.s loc_865EA
- st ($FFFFF7CB).w
+ st (Ctrl_2_locked).w
loc_865EA:
move.b #1,$22(a0)
@@ -187251,7 +187299,7 @@ loc_86626: ; ---------------------------------------------------------------------------
loc_8662A:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
move.w $3A(a0),d1
bmi.s loc_86642
addi.w #$110,d0
@@ -187272,9 +187320,9 @@ loc_8664E: move.w d1,$3A(a0)
add.w d1,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$40,d0
- cmpi.b #2,($FFFFFE10).w
+ cmpi.b #2,(Current_zone).w
bne.s loc_8666A
subi.w #$20,d0
@@ -187289,7 +187337,7 @@ loc_86678: btst #1,$38(a0)
beq.s loc_86698
moveq #0,d0
- move.b ($FFFFFE10).w,d0
+ move.b (Current_zone).w,d0
move.b byte_866A2(pc,d0.w),5(a0)
move.w a1,$44(a0)
bsr.w sub_865DE
@@ -187350,7 +187398,7 @@ loc_866EC: loc_866F4:
jsr Swing_UpAndDown(pc)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
subi.w #$60,d0
cmp.w $10(a0),d0
bcs.s loc_8670C
@@ -187450,7 +187498,7 @@ loc_867D6: lea ObjDat3_86B44(pc),a1
jsr SetUp_ObjAttributes(pc)
- cmpi.w #$400,($FFFFFE10).w
+ cmpi.w #$400,(Current_zone_and_act).w
bne.s loc_867EC
move.w #$44E,$A(a0)
@@ -187539,7 +187587,7 @@ loc_868B2: ; ---------------------------------------------------------------------------
loc_868B6:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #$300,d0
move.w #$100,d1
moveq #$10,d2
@@ -187569,7 +187617,7 @@ sub_868F8: subq.w #1,$2E(a0)
bpl.s locret_86930
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
btst #7,$2A(a1)
bne.s locret_86930
btst #1,$2A(a1)
@@ -187595,15 +187643,15 @@ Check_TailsEndPose: tst.b ($FFFFFAA8).w
beq.w locret_8661C
- cmpi.b #3,($FFFFFE10).w
+ cmpi.b #3,(Current_zone).w
bne.s loc_8694A
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w Set_PlayerEndingPose
loc_8694A:
btst #7,$38(a0)
bne.w locret_8661C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
btst #7,$2A(a1)
bne.w locret_8661C
btst #1,$2A(a1)
@@ -187611,7 +187659,7 @@ loc_8694A: cmpi.b #6,5(a1)
bcc.w locret_8661C
bset #7,$38(a0)
- clr.b ($FFFFF7CB).w
+ clr.b (Ctrl_2_locked).w
jmp Set_PlayerEndingPose(pc)
; End of function Check_TailsEndPose
@@ -187622,14 +187670,14 @@ loc_8694A: sub_86984:
subq.w #1,$2E(a0)
bpl.s locret_869C4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.b #6,5(a1)
bcc.s locret_869C4
tst.b 4(a1)
bpl.s locret_869C4
cmpi.b #1,$38(a1)
beq.s loc_869AA
- tst.b ($FFFFF73E).w
+ tst.b (Flying_carrying_Sonic_flag).w
beq.s locret_869C4
loc_869AA:
@@ -187778,14 +187826,14 @@ sub_86A7A: loc_86AB0:
andi.w #2,d0
move.w d0,d2
- cmpi.w #$400,($FFFFFE10).w
+ cmpi.w #$400,(Current_zone_and_act).w
bne.s loc_86AC0
addq.w #4,d2
loc_86AC0:
move.w word_86B16(pc,d2.w),$A(a0)
moveq #0,d2
- move.b ($FFFFFE10).w,d2
+ move.b (Current_zone).w,d2
add.w d2,d2
lea (byte_2C7BA).l,a1
adda.w d2,a1
@@ -188145,7 +188193,7 @@ loc_86EEE: loc_86EFC:
- cmpi.w #1,($FFFFFE10).w
+ cmpi.w #1,(Current_zone_and_act).w
beq.s loc_86F26
jsr Refresh_ChildPositionAdjusted(pc)
moveq #0,d0
@@ -189002,7 +189050,7 @@ loc_8760A: sub_87638:
jsr (Random_Number).l
- move.w ($FFFFF636).w,d0
+ move.w (RNG_seed).w,d0
moveq #1,d1
btst #0,d0
beq.s loc_8764C
@@ -189420,7 +189468,7 @@ loc_879C4: addq.w #4,sp
move.b $2C(a0),d0
andi.w #$F,d0
- lea ($FFFFF7E0).w,a3
+ lea (Level_trigger_array).w,a3
st (a3,d0.w)
jsr EnemyDefeated(pc)
jmp (Draw_Sprite).l
@@ -189620,7 +189668,7 @@ loc_87B72: sub_87B88:
move.w $14(a0),d0
- move.w ($FFFFF646).w,d1
+ move.w (Water_level).w,d1
subi.w #8,d1
cmp.w d1,d0
bcs.s locret_87B9E
@@ -190091,7 +190139,7 @@ loc_87FCA: loc_87FCE:
move.w $14(a0),d4
- move.w ($FFFFF646).w,d5
+ move.w (Water_level).w,d5
addq.w #8,d5
cmp.w d5,d4
bhi.s loc_87FE4
@@ -190127,7 +190175,7 @@ loc_88024: tst.w $1A(a0)
bmi.s loc_88052
move.w $14(a0),d0
- cmp.w ($FFFFF646).w,d0
+ cmp.w (Water_level).w,d0
bcs.s loc_88052
move.w $1A(a0),d0
addi.w #-$20,d0
@@ -190167,9 +190215,9 @@ loc_88076: bne.s loc_88108
btst #2,$38(a0)
beq.s loc_880AE
- move.w ($FFFFF604).w,d0
+ move.w (Ctrl_1).w,d0
andi.w #-$7374,d0
- move.w d0,($FFFFF602).w
+ move.w d0,(Ctrl_1_logical).w
loc_880AE:
move.w $10(a1),d0
@@ -190207,7 +190255,7 @@ loc_88108: bclr #2,$38(a0)
beq.s loc_88114
- clr.b ($FFFFF7CA).w
+ clr.b (Ctrl_1_locked).w
loc_88114:
move.l #MoveChkDel,(a0)
@@ -190245,8 +190293,8 @@ loc_8813A: bne.w loc_881F6
cmpi.w #1,d2
bne.s loc_88190
- clr.w ($FFFFF602).w
- st ($FFFFF7CA).w
+ clr.w (Ctrl_1_logical).w
+ st (Ctrl_1_locked).w
bset #2,$38(a0)
loc_88190:
@@ -190295,23 +190343,23 @@ sub_881FE: subq.w #1,$2E(a0)
bpl.s loc_88246
move.w #$3B,$2E(a0)
- ori.b #1,($FFFFFE1D).w
+ ori.b #1,(Update_HUD_ring_count).w
bset #7,$38(a0)
- move.w ($FFFFFE20).w,d0
+ move.w (Ring_count).w,d0
subq.w #1,d0
bmi.s loc_88258
beq.s loc_88230
- cmpi.w #$A,($FFFFFE20).w
+ cmpi.w #$A,(Ring_count).w
beq.s loc_88230
- cmpi.w #$64,($FFFFFE20).w
+ cmpi.w #$64,(Ring_count).w
bne.s loc_88236
loc_88230:
- ori.b #-$80,($FFFFFE1D).w
+ ori.b #-$80,(Update_HUD_ring_count).w
loc_88236:
- move.w d0,($FFFFFE20).w
+ move.w d0,(Ring_count).w
moveq #$33,d0
jsr (Play_Sound_2).l
@@ -190323,7 +190371,7 @@ loc_88242: loc_88246:
bclr #7,$38(a0)
beq.s loc_88242
- andi.b #-2,($FFFFFE1D).w
+ andi.b #-2,(Update_HUD_ring_count).w
moveq #0,d0
rts
; ---------------------------------------------------------------------------
@@ -190679,8 +190727,8 @@ loc_885A4: jsr SetUp_ObjAttributes(pc)
move.b #6,$29(a0)
move.b #$28,$1E(a0)
- move.w #$2E00,($FFFFEE16).w
- move.w #$E10,($FFFFEE12).w
+ move.w #$2E00,(Camera_max_X_pos).w
+ move.w #$E10,(Camera_target_max_Y_pos).w
move.w #$2E00,$3A(a0)
move.l #loc_88616,$34(a0)
jsr (Swing_Setup1).l
@@ -190744,7 +190792,7 @@ loc_8867E: st ($FFFFEECC).w
move.w #$7F,$2E(a0)
move.l #loc_88716,$34(a0)
- move.w ($FFFFEE78).w,$10(a0)
+ move.w (Camera_X_pos).w,$10(a0)
jsr (Random_Number).l
andi.w #$E,d0
move.w word_886DA(pc,d0.w),d1
@@ -190863,10 +190911,10 @@ loc_887CA: ; ---------------------------------------------------------------------------
loc_887DA:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addq.w #1,d0
- move.w d0,($FFFFEE78).w
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_X_pos).w
+ move.w d0,(Camera_min_X_pos).w
cmpi.w #$2E00,d0
bcs.w locret_884D0
jmp (Delete_Current_Sprite).l
@@ -190917,7 +190965,7 @@ loc_88864: lea ObjDat3_88B20(pc),a1
jsr SetUp_ObjAttributes(pc)
move.l #loc_888A6,(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
addi.w #$30,d0
btst #0,4(a0)
beq.s loc_88886
@@ -190925,7 +190973,7 @@ loc_88864: loc_88886:
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
addi.w #$F0,d0
move.w d0,$14(a0)
move.w d0,$3A(a0)
@@ -190955,7 +191003,7 @@ loc_888A6: andi.b #1,d0
beq.s loc_88902
bclr #5,$2A(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $14(a1),d0
sub.w $14(a0),d0
addi.w #$28,d0
@@ -190967,7 +191015,7 @@ loc_88902: andi.b #2,d6
beq.s loc_88926
bclr #6,$2A(a0)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w $14(a1),d0
sub.w $14(a0),d0
addi.w #$28,d0
@@ -191089,11 +191137,11 @@ sub_88A32: bne.s locret_88A60
jsr (Random_Number).l
andi.w #$1FF,d0
- move.w ($FFFFEE78).w,d1
+ move.w (Camera_X_pos).w,d1
subi.w #$40,d1
add.w d0,d1
move.w d1,$10(a1)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$20,d0
move.w d0,$14(a1)
@@ -192213,7 +192261,7 @@ loc_893C6: loc_893CC:
lea byte_8947A(pc),a1
jsr Animate_RawNoSST(pc)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #$200,d0
moveq #8,d1
jsr Chase_Object(pc)
@@ -193047,7 +193095,7 @@ Obj_FBZSpringPlunger: btst #3,d0
beq.s loc_89CC4
move.b #$C,$22(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #-$A00,d0
jsr (sub_8635E).l
@@ -193055,7 +193103,7 @@ loc_89CC4: btst #4,d0
beq.s loc_89CDE
move.b #$C,$22(a0)
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
move.w #-$A00,d0
jsr (sub_8635E).l
@@ -193108,7 +193156,7 @@ loc_89D44: lea ObjDat3_89E9C(pc),a1
jsr SetUp_ObjAttributes(pc)
move.l #Obj_Bouncing_Ring,(a0)
- move.b #-1,($FFFFFEB6).w
+ move.b #-1,(Ring_spill_anim_counter).w
move.b #8,$1E(a0)
move.b #8,$1F(a0)
move.b #-$7C,4(a0)
@@ -193190,7 +193238,7 @@ sub_89DEE: move.w d0,d2
move.w byte_89E74(pc,d2.w),$A(a0)
moveq #0,d2
- move.b ($FFFFFE10).w,d2
+ move.b (Current_zone).w,d2
add.w d2,d2
lea (byte_2C7BA).l,a1
adda.w d2,a1
@@ -193397,7 +193445,7 @@ loc_89FEA: loc_89FF2:
btst #5,$2A(a0)
beq.s loc_8A004
- move.b ($FFFFF604).w,d0
+ move.b (Ctrl_1).w,d0
andi.b #$C,d0
bne.s loc_8A00A
@@ -193411,7 +193459,7 @@ loc_8A00A: cmpi.b #$10,$39(a0)
bcs.w locret_8A034
move.b #8,5(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr Find_SonicTails(pc)
move.w #$80,d1
tst.w d0
@@ -193427,9 +193475,9 @@ locret_8A034: ; ---------------------------------------------------------------------------
loc_8A036:
- cmpi.w #-$100,($FFFFEE18).w
+ cmpi.w #-$100,(Camera_min_Y_pos).w
bne.s loc_8A046
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,$14(a0)
loc_8A046:
@@ -193479,7 +193527,7 @@ loc_8A09E: loc_8A0AA:
move.b #$C,5(a0)
- clr.b ($FFFFEE39).w
+ clr.b (Fast_V_scroll_flag).w
clr.w $18(a0)
clr.w $1A(a0)
tst.b $2C(a0)
@@ -193687,7 +193735,7 @@ loc_8A2A0: bne.s loc_8A2DC
move.w $10(a1),d0
move.w $14(a1),d1
- and.w ($FFFFEEAA).w,d1
+ and.w (Screen_Y_wrap_value).w,d1
move.w $10(a0),d2
move.w $14(a0),d3
lea word_8A2FC(pc),a2
@@ -193832,7 +193880,7 @@ loc_8A3BE: sub_8A3C4:
- clr.b ($FFFFEE39).w
+ clr.b (Fast_V_scroll_flag).w
tst.w $18(a0)
bne.s loc_8A3D4
tst.w $1A(a0)
@@ -193841,7 +193889,7 @@ sub_8A3C4: loc_8A3D4:
btst #3,$2A(a0)
beq.s locret_8A3E0
- st ($FFFFEE39).w
+ st (Fast_V_scroll_flag).w
locret_8A3E0:
@@ -193976,7 +194024,7 @@ loc_8A4D6: ; ---------------------------------------------------------------------------
loc_8A4DE:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr Find_OtherObject(pc)
cmpi.w #$28,d2
bcs.w locret_8A4C2
@@ -194103,7 +194151,7 @@ loc_8A5DA: ; ---------------------------------------------------------------------------
loc_8A5E4:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr Find_OtherObject(pc)
btst #0,4(a0)
beq.s loc_8A5F6
@@ -194333,7 +194381,7 @@ loc_8A7F2: ; ---------------------------------------------------------------------------
loc_8A80C:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
tst.w $18(a0)
bmi.s loc_8A824
addi.w #$128,d0
@@ -194556,10 +194604,10 @@ word_8AA30: dc.w $FFF0, $20, $FFD8, $50 sub_8AA38:
- lea ($FFFFB000).w,a3
+ lea (Player_1).w,a3
cmpa.w $44(a0),a3
bne.s loc_8AA46
- lea ($FFFFB04A).w,a3
+ lea (Player_2).w,a3
loc_8AA46:
tst.w $1A(a3)
@@ -194706,7 +194754,7 @@ loc_8AB6A: ; ---------------------------------------------------------------------------
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_8AB82
rts
@@ -194751,9 +194799,9 @@ loc_8ABC2: beq.s loc_8ABF4
tst.b $2C(a0)
bne.s loc_8ABF4
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_8AC80
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
swap d0
addq.b #1,d1
bsr.w sub_8AC80
@@ -195318,10 +195366,10 @@ sub_8B080: andi.b #$18,d1
beq.s locret_8B0AE
movea.w $46(a0),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #3,d2
bsr.w sub_8B0B0
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
moveq #4,d2
bsr.w sub_8B0B0
@@ -195678,14 +195726,14 @@ sub_8B3AA: move.b $2A(a0),d0
btst #3,d0
beq.s loc_8B3C0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
cmpi.b #2,$3A(a0)
beq.s loc_8B3D2
loc_8B3C0:
btst #4,d0
beq.s locret_8B430
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
cmpi.b #2,$3B(a0)
bne.s locret_8B430
@@ -195700,7 +195748,7 @@ loc_8B3D2: move.b #2,5(a1)
btst #4,$2A(a0)
beq.s loc_8B41A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bset #1,$2A(a1)
bclr #3,$2A(a1)
@@ -195967,8 +196015,8 @@ loc_8B660: move.w a0,($FFFFFAAE).w
btst #5,$38(a0)
bne.s loc_8B6A8
- move.w ($FFFFEE80).w,$10(a0)
- move.w ($FFFFEE84).w,$14(a0)
+ move.w (Camera_X_pos_copy).w,$10(a0)
+ move.w (Camera_Y_pos_copy).w,$14(a0)
subq.w #8,$14(a0)
subq.w #1,$2E(a0)
bpl.s locret_8B6A6
@@ -196003,11 +196051,11 @@ loc_8B6AE: lsl.w #2,d0
loc_8B6D2:
- add.w ($FFFFEE78).w,d0
+ add.w (Camera_X_pos).w,d0
cmpi.w #$380,d0
bcs.s loc_8B756
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subq.w #4,d0
move.w d0,$14(a0)
swap d0
@@ -196352,13 +196400,13 @@ sub_8B9D8: beq.s locret_8BA1A
btst #3,d3
beq.s loc_8B9F0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_8B9FA
loc_8B9F0:
btst #4,d3
beq.s locret_8BA1A
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; End of function sub_8B9D8
@@ -196404,7 +196452,7 @@ sub_8BA1C: moveq #3,d4
btst d4,d2
beq.s loc_8BA6C
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_8BA7E
loc_8BA6C:
@@ -196412,7 +196460,7 @@ loc_8BA6C: btst d4,d2
beq.s locret_8BA7C
swap d0
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
bsr.w sub_8BA7E
locret_8BA7C:
@@ -197769,7 +197817,7 @@ loc_8C64E: ; ---------------------------------------------------------------------------
loc_8C662:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr Find_OtherObject(pc)
bclr #0,4(a0)
move.w #-$80,d1
@@ -197818,7 +197866,7 @@ loc_8C6CA: sub_8C6D4:
- lea ($FFFFB000).w,a2
+ lea (Player_1).w,a2
btst #1,$2A(a2)
bne.s loc_8C6EC
tst.w $18(a2)
@@ -198169,7 +198217,7 @@ loc_8C994: ; ---------------------------------------------------------------------------
loc_8C9B2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #$200,d0
moveq #$10,d1
jsr Chase_ObjectXOnly(pc)
@@ -198177,7 +198225,7 @@ loc_8C9B2: moveq #$10,d1
jsr Chase_ObjectYOnly(pc)
jsr (MoveSprite2).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr Find_OtherObject(pc)
tst.w d1
beq.s loc_8C9E2
@@ -198207,7 +198255,7 @@ loc_8CA16: loc_8CA22:
move.b #6,5(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr Find_OtherObject(pc)
move.w #$200,d1
bset #0,4(a0)
@@ -198266,7 +198314,7 @@ loc_8CAAC: ; ---------------------------------------------------------------------------
loc_8CADA:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w #$200,d0
moveq #$10,d1
jsr Chase_ObjectXOnly(pc)
@@ -198377,8 +198425,8 @@ loc_8CB9E: move.b #-1,$29(a0)
st ($FFFFFAAB).w
jsr (Swing_Setup1).l
- move.w #$3820,($FFFFEE14).w
- move.w #$3AE8,($FFFFEE16).w
+ move.w #$3820,(Camera_min_X_pos).w
+ move.w #$3AE8,(Camera_max_X_pos).w
moveq #$60,d0
jsr (Load_PLC).l
lea (ArtKosM_LBZMinibossBox).l,a1
@@ -198391,7 +198439,7 @@ loc_8CB9E: ; ---------------------------------------------------------------------------
loc_8CBF2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
tst.w d1
beq.s loc_8CC20
@@ -198432,8 +198480,8 @@ loc_8CC3C: ; ---------------------------------------------------------------------------
loc_8CC5A:
- lea ($FFFFB000).w,a1
- cmpi.w #$3B40,($FFFFEE78).w
+ lea (Player_1).w,a1
+ cmpi.w #$3B40,(Camera_X_pos).w
bcs.s locret_8CC76
cmpi.w #$1C0,$14(a1)
bcs.s locret_8CC76
@@ -198468,10 +198516,10 @@ loc_8CC8C: ; ---------------------------------------------------------------------------
loc_8CCB4:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
cmpi.w #$3E50,d0
bcc.s loc_8CCC2
- move.w d0,($FFFFEE14).w
+ move.w d0,(Camera_min_X_pos).w
loc_8CCC2:
jsr (Find_SonicTails).l
@@ -198562,8 +198610,8 @@ Obj_C4_1: tst.b ($FFFFFAAB).w
bne.s loc_8CDEA
move.l #loc_8CDF2,(a0)
- move.w #$3EA0,($FFFFEE16).w
- move.w #$3C00,($FFFFEE14).w
+ move.w #$3EA0,(Camera_max_X_pos).w
+ move.w #$3C00,(Camera_min_X_pos).w
lea ChildObjDat_8D25C(pc),a2
jsr (CreateChild3_NormalRepeated).l
bsr.w sub_8D116
@@ -198577,19 +198625,19 @@ loc_8CDEA: ; ---------------------------------------------------------------------------
loc_8CDF2:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
cmpi.w #$70,d2
bcc.s loc_8CE1C
move.l #Obj_Wait,(a0)
- move.w #$3DA0,($FFFFEE14).w
+ move.w #$3DA0,(Camera_min_X_pos).w
move.w #$1F,$2E(a0)
move.l #loc_8CD9C,$34(a0)
loc_8CE1C:
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_8CE30
rts
@@ -198704,7 +198752,7 @@ loc_8CF10: loc_8CF1E:
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_8CF36
jmp (Draw_Sprite).l
@@ -198737,18 +198785,18 @@ word_8CF70: dc.w $7B6, $9C0, $3BA0, $3CA0 Obj_C5_1:
lea word_8CF70(pc),a1
jsr (Check_CameraInRange).l
- move.w (a1)+,($FFFFEE18).w
- move.w (a1),($FFFFEE1A).w
- move.w (a1)+,($FFFFEE12).w
- move.w (a1)+,($FFFFEE14).w
- move.w (a1)+,($FFFFEE16).w
+ move.w (a1)+,(Camera_min_Y_pos).w
+ move.w (a1),(Camera_max_Y_pos).w
+ move.w (a1)+,(Camera_target_max_Y_pos).w
+ move.w (a1)+,(Camera_min_X_pos).w
+ move.w (a1)+,(Camera_max_X_pos).w
bsr.w sub_8D0EA
lea ChildObjDat_8D26C(pc),a2
jsr (CreateChild1_Normal).l
move.l #loc_8CFB2,(a0)
loc_8CFB2:
- cmpi.w #$932,($FFFFEE7C).w
+ cmpi.w #$932,(Camera_Y_pos).w
bcs.s locret_8CFC6
move.l #loc_8CFC8,(a0)
bset #1,$38(a0)
@@ -198766,13 +198814,13 @@ loc_8CFC8: move.w #$1F,$2E(a0)
move.w #$A80,d0
move.w d0,($FFFFFA98).w
- move.w d0,($FFFFEE12).w
+ move.w d0,(Camera_target_max_Y_pos).w
jsr (Create_New_Sprite).l
bne.s loc_8CFFE
move.l #Obj_Song_Fade_ToLevelMusic,(a1)
loc_8CFFE:
- clr.b ($FFFFFE1E).w
+ clr.b (Update_HUD_timer).w
lea (Child6_IncLevY).l,a2
jsr (CreateChild6_Simple).l
lea ChildObjDat_8D27A(pc),a2
@@ -198792,7 +198840,7 @@ loc_8D020: ; ---------------------------------------------------------------------------
loc_8D02E:
- cmpi.w #$A7C,($FFFFEE7C).w
+ cmpi.w #$A7C,(Camera_Y_pos).w
bcs.s locret_8D044
move.l #Wait_FadeToLevelMusic,(a0)
move.l #Obj_EndSignControl,$34(a0)
@@ -199061,7 +199109,7 @@ loc_8D2B6: clr.b $29(a0)
cmpi.b #2,d0
beq.w loc_8D33E
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
tst.b $2E(a1)
bne.w loc_8D33E
move.l #loc_8D370,(a0)
@@ -199195,7 +199243,7 @@ loc_8D47C: bcs.s loc_8D4C2
move.l #loc_8D4CC,(a0)
clr.w ($FFFFEECC).w
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
clr.b $2E(a1)
bset #1,$2A(a1)
move.w #-$100,$18(a1)
@@ -199229,7 +199277,7 @@ loc_8D4E4: sub_8D506:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a0),d0
subq.w #4,d0
move.w d0,$10(a1)
@@ -199240,7 +199288,7 @@ sub_8D506: ; End of function sub_8D506
; ---------------------------------------------------------------------------
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
tst.l (a1)
beq.s loc_8D538
tst.b 4(a1)
@@ -199250,7 +199298,7 @@ sub_8D506: loc_8D532:
clr.l (a1)
- clr.l ($FFFFCC0A).w
+ clr.l (Tails_tails).w
loc_8D538:
jmp (Delete_Current_Sprite).l
@@ -199260,7 +199308,7 @@ loc_8D538: sub_8D53E:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
moveq #0,d0
move.b $38(a1),d0
move.b RawAni_8D55C(pc,d0.w),$22(a1)
@@ -199448,11 +199496,11 @@ loc_8D6E6: jsr off_8D73C(pc,d1.w)
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_8D724
move.w $14(a0),d0
- sub.w ($FFFFEE7C).w,d0
+ sub.w (Camera_Y_pos).w,d0
addi.w #$80,d0
cmpi.w #$200,d0
bhi.s loc_8D724
@@ -200573,9 +200621,9 @@ off_8E374: dc.l Map_MHZPollen sub_8E37C:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_8E388
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; End of function sub_8E37C
@@ -200761,7 +200809,7 @@ loc_8E696: ; ---------------------------------------------------------------------------
loc_8E6B8:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
btst #0,4(a0)
sne d4
@@ -201565,7 +201613,7 @@ loc_8EE3A: lea (byte_8F080).l,a1
jsr (Animate_RawNoSST).l
bclr #0,$38(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),d0
cmp.w $3A(a0),d0
bcs.s loc_8EE86
@@ -201714,7 +201762,7 @@ loc_8EF84: ; ---------------------------------------------------------------------------
loc_8EF94:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
cmpi.w #$28,d2
bhi.w locret_8EE38
@@ -201825,7 +201873,7 @@ Obj_SOZ_Ghosts: loc_8F0CA:
cmpi.b #2,($FFFFB038).w
beq.s loc_8F0DA
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
beq.w locret_8F436
loc_8F0DA:
@@ -202058,12 +202106,12 @@ loc_8F322: move.b #$10,5(a0)
move.b #-$29,$28(a0)
bset #2,4(a0)
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
move.w $10(a0),d1
subi.w #$80,d1
add.w d1,d0
move.w d0,$10(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
move.w $14(a0),d1
subi.w #$80,d1
add.w d1,d0
@@ -202129,7 +202177,7 @@ loc_8F406: move.b #3,$2C(a0)
lea ChildObjDat_8F646(pc),a2
jsr (CreateChild1_Normal).l
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
bne.s loc_8F424
cmpi.b #2,($FFFFB038).w
bne.s locret_8F436
@@ -202148,7 +202196,7 @@ loc_8F438: lea (word_86B3E).l,a1
jsr (SetUp_ObjAttributes3).l
move.l #loc_8672A,(a0)
- tst.b ($FFFFFE2A).w
+ tst.b (Last_star_post_hit).w
beq.s locret_8F45C
move.l #loc_86754,(a0)
move.b #$C,$22(a0)
@@ -202242,10 +202290,10 @@ locret_8F512: ; ---------------------------------------------------------------------------
loc_8F514:
- move.b #1,($FFFFFE2A).w
+ move.b #1,(Last_star_post_hit).w
lea (SOZ2_Start).l,a1
- move.w (a1)+,($FFFFFE2E).w
- move.w (a1)+,($FFFFFE30).w
+ move.w (a1)+,(Saved_X_pos).w
+ move.w (a1)+,(Saved_Y_pos).w
jsr (Save_Level_Data).l
lea ChildObjDat_8F64E(pc),a2
jmp (CreateChild1_Normal).l
@@ -202492,7 +202540,7 @@ loc_8F7A4: jsr (Perform_DPLC).l
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_8F7DA
jsr (Add_SpriteToCollisionResponseList).l
@@ -202768,7 +202816,7 @@ Obj_LRZExplodingRock: jsr off_8FB3C(pc,d1.w)
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_8FB2A
btst #7,$2A(a0)
@@ -203303,13 +203351,13 @@ Obj_LRZRockCrusher: loc_900FE:
jsr (Check_CameraInRange).l
move.l #loc_901D0,(a0)
- move.w ($FFFFEE18).w,($FFFFFA96).w
- move.w ($FFFFEE12).w,($FFFFFA98).w
- move.w ($FFFFEE14).w,($FFFFFA94).w
- move.w ($FFFFEE16).w,($FFFFFA92).w
+ move.w (Camera_min_Y_pos).w,($FFFFFA96).w
+ move.w (Camera_target_max_Y_pos).w,($FFFFFA98).w
+ move.w (Camera_min_X_pos).w,($FFFFFA94).w
+ move.w (Camera_max_X_pos).w,($FFFFFA92).w
move.w (a1),$1C(a0)
- move.w (a1)+,($FFFFEE16).w
- move.w (a1)+,($FFFFEE12).w
+ move.w (a1)+,(Camera_max_X_pos).w
+ move.w (a1)+,(Camera_target_max_Y_pos).w
lea ObjDat3_90608(pc),a1
jsr (SetUp_ObjAttributes).l
clr.b 5(a0)
@@ -203380,19 +203428,19 @@ off_901EA: dc.w loc_901F4-off_901EA loc_901F4:
btst #0,$27(a0)
bne.s loc_90210
- move.w ($FFFFEE12).w,d0
- cmp.w ($FFFFEE1A).w,d0
+ move.w (Camera_target_max_Y_pos).w,d0
+ cmp.w (Camera_max_Y_pos).w,d0
bne.s loc_90210
- move.w d0,($FFFFEE18).w
+ move.w d0,(Camera_min_Y_pos).w
bset #0,$27(a0)
loc_90210:
btst #1,$27(a0)
bne.s loc_9022E
- move.w ($FFFFEE78).w,($FFFFEE14).w
+ move.w (Camera_X_pos).w,(Camera_min_X_pos).w
move.w $1C(a0),d0
- cmp.w ($FFFFEE78).w,d0
+ cmp.w (Camera_X_pos).w,d0
bhi.s loc_9022E
bset #1,$27(a0)
@@ -203433,11 +203481,11 @@ loc_90282: bpl.s loc_902BE
move.w $10(a0),d0
andi.w #-$80,d0
- sub.w ($FFFFF7DA).w,d0
+ sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_902B6
move.w $14(a0),d0
- sub.w ($FFFFEE7C).w,d0
+ sub.w (Camera_Y_pos).w,d0
addi.w #$80,d0
cmpi.w #$200,d0
bls.w locret_9026C
@@ -203454,7 +203502,7 @@ loc_902BE: moveq #0,d0
move.b $2C(a0),d0
move.w word_902EC(pc,d0.w),$3A(a0)
- move.w ($FFFFFA98).w,($FFFFEE12).w
+ move.w ($FFFFFA98).w,(Camera_target_max_Y_pos).w
lea Child7_ChangeLevSize(pc),a2
jmp (CreateChild7_Normal2).l
; ---------------------------------------------------------------------------
@@ -203698,7 +203746,7 @@ loc_9056E: move.w #$860,$14(a1)
loc_90592:
- move.w ($FFFFFA98).w,($FFFFEE12).w
+ move.w ($FFFFFA98).w,(Camera_target_max_Y_pos).w
lea Child7_ChangeLevSize(pc),a2
jsr (CreateChild7_Normal2).l
jmp (Delete_Current_Sprite).l
@@ -203825,7 +203873,7 @@ Obj_B0_2: move.w #$1640,$10(a0)
move.w #$340,$14(a0)
move.w #$1F3F,($FFFFF634).w
- lea ($FFFFFFB2).w,a1
+ lea (Collected_emeralds_array).w,a1
moveq #3,d0
moveq #6,d1
@@ -203883,7 +203931,7 @@ Obj_B4_2: jsr (SetUp_ObjAttributes).l
moveq #0,d0
move.b $2C(a0),d0
- lea ($FFFFFFB2).w,a1
+ lea (Collected_emeralds_array).w,a1
moveq #0,d1
move.b (a1,d0.w),d1
move.w d1,d2
@@ -203933,7 +203981,7 @@ sub_907FA: move.w d0,d1
lsl.w #2,d1
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_90808
addq.w #2,d1
@@ -204048,7 +204096,7 @@ loc_908DE: beq.s loc_90920
move.l #loc_90926,(a0)
move.w #$F,$2E(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.b #-$7F,$2E(a1)
move.w #$500,$20(a1)
@@ -204062,13 +204110,13 @@ loc_90926: bpl.s loc_9095E
moveq #-$51,d0
jsr (Play_Sound_2).l
- move.b $2C(a0),($FFFFFE16).w
- move.b #1,($FFFFFE48).w
- move.b #$34,($FFFFF600).w
+ move.b $2C(a0),(Current_special_stage).w
+ move.b #1,(Special_bonus_entry_flag).w
+ move.b #$34,(Game_mode).w
move.b #1,($FFFFFF97).w
- move.b #1,($FFFFFFBB).w
- move.b ($FFFFFE49).w,($FFFFFE2A).w
- move.b ($FFFFB02B).w,($FFFFFF96).w
+ move.b #1,(SK_special_stage_flag).w
+ move.b (Saved2_last_star_post_hit).w,(Last_star_post_hit).w
+ move.b ($FFFFB02B).w,(Saved2_status_secondary).w
loc_9095E:
jmp (Draw_Sprite).l
@@ -204082,19 +204130,19 @@ Obj_B5_2: move.w #-$6F00,d2
jsr (Queue_Kos_Module).l
lea (Pal_CutsceneKnux1).l,a1
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_90998
lea (Pal_SonicTails).l,a1
loc_90998:
- lea ($FFFFFCA0).w,a2
+ lea (Target_palette_line_2).w,a2
moveq #7,d0
loc_9099E:
move.l (a1)+,(a2)+
dbf d0,loc_9099E
lea (Pal_HPZ2_B).l,a1
- lea ($FFFFFCC0).w,a2
+ lea (Target_palette_line_3).w,a2
moveq #$F,d6
loc_909B0:
@@ -204133,7 +204181,7 @@ loc_90A0A: loc_90A10:
move.l #loc_90A72,(a0)
move.w #$1F,$2E(a0)
- lea ($FFFFFFB2).w,a2
+ lea (Collected_emeralds_array).w,a2
moveq #2,d1
moveq #0,d2
moveq #6,d3
@@ -204148,9 +204196,9 @@ loc_90A26: loc_90A3A:
addq.w #1,d2
dbf d3,loc_90A26
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_90A4C
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; =============== S U B R O U T I N E =======================================
@@ -204184,7 +204232,7 @@ locret_90A92: loc_90A94:
bclr #0,($FFFFFAB8).w
beq.w locret_90C32
- lea ($FFFFFFB2).w,a1
+ lea (Collected_emeralds_array).w,a1
lea byte_90B1A(pc),a2
lea ($FFFFFA82).w,a3
lea word_90B0C(pc),a4
@@ -204255,7 +204303,7 @@ loc_90B22: loc_90B32:
move.l #loc_90BD2,(a0)
- st ($FFFFEE0A).w
+ st (Scroll_lock).w
moveq #0,d0
move.b $39(a0),d0
addq.b #1,$39(a0)
@@ -204274,9 +204322,9 @@ loc_90B32: loc_90B72:
add.w d1,d1
lea byte_90BBC(pc,d1.w),a2
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_90B84
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; =============== S U B R O U T I N E =======================================
@@ -204312,7 +204360,7 @@ RawAni_90BCA: dc.b $BA, $AD, $56, 0, $C4, $B0, $D6, 0 ; ---------------------------------------------------------------------------
loc_90BD2:
- move.w ($FFFFEE78).w,d0
+ move.w (Camera_X_pos).w,d0
moveq #-$10,d1
sub.w $3A(a0),d0
bpl.s loc_90BE2
@@ -204322,7 +204370,7 @@ loc_90BD2: loc_90BE2:
cmpi.w #$10,d0
bcs.s loc_90BEE
- add.w d1,($FFFFEE78).w
+ add.w d1,(Camera_X_pos).w
rts
; ---------------------------------------------------------------------------
@@ -204346,7 +204394,7 @@ locret_90C14: loc_90C16:
move.l #loc_90C34,(a0)
- clr.b ($FFFFEE0A).w
+ clr.b (Scroll_lock).w
clr.b ($FFFFB02E).w
clr.b ($FFFFB078).w
rts
@@ -204362,7 +204410,7 @@ locret_90C32: ; ---------------------------------------------------------------------------
loc_90C34:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.w $10(a1),d0
subi.w #$1640,d0
bpl.s loc_90C44
@@ -204387,12 +204435,12 @@ loc_90C58: beq.s locret_90CA0
moveq #-$51,d0
jsr (Play_Sound_2).l
- move.w #1,($FFFFFE02).w
- move.b ($FFFFFE49).w,($FFFFFE2A).w
- move.w ($FFFFFE4A).w,($FFFFFE10).w
- move.w ($FFFFFF9C).w,($FFFFEE4E).w
- move.b ($FFFFB02B).w,($FFFFFF96).w
- ori.b #-$80,($FFFFFE2A).w
+ move.w #1,(Restart_level_flag).w
+ move.b (Saved2_last_star_post_hit).w,(Last_star_post_hit).w
+ move.w (Saved2_zone_and_act).w,(Current_zone_and_act).w
+ move.w (Saved2_apparent_zone_and_act).w,(Apparent_zone_and_act).w
+ move.b ($FFFFB02B).w,(Saved2_status_secondary).w
+ ori.b #-$80,(Last_star_post_hit).w
locret_90CA0:
@@ -204410,7 +204458,7 @@ loc_90CA2: lea word_90CD4(pc,d0.w),a1
move.w (a1)+,$10(a0)
move.w (a1)+,$3A(a0)
- move.w ($FFFFEE7C).w,d0
+ move.w (Camera_Y_pos).w,d0
subi.w #$80,d0
move.w d0,$14(a0)
rts
@@ -204489,9 +204537,9 @@ loc_90DA2: subq.w #1,$2E(a0)
bpl.s locret_90DD6
move.l #loc_90DDC,(a0)
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_90DC0
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; =============== S U B R O U T I N E =======================================
@@ -204596,9 +204644,9 @@ loc_90E94: sub_90E9A:
cmpi.b #7,$2C(a0)
bne.s loc_90ED0
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
bsr.w sub_90EAE
- lea ($FFFFB04A).w,a1
+ lea (Player_2).w,a1
; End of function sub_90E9A
@@ -204621,7 +204669,7 @@ loc_90EBE: ; ---------------------------------------------------------------------------
loc_90ED0:
- lea ($FFFFFFB2).w,a1
+ lea (Collected_emeralds_array).w,a1
moveq #0,d0
move.b $2C(a0),d0
addq.b #1,(a1,d0.w)
@@ -204633,7 +204681,7 @@ loc_90ED0: move.w a1,$44(a0)
loc_90EFC:
- st ($FFFFEF56).w
+ st (SRAM_mask_interrupts_flag).w
jmp (SaveGame_SpecialStage).l
; ---------------------------------------------------------------------------
RawAni_90F06: dc.b $BA, $AD, $56, 0
@@ -204649,7 +204697,7 @@ sub_90F0A: move.b d0,$2C(a0)
move.b byte_90F64(pc,d0.w),$3C(a0)
move.b byte_90F6C(pc,d0.w),$3D(a0)
- lea ($FFFFFFB2).w,a1
+ lea (Collected_emeralds_array).w,a1
move.b (a1,d0.w),d2
beq.s loc_90F54
cmpi.b #2,d2
@@ -204657,7 +204705,7 @@ sub_90F0A: move.b d0,$22(a0)
add.w d1,d1
move.l word_90F74(pc,d1.w),$18(a0)
- cmpi.w #3,($FFFFFF08).w
+ cmpi.w #3,(Player_mode).w
bne.s loc_90F4A
addq.w #2,d1
@@ -204867,7 +204915,7 @@ loc_9159A: move.w $14(a0),$30(a0)
jsr (Swing_UpAndDown).l
jsr (MoveSprite2).l
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
jsr (Change_FlipX).l
cmpi.w #8,d3
@@ -205333,7 +205381,7 @@ loc_91A24: ; ---------------------------------------------------------------------------
loc_91A6A:
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
jsr (Find_OtherObject).l
cmpi.w #$60,d2
bcc.s loc_91A88
@@ -206806,7 +206854,7 @@ PLC_78_79_7A_7B: dc.w 1 DebugMode:
moveq #0,d0
- move.b ($FFFFFE08).w,d0
+ move.b (Debug_placement_mode).w,d0
move.w off_92A1C(pc,d0.w),d1
jmp off_92A1C(pc,d1.w)
; End of function DebugMode
@@ -206818,40 +206866,40 @@ off_92A1C: dc.w loc_92A20-off_92A1C ; ---------------------------------------------------------------------------
loc_92A20:
- addq.b #2,($FFFFFE08).w
+ addq.b #2,(Debug_placement_mode).w
move.l $C(a0),($FFFFFFCA).w
cmpi.b #6,5(a0)
bcc.s loc_92A38
move.w $A(a0),($FFFFFFCE).w
loc_92A38:
- move.w ($FFFFEEAA).w,d0
+ move.w (Screen_Y_wrap_value).w,d0
and.w d0,($FFFFB014).w
- and.w d0,($FFFFEE7C).w
- clr.b ($FFFFEE0A).w
+ and.w d0,(Camera_Y_pos).w
+ clr.b (Scroll_lock).w
clr.w ($FFFFF7C8).w
bclr #6,$2A(a0)
beq.s loc_92A6E
movea.l a0,a1
jsr (Player_ResetAirTimer).l
- move.w #$600,($FFFFF760).w
- move.w #$C,($FFFFF762).w
- move.w #$80,($FFFFF764).w
+ move.w #$600,(Sonic_Knux_top_speed).w
+ move.w #$C,(Sonic_Knux_acceleration).w
+ move.w #$80,(Sonic_Knux_deceleration).w
loc_92A6E:
move.b #0,$22(a0)
move.b #0,$20(a0)
moveq #0,d0
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #6,d0
andi.w #$7E,d0
lea (DebugOffs).l,a2
adda.w (a2,d0.w),a2
move.w (a2)+,d6
- cmp.b ($FFFFFE06).w,d6
+ cmp.b (Debug_object).w,d6
bhi.s loc_92AA0
- move.b #0,($FFFFFE06).w
+ move.b #0,(Debug_object).w
loc_92AA0:
bsr.w sub_92C88
@@ -206860,7 +206908,7 @@ loc_92AA0: loc_92AB0:
moveq #0,d0
- move.w ($FFFFFE10).w,d0
+ move.w (Current_zone_and_act).w,d0
ror.b #1,d0
lsr.w #6,d0
andi.w #$7E,d0
@@ -206876,10 +206924,10 @@ loc_92AB0: sub_92AD4:
moveq #0,d4
move.w #1,d1
- move.b ($FFFFF605).w,d4
+ move.b (Ctrl_1_pressed).w,d4
andi.w #$F,d4
bne.s loc_92B16
- move.b ($FFFFF604).w,d0
+ move.b (Ctrl_1).w,d0
andi.w #$F,d0
bne.s loc_92AFE
move.b #$C,($FFFFFE0A).w
@@ -206897,7 +206945,7 @@ loc_92AFE: loc_92B16:
- move.b ($FFFFF604).w,d4
+ move.b (Ctrl_1).w,d4
loc_92B1A:
moveq #0,d1
@@ -206911,7 +206959,7 @@ loc_92B1A: beq.s loc_92B44
sub.l d1,d2
moveq #0,d0
- move.w ($FFFFEE18).w,d0
+ move.w (Camera_min_Y_pos).w,d0
swap d0
cmp.l d0,d2
bge.s loc_92B44
@@ -206923,7 +206971,7 @@ loc_92B44: beq.s loc_92B5E
add.l d1,d2
moveq #0,d0
- move.w ($FFFFEE12).w,d0
+ move.w (Camera_target_max_Y_pos).w,d0
addi.w #$DF,d0
swap d0
cmp.l d0,d2
@@ -206949,23 +206997,23 @@ loc_92B72: move.l d3,$10(a0)
loc_92B7A:
- btst #6,($FFFFF604).w
+ btst #6,(Ctrl_1).w
beq.s loc_92BB2
- btst #5,($FFFFF605).w
+ btst #5,(Ctrl_1_pressed).w
beq.s loc_92B96
- subq.b #1,($FFFFFE06).w
+ subq.b #1,(Debug_object).w
bcc.s loc_92BAE
- add.b d6,($FFFFFE06).w
+ add.b d6,(Debug_object).w
bra.s loc_92BAE
; ---------------------------------------------------------------------------
loc_92B96:
- btst #6,($FFFFF605).w
+ btst #6,(Ctrl_1_pressed).w
beq.s loc_92BB2
- addq.b #1,($FFFFFE06).w
- cmp.b ($FFFFFE06).w,d6
+ addq.b #1,(Debug_object).w
+ cmp.b (Debug_object).w,d6
bhi.s loc_92BAE
- move.b #0,($FFFFFE06).w
+ move.b #0,(Debug_object).w
loc_92BAE:
@@ -206974,7 +207022,7 @@ loc_92BAE: loc_92BB2:
- btst #5,($FFFFF605).w
+ btst #5,(Ctrl_1_pressed).w
beq.s loc_92C0C
jsr (Create_New_Sprite).l
bne.s loc_92C0C
@@ -206984,7 +207032,7 @@ loc_92BB2: move.b 4(a0),$2A(a1)
andi.b #$7F,$2A(a1)
moveq #0,d0
- move.b ($FFFFFE06).w,d0
+ move.b (Debug_object).w,d0
add.w d0,d0
move.w d0,d1
lsl.w #2,d0
@@ -207002,16 +207050,16 @@ locret_92C0A: loc_92C0C:
- btst #4,($FFFFF605).w
+ btst #4,(Ctrl_1_pressed).w
beq.s locret_92C52
moveq #0,d0
- move.w d0,($FFFFFE08).w
+ move.w d0,(Debug_placement_mode).w
move #$2700,sr
jsr (sub_DE9C).l
- move.b #1,($FFFFFE1F).w
- move.b #-$80,($FFFFFE1D).w
+ move.b #1,(Update_HUD_score).w
+ move.b #-$80,(Update_HUD_ring_count).w
move #$2300,sr
- lea ($FFFFB000).w,a1
+ lea (Player_1).w,a1
move.l ($FFFFFFCA).w,$C(a1)
move.w ($FFFFFFCE).w,$A(a1)
bsr.s sub_92C54
@@ -207048,7 +207096,7 @@ sub_92C54: sub_92C88:
moveq #0,d0
- move.b ($FFFFFE06).w,d0
+ move.b (Debug_object).w,d0
add.w d0,d0
move.w d0,d1
lsl.w #2,d0
diff --git a/sonic3k.constants.asm b/sonic3k.constants.asm index 039e7f807..cc6e8e431 100644 --- a/sonic3k.constants.asm +++ b/sonic3k.constants.asm @@ -37,6 +37,7 @@ subtype = $2C ; byte ros_bit = $3B ; byte ; the bit to be cleared when an object is destroyed if the ROS flag is set
ros_addr = $3C ; word ; the RAM address whose bit to clear when an object is destroyed if the ROS flag is set
routine_secondary = $3C ; byte ; used by monitors for this purpose at least
+vram_art = $40 ; word ; address of art in VRAM (same as art_tile * $20)
parent = $42 ; word ; address of the object that owns or spawned this one, if applicable
respawn_addr = $48 ; word ; the address of this object's entry in the respawn table
; ---------------------------------------------------------------------------
@@ -75,17 +76,34 @@ object_size = $4A ; the size of an object's status table entry next_object = object_size
; ---------------------------------------------------------------------------
+; Controller Buttons
+;
+; Buttons bit numbers
+button_up: EQU 0
+button_down: EQU 1
+button_left: EQU 2
+button_right: EQU 3
+button_B: EQU 4
+button_C: EQU 5
+button_A: EQU 6
+button_start: EQU 7
+; Buttons masks (1 << x == pow(2, x))
+button_up_mask: EQU 1<<button_up ; $01
+button_down_mask: EQU 1<<button_down ; $02
+button_left_mask: EQU 1<<button_left ; $04
+button_right_mask: EQU 1<<button_right ; $08
+button_B_mask: EQU 1<<button_B ; $10
+button_C_mask: EQU 1<<button_C ; $20
+button_A_mask: EQU 1<<button_A ; $40
+button_start_mask: EQU 1<<button_start ; $80
+
+; ---------------------------------------------------------------------------
; Address equates
; ---------------------------------------------------------------------------
; Z80 addresses
Z80_RAM = $A00000 ; start of Z80 RAM
Z80_RAM_end = $A02000 ; end of non-reserved Z80 RAM
-Z80_version = $A10001
-Z80_port_1_data = $A10002
-Z80_port_1_control = $A10008
-Z80_port_2_control = $A1000A
-Z80_expansion_control = $A1000C
Z80_bus_request = $A11100
Z80_reset = $A11200
@@ -93,6 +111,25 @@ SRAM_access_flag = $A130F1 Security_addr = $A14000
; ---------------------------------------------------------------------------
+; I/O Area
+HW_Version = $A10001
+HW_Port_1_Data = $A10003
+HW_Port_2_Data = $A10005
+HW_Expansion_Data = $A10007
+HW_Port_1_Control = $A10009
+HW_Port_2_Control = $A1000B
+HW_Expansion_Control = $A1000D
+HW_Port_1_TxData = $A1000F
+HW_Port_1_RxData = $A10011
+HW_Port_1_SCtrl = $A10013
+HW_Port_2_TxData = $A10015
+HW_Port_2_RxData = $A10017
+HW_Port_2_SCtrl = $A10019
+HW_Expansion_TxData = $A1001B
+HW_Expansion_RxData = $A1001D
+HW_Expansion_SCtrl = $A1001F
+; ---------------------------------------------------------------------------
+
; VDP addresses
VDP_data_port = $C00000
VDP_control_port = $C00004
diff --git a/sonic3k.macros.asm b/sonic3k.macros.asm index fc18d7b72..db8ce9e74 100644 --- a/sonic3k.macros.asm +++ b/sonic3k.macros.asm @@ -17,7 +17,7 @@ DMA = %100111 ; tells the VDP to copy a region of 68k memory to VRAM or CRAM or VSRAM
dma68kToVDP macro source,dest,length,type
- lea ($C00004).l,a5
+ lea (VDP_control_port).l,a5
move.l #(($9400|((((length)>>1)&$FF00)>>8))<<16)|($9300|(((length)>>1)&$FF)),(a5)
move.l #(($9600|((((source)>>1)&$FF00)>>8))<<16)|($9500|(((source)>>1)&$FF)),(a5)
move.w #$9700|(((((source)>>1)&$FF0000)>>16)&$7F),(a5)
@@ -28,12 +28,12 @@ dma68kToVDP macro source,dest,length,type ; tells the VDP to fill a region of VRAM with a certain byte
dmaFillVRAM macro byte,addr,length
- lea ($C00004).l,a5
+ lea (VDP_control_port).l,a5
move.w #$8F01,(a5) ; VRAM pointer increment: $0001
move.l #(($9400|((((length)-1)&$FF00)>>8))<<16)|($9300|(((length)-1)&$FF)),(a5) ; DMA length ...
move.w #$9780,(a5) ; VRAM fill
move.l #$40000080|(((addr)&$3FFF)<<16)|(((addr)&$C000)>>14),(a5) ; Start at ...
- move.w #(byte)<<8,($C00000).l ; Fill with byte
+ move.w #(byte)<<8,(VDP_data_port).l ; Fill with byte
loop: move.w (a5),d1
btst #1,d1
bne.s loop ; busy loop until the VDP is finished filling...
@@ -66,14 +66,14 @@ loop: move.l d0,(a1)+ ; tells the Z80 to stop, and waits for it to finish stopping (acquire bus)
stopZ80 macro
- move.w #$100,($A11100).l ; stop the Z80
-loop: btst #0,($A11100).l
+ move.w #$100,(Z80_bus_request).l ; stop the Z80
+loop: btst #0,(Z80_bus_request).l
bne.s loop ; loop until it says it's stopped
endm
; tells the Z80 to start again
startZ80 macro
- move.w #0,($A11100).l ; start the Z80
+ move.w #0,(Z80_bus_request).l ; start the Z80
endm
; function to make a little-endian 16-bit pointer for the Z80 sound driver
|