11906 lines
811 KiB
ArmAsm
11906 lines
811 KiB
ArmAsm
.setcpu "6502"
|
|
.include "symbols.inc"
|
|
.include "locals.inc"
|
|
|
|
.segment "PRG"
|
|
|
|
.byte $61,$C2,$5D,$C2,$55,$C3,$77,$C1,$92,$C0 ; PRG $0000 | CPU $C000
|
|
|
|
GameplayLookupTable_C00A:
|
|
.byte $20,$AE,$06,$00,$20,$A3,$06,$00,$20,$B8,$06,$00,$AE,$00,$03,$BD ; PRG $000A | CPU $C00A
|
|
.byte $02,$03,$F0,$37,$29,$F0,$4A,$4A,$4A,$A8,$B9,$FE,$BF,$85,$02,$C8 ; PRG $001A | CPU $C01A
|
|
.byte $B9,$FE,$BF,$85,$03,$BD,$02,$03,$29,$0F,$85,$01,$A9,$00,$9D,$02 ; PRG $002A | CPU $C02A
|
|
.byte $03,$A9,$C0,$48,$A9,$15,$48,$E8,$E8,$8A,$C9,$2E,$90,$02,$A9,$00 ; PRG $003A | CPU $C03A
|
|
.byte $8D,$00,$03,$BD,$01,$03,$85,$00,$6C,$02,$00,$60,$AE,$01,$03,$BC ; PRG $004A | CPU $C04A
|
|
.byte $02,$03,$D0,$14,$9D,$03,$03,$A5,$01,$9D,$02,$03,$E8,$E8,$8A,$C9 ; PRG $005A | CPU $C05A
|
|
.byte $2E,$90,$02,$A9,$00,$8D,$01,$03,$60 ; PRG $006A | CPU $C06A
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C073.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c073 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C073:
|
|
lda #$31 ; PRG $0073 | CPU $C073 | A9 31
|
|
sta ScratchValue0 ; PRG $0075 | CPU $C075 | 85 00
|
|
lda #$03 ; PRG $0077 | CPU $C077 | A9 03
|
|
sta ScratchValue1 ; PRG $0079 | CPU $C079 | 85 01
|
|
jsr FinishHudPlayfieldUploadAndResetScroll ; PRG $007B | CPU $C07B | 20 20 C1
|
|
lda #$00 ; PRG $007E | CPU $C07E | A9 00
|
|
sta Ram_0330 ; PRG $0080 | CPU $C080 | 8D 30 03
|
|
sta Ram_0331 ; PRG $0083 | CPU $C083 | 8D 31 03
|
|
rts ; PRG $0086 | CPU $C086 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transfer Ship Target Oam Buffer.
|
|
; Local behavior: Executes the decoded transfer ship target oam buffer sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransferShipTargetOamBuffer:
|
|
lda #$00 ; PRG $0087 | CPU $C087 | A9 00
|
|
sta OAMADDR ; PRG $0089 | CPU $C089 | 8D 03 20
|
|
lda #$02 ; PRG $008C | CPU $C08C | A9 02
|
|
sta OAMDMA ; PRG $008E | CPU $C08E | 8D 14 40
|
|
rts ; PRG $0091 | CPU $C091 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Configure Hud And Playfield Ppu C092.
|
|
; Local behavior: Executes the decoded configure hud and playfield ppu c092 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
ConfigureHudAndPlayfieldPpu_C092:
|
|
lda PPUSTATUS ; PRG $0092 | CPU $C092 | AD 02 20
|
|
lda PpuControlShadow ; PRG $0095 | CPU $C095 | A5 10
|
|
and #$FB ; PRG $0097 | CPU $C097 | 29 FB
|
|
sta PPUCTRL ; PRG $0099 | CPU $C099 | 8D 00 20
|
|
sta PpuControlShadow ; PRG $009C | CPU $C09C | 85 10
|
|
lda #$1C ; PRG $009E | CPU $C09E | A9 1C
|
|
clc ; PRG $00A0 | CPU $C0A0 | 18
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Set Ppu Address C0 A1.
|
|
; Local behavior: Executes the decoded set ppu address c0 a1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
SetPpuAddress_C0A1:
|
|
adc #$04 ; PRG $00A1 | CPU $C0A1 | 69 04
|
|
dec ScratchValue1 ; PRG $00A3 | CPU $C0A3 | C6 01
|
|
bne SetPpuAddress_C0A1 ; PRG $00A5 | CPU $C0A5 | D0 FA
|
|
sta ScratchValue2 ; PRG $00A7 | CPU $C0A7 | 85 02
|
|
sta PPUADDR ; PRG $00A9 | CPU $C0A9 | 8D 06 20
|
|
lda #$00 ; PRG $00AC | CPU $C0AC | A9 00
|
|
sta PPUADDR ; PRG $00AE | CPU $C0AE | 8D 06 20
|
|
ldx #$04 ; PRG $00B1 | CPU $C0B1 | A2 04
|
|
ldy #$00 ; PRG $00B3 | CPU $C0B3 | A0 00
|
|
lda ScratchValue0 ; PRG $00B5 | CPU $C0B5 | A5 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Fill Hud Or Playfield Tiles.
|
|
; Local behavior: Executes the decoded fill hud or playfield tiles sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
FillHudOrPlayfieldTiles:
|
|
sta PPUDATA ; PRG $00B7 | CPU $C0B7 | 8D 07 20
|
|
dey ; PRG $00BA | CPU $C0BA | 88
|
|
bne FillHudOrPlayfieldTiles ; PRG $00BB | CPU $C0BB | D0 FA
|
|
dex ; PRG $00BD | CPU $C0BD | CA
|
|
bne FillHudOrPlayfieldTiles ; PRG $00BE | CPU $C0BE | D0 F7
|
|
lda ScratchValue2 ; PRG $00C0 | CPU $C0C0 | A5 02
|
|
adc #$03 ; PRG $00C2 | CPU $C0C2 | 69 03
|
|
sta PPUADDR ; PRG $00C4 | CPU $C0C4 | 8D 06 20
|
|
lda #$C0 ; PRG $00C7 | CPU $C0C7 | A9 C0
|
|
sta PPUADDR ; PRG $00C9 | CPU $C0C9 | 8D 06 20
|
|
ldy #$40 ; PRG $00CC | CPU $C0CC | A0 40
|
|
lda #$00 ; PRG $00CE | CPU $C0CE | A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Write Hud Or Playfield Tile Run.
|
|
; Local behavior: Executes the decoded write hud or playfield tile run sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
WriteHudOrPlayfieldTileRun:
|
|
sta PPUDATA ; PRG $00D0 | CPU $C0D0 | 8D 07 20
|
|
dey ; PRG $00D3 | CPU $C0D3 | 88
|
|
bne WriteHudOrPlayfieldTileRun ; PRG $00D4 | CPU $C0D4 | D0 FA
|
|
rts ; PRG $00D6 | CPU $C0D6 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C0 D7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c0 d7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C0D7:
|
|
sta ScratchValue0 ; PRG $00D7 | CPU $C0D7 | 85 00
|
|
stx ScratchValue1 ; PRG $00D9 | CPU $C0D9 | 86 01
|
|
jmp FinishHudPlayfieldUploadAndResetScroll ; PRG $00DB | CPU $C0DB | 4C 20 C1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Set Ppu Address C0 DE.
|
|
; Local behavior: Executes the decoded set ppu address c0 de sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
SetPpuAddress_C0DE:
|
|
sta PPUADDR ; PRG $00DE | CPU $C0DE | 8D 06 20
|
|
iny ; PRG $00E1 | CPU $C0E1 | C8
|
|
lda (ScratchValue0),y ; PRG $00E2 | CPU $C0E2 | B1 00
|
|
sta PPUADDR ; PRG $00E4 | CPU $C0E4 | 8D 06 20
|
|
iny ; PRG $00E7 | CPU $C0E7 | C8
|
|
lda (ScratchValue0),y ; PRG $00E8 | CPU $C0E8 | B1 00
|
|
asl a ; PRG $00EA | CPU $C0EA | 0A
|
|
pha ; PRG $00EB | CPU $C0EB | 48
|
|
lda PpuControlShadow ; PRG $00EC | CPU $C0EC | A5 10
|
|
ora #$04 ; PRG $00EE | CPU $C0EE | 09 04
|
|
bcs ConfigureHudAndPlayfieldPpu_C0F4 ; PRG $00F0 | CPU $C0F0 | B0 02
|
|
and #$FB ; PRG $00F2 | CPU $C0F2 | 29 FB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Configure Hud And Playfield Ppu C0 F4.
|
|
; Local behavior: Executes the decoded configure hud and playfield ppu c0 f4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
ConfigureHudAndPlayfieldPpu_C0F4:
|
|
sta PPUCTRL ; PRG $00F4 | CPU $C0F4 | 8D 00 20
|
|
sta PpuControlShadow ; PRG $00F7 | CPU $C0F7 | 85 10
|
|
pla ; PRG $00F9 | CPU $C0F9 | 68
|
|
bmi TransformFlightState_C109 ; PRG $00FA | CPU $C0FA | 30 0D
|
|
lsr a ; PRG $00FC | CPU $C0FC | 4A
|
|
tax ; PRG $00FD | CPU $C0FD | AA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Write Hud Or Playfield Data C0 FE.
|
|
; Local behavior: Executes the decoded write hud or playfield data c0 fe sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
WriteHudOrPlayfieldData_C0FE:
|
|
iny ; PRG $00FE | CPU $C0FE | C8
|
|
lda (ScratchValue0),y ; PRG $00FF | CPU $C0FF | B1 00
|
|
sta PPUDATA ; PRG $0101 | CPU $C101 | 8D 07 20
|
|
dex ; PRG $0104 | CPU $C104 | CA
|
|
bne WriteHudOrPlayfieldData_C0FE ; PRG $0105 | CPU $C105 | D0 F7
|
|
beq UpdateSideScrollingGameplay_C116 ; PRG $0107 | CPU $C107 | F0 0D
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State C109.
|
|
; Local behavior: Executes the decoded transform flight state c109 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_C109:
|
|
and #$7F ; PRG $0109 | CPU $C109 | 29 7F
|
|
lsr a ; PRG $010B | CPU $C10B | 4A
|
|
tax ; PRG $010C | CPU $C10C | AA
|
|
iny ; PRG $010D | CPU $C10D | C8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Write Hud Or Playfield Data C10 E.
|
|
; Local behavior: Executes the decoded write hud or playfield data c10 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
WriteHudOrPlayfieldData_C10E:
|
|
lda (ScratchValue0),y ; PRG $010E | CPU $C10E | B1 00
|
|
sta PPUDATA ; PRG $0110 | CPU $C110 | 8D 07 20
|
|
dex ; PRG $0113 | CPU $C113 | CA
|
|
bne WriteHudOrPlayfieldData_C10E ; PRG $0114 | CPU $C114 | D0 F8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C116.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c116 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C116:
|
|
sec ; PRG $0116 | CPU $C116 | 38
|
|
tya ; PRG $0117 | CPU $C117 | 98
|
|
adc ScratchValue0 ; PRG $0118 | CPU $C118 | 65 00
|
|
sta ScratchValue0 ; PRG $011A | CPU $C11A | 85 00
|
|
bcc FinishHudPlayfieldUploadAndResetScroll ; PRG $011C | CPU $C11C | 90 02
|
|
inc ScratchValue1 ; PRG $011E | CPU $C11E | E6 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Finish Hud Playfield Upload And Reset Scroll.
|
|
; Local behavior: Executes the decoded finish hud playfield upload and reset scroll sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
FinishHudPlayfieldUploadAndResetScroll:
|
|
ldx PPUSTATUS ; PRG $0120 | CPU $C120 | AE 02 20
|
|
ldy #$00 ; PRG $0123 | CPU $C123 | A0 00
|
|
lda (ScratchValue0),y ; PRG $0125 | CPU $C125 | B1 00
|
|
bne SetPpuAddress_C0DE ; PRG $0127 | CPU $C127 | D0 B5
|
|
lda PpuControlShadow ; PRG $0129 | CPU $C129 | A5 10
|
|
and #$FE ; PRG $012B | CPU $C12B | 29 FE
|
|
sta PPUCTRL ; PRG $012D | CPU $C12D | 8D 00 20
|
|
lda #$00 ; PRG $0130 | CPU $C130 | A9 00
|
|
sta PPUSCROLL ; PRG $0132 | CPU $C132 | 8D 05 20
|
|
sta PPUSCROLL ; PRG $0135 | CPU $C135 | 8D 05 20
|
|
rts ; PRG $0138 | CPU $C138 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C139.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c139 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C139:
|
|
pha ; PRG $0139 | CPU $C139 | 48
|
|
ldx #$00 ; PRG $013A | CPU $C13A | A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C13 C.
|
|
; Local behavior: Executes the decoded update gameplay state field c13 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C13C:
|
|
dex ; PRG $013C | CPU $C13C | CA
|
|
bne UpdateGameplayStateField_C13C ; PRG $013D | CPU $C13D | D0 FD
|
|
jsr UpdateSideScrollingGameplay_C144 ; PRG $013F | CPU $C13F | 20 44 C1
|
|
pla ; PRG $0142 | CPU $C142 | 68
|
|
rts ; PRG $0143 | CPU $C143 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C144.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c144 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C144:
|
|
lda PpuControlShadow ; PRG $0144 | CPU $C144 | A5 10
|
|
and #$01 ; PRG $0146 | CPU $C146 | 29 01
|
|
ora VerticalScroll ; PRG $0148 | CPU $C148 | 05 13
|
|
beq UpdateGameplayStateField_C160 ; PRG $014A | CPU $C14A | F0 14
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Apply Hud Playfield Scroll.
|
|
; Local behavior: Executes the decoded apply hud playfield scroll sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
ApplyHudPlayfieldScroll:
|
|
bit PPUSTATUS ; PRG $014C | CPU $C14C | 2C 02 20
|
|
bvc ApplyHudPlayfieldScroll ; PRG $014F | CPU $C14F | 50 FB
|
|
lda PpuControlShadow ; PRG $0151 | CPU $C151 | A5 10
|
|
sta PPUCTRL ; PRG $0153 | CPU $C153 | 8D 00 20
|
|
lda VerticalScroll ; PRG $0156 | CPU $C156 | A5 13
|
|
sta PPUSCROLL ; PRG $0158 | CPU $C158 | 8D 05 20
|
|
lda Zp_18 ; PRG $015B | CPU $C15B | A5 18
|
|
sta PPUSCROLL ; PRG $015D | CPU $C15D | 8D 05 20
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C160.
|
|
; Local behavior: Executes the decoded update gameplay state field c160 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C160:
|
|
rts ; PRG $0160 | CPU $C160 | 60
|
|
.byte $A9,$00,$85,$03,$A9,$02,$85,$04 ; PRG $0161 | CPU $C161
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C169.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c169 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C169:
|
|
ldy ScratchValue2 ; PRG $0169 | CPU $C169 | A4 02
|
|
dey ; PRG $016B | CPU $C16B | 88
|
|
ldx ScratchValue2 ; PRG $016C | CPU $C16C | A6 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C16 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c16 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C16E:
|
|
lda (ScratchValue0),y ; PRG $016E | CPU $C16E | B1 00
|
|
sta (ScratchIndex),y ; PRG $0170 | CPU $C170 | 91 03
|
|
dey ; PRG $0172 | CPU $C172 | 88
|
|
dex ; PRG $0173 | CPU $C173 | CA
|
|
bne UpdateSideScrollingGameplay_C16E ; PRG $0174 | CPU $C174 | D0 F8
|
|
rts ; PRG $0176 | CPU $C176 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State C177.
|
|
; Local behavior: Executes the decoded transform flight state c177 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_C177:
|
|
ldx ScratchValue0 ; PRG $0177 | CPU $C177 | A6 00
|
|
jsr CalculateMovementAndClamp_C183 ; PRG $0179 | CPU $C179 | 20 83 C1
|
|
lda ScratchValue0 ; PRG $017C | CPU $C17C | A5 00
|
|
lsr a ; PRG $017E | CPU $C17E | 4A
|
|
lsr a ; PRG $017F | CPU $C17F | 4A
|
|
lsr a ; PRG $0180 | CPU $C180 | 4A
|
|
lsr a ; PRG $0181 | CPU $C181 | 4A
|
|
tax ; PRG $0182 | CPU $C182 | AA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value C183.
|
|
; Local behavior: Executes the decoded calculate and clamp value c183 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_C183:
|
|
inx ; PRG $0183 | CPU $C183 | E8
|
|
txa ; PRG $0184 | CPU $C184 | 8A
|
|
and #$0F ; PRG $0185 | CPU $C185 | 29 0F
|
|
cmp #$09 ; PRG $0187 | CPU $C187 | C9 09
|
|
bcs UpdateGameplayStateField_C1F7 ; PRG $0189 | CPU $C189 | B0 6C
|
|
asl a ; PRG $018B | CPU $C18B | 0A
|
|
asl a ; PRG $018C | CPU $C18C | 0A
|
|
tay ; PRG $018D | CPU $C18D | A8
|
|
sta ScratchValue2 ; PRG $018E | CPU $C18E | 85 02
|
|
ldx Ram_0330 ; PRG $0190 | CPU $C190 | AE 30 03
|
|
lda GameplayLookupTable_C00A,y ; PRG $0193 | CPU $C193 | B9 0A C0
|
|
sta Ram_0331,x ; PRG $0196 | CPU $C196 | 9D 31 03
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $0199 | CPU $C199 | 20 4C C2
|
|
iny ; PRG $019C | CPU $C19C | C8
|
|
lda GameplayLookupTable_C00A,y ; PRG $019D | CPU $C19D | B9 0A C0
|
|
sta Ram_0331,x ; PRG $01A0 | CPU $C1A0 | 9D 31 03
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $01A3 | CPU $C1A3 | 20 4C C2
|
|
iny ; PRG $01A6 | CPU $C1A6 | C8
|
|
lda GameplayLookupTable_C00A,y ; PRG $01A7 | CPU $C1A7 | B9 0A C0
|
|
and #$07 ; PRG $01AA | CPU $C1AA | 29 07
|
|
sta Ram_0331,x ; PRG $01AC | CPU $C1AC | 9D 31 03
|
|
sta ScratchValue1 ; PRG $01AF | CPU $C1AF | 85 01
|
|
txa ; PRG $01B1 | CPU $C1B1 | 8A
|
|
sec ; PRG $01B2 | CPU $C1B2 | 38
|
|
adc ScratchValue1 ; PRG $01B3 | CPU $C1B3 | 65 01
|
|
jsr UpdateSideScrollingGameplay_C24E ; PRG $01B5 | CPU $C1B5 | 20 4E C2
|
|
tax ; PRG $01B8 | CPU $C1B8 | AA
|
|
stx Ram_0330 ; PRG $01B9 | CPU $C1B9 | 8E 30 03
|
|
lda #$00 ; PRG $01BC | CPU $C1BC | A9 00
|
|
sta Ram_0331,x ; PRG $01BE | CPU $C1BE | 9D 31 03
|
|
iny ; PRG $01C1 | CPU $C1C1 | C8
|
|
lda GameplayLookupTable_C00A,y ; PRG $01C2 | CPU $C1C2 | B9 0A C0
|
|
sta ScratchIndex ; PRG $01C5 | CPU $C1C5 | 85 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State C1 C7.
|
|
; Local behavior: Executes the decoded transform flight state c1 c7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_C1C7:
|
|
dex ; PRG $01C7 | CPU $C1C7 | CA
|
|
lda Zp_40,y ; PRG $01C8 | CPU $C1C8 | B9 40 00
|
|
and #$0F ; PRG $01CB | CPU $C1CB | 29 0F
|
|
sta Ram_0331,x ; PRG $01CD | CPU $C1CD | 9D 31 03
|
|
dec ScratchValue1 ; PRG $01D0 | CPU $C1D0 | C6 01
|
|
beq UpdateSideScrollingGameplay_C1E6 ; PRG $01D2 | CPU $C1D2 | F0 12
|
|
dex ; PRG $01D4 | CPU $C1D4 | CA
|
|
lda Zp_40,y ; PRG $01D5 | CPU $C1D5 | B9 40 00
|
|
and #$F0 ; PRG $01D8 | CPU $C1D8 | 29 F0
|
|
lsr a ; PRG $01DA | CPU $C1DA | 4A
|
|
lsr a ; PRG $01DB | CPU $C1DB | 4A
|
|
lsr a ; PRG $01DC | CPU $C1DC | 4A
|
|
lsr a ; PRG $01DD | CPU $C1DD | 4A
|
|
sta Ram_0331,x ; PRG $01DE | CPU $C1DE | 9D 31 03
|
|
dey ; PRG $01E1 | CPU $C1E1 | 88
|
|
dec ScratchValue1 ; PRG $01E2 | CPU $C1E2 | C6 01
|
|
bne TransformFlightState_C1C7 ; PRG $01E4 | CPU $C1E4 | D0 E1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C1 E6.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c1 e6 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C1E6:
|
|
lda ScratchIndex ; PRG $01E6 | CPU $C1E6 | A5 03
|
|
and #$01 ; PRG $01E8 | CPU $C1E8 | 29 01
|
|
beq UpdateGameplayStateField_C1F7 ; PRG $01EA | CPU $C1EA | F0 0B
|
|
ldy ScratchValue2 ; PRG $01EC | CPU $C1EC | A4 02
|
|
clc ; PRG $01EE | CPU $C1EE | 18
|
|
lda Zp_40,y ; PRG $01EF | CPU $C1EF | B9 40 00
|
|
adc #$37 ; PRG $01F2 | CPU $C1F2 | 69 37
|
|
sta Ram_0331,x ; PRG $01F4 | CPU $C1F4 | 9D 31 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C1 F7.
|
|
; Local behavior: Executes the decoded update gameplay state field c1 f7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C1F7:
|
|
rts ; PRG $01F7 | CPU $C1F7 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State C1 F8.
|
|
; Local behavior: Executes the decoded transform flight state c1 f8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_C1F8:
|
|
ldy #$00 ; PRG $01F8 | CPU $C1F8 | A0 00
|
|
lda (ScratchValue2),y ; PRG $01FA | CPU $C1FA | B1 02
|
|
and #$0F ; PRG $01FC | CPU $C1FC | 29 0F
|
|
sta DataPointerHi ; PRG $01FE | CPU $C1FE | 85 05
|
|
lda (ScratchValue2),y ; PRG $0200 | CPU $C200 | B1 02
|
|
lsr a ; PRG $0202 | CPU $C202 | 4A
|
|
lsr a ; PRG $0203 | CPU $C203 | 4A
|
|
lsr a ; PRG $0204 | CPU $C204 | 4A
|
|
lsr a ; PRG $0205 | CPU $C205 | 4A
|
|
sta DataPointerLo ; PRG $0206 | CPU $C206 | 85 04
|
|
ldx Ram_0330 ; PRG $0208 | CPU $C208 | AE 30 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C20 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c20 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C20B:
|
|
lda ScratchValue1 ; PRG $020B | CPU $C20B | A5 01
|
|
sta Ram_0331,x ; PRG $020D | CPU $C20D | 9D 31 03
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $0210 | CPU $C210 | 20 4C C2
|
|
lda ScratchValue0 ; PRG $0213 | CPU $C213 | A5 00
|
|
sta Ram_0331,x ; PRG $0215 | CPU $C215 | 9D 31 03
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $0218 | CPU $C218 | 20 4C C2
|
|
lda DataPointerHi ; PRG $021B | CPU $C21B | A5 05
|
|
sta TemporaryPointerLo ; PRG $021D | CPU $C21D | 85 06
|
|
sta Ram_0331,x ; PRG $021F | CPU $C21F | 9D 31 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C222.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c222 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C222:
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $0222 | CPU $C222 | 20 4C C2
|
|
iny ; PRG $0225 | CPU $C225 | C8
|
|
lda (ScratchValue2),y ; PRG $0226 | CPU $C226 | B1 02
|
|
sta Ram_0331,x ; PRG $0228 | CPU $C228 | 9D 31 03
|
|
dec TemporaryPointerLo ; PRG $022B | CPU $C22B | C6 06
|
|
bne UpdateSideScrollingGameplay_C222 ; PRG $022D | CPU $C22D | D0 F3
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $022F | CPU $C22F | 20 4C C2
|
|
stx Ram_0330 ; PRG $0232 | CPU $C232 | 8E 30 03
|
|
clc ; PRG $0235 | CPU $C235 | 18
|
|
lda #$20 ; PRG $0236 | CPU $C236 | A9 20
|
|
adc ScratchValue0 ; PRG $0238 | CPU $C238 | 65 00
|
|
sta ScratchValue0 ; PRG $023A | CPU $C23A | 85 00
|
|
lda #$00 ; PRG $023C | CPU $C23C | A9 00
|
|
adc ScratchValue1 ; PRG $023E | CPU $C23E | 65 01
|
|
sta ScratchValue1 ; PRG $0240 | CPU $C240 | 85 01
|
|
dec DataPointerLo ; PRG $0242 | CPU $C242 | C6 04
|
|
bne UpdateSideScrollingGameplay_C20B ; PRG $0244 | CPU $C244 | D0 C5
|
|
lda #$00 ; PRG $0246 | CPU $C246 | A9 00
|
|
sta Ram_0331,x ; PRG $0248 | CPU $C248 | 9D 31 03
|
|
rts ; PRG $024B | CPU $C24B | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C24 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c24 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C24C:
|
|
inx ; PRG $024C | CPU $C24C | E8
|
|
txa ; PRG $024D | CPU $C24D | 8A
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C24 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c24 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C24E:
|
|
cmp #$3A ; PRG $024E | CPU $C24E | C9 3A
|
|
bcc UpdateGameplayStateField_C25C ; PRG $0250 | CPU $C250 | 90 0A
|
|
ldx Ram_0330 ; PRG $0252 | CPU $C252 | AE 30 03
|
|
lda #$00 ; PRG $0255 | CPU $C255 | A9 00
|
|
sta Ram_0331,x ; PRG $0257 | CPU $C257 | 9D 31 03
|
|
pla ; PRG $025A | CPU $C25A | 68
|
|
pla ; PRG $025B | CPU $C25B | 68
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C25 C.
|
|
; Local behavior: Executes the decoded update gameplay state field c25 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C25C:
|
|
rts ; PRG $025C | CPU $C25C | 60
|
|
.byte $A2,$FF,$D0,$02 ; PRG $025D | CPU $C25D
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C261.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c261 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C261:
|
|
ldx #$00 ; PRG $0261 | CPU $C261 | A2 00
|
|
stx DataPointerLo ; PRG $0263 | CPU $C263 | 86 04
|
|
ldx #$00 ; PRG $0265 | CPU $C265 | A2 00
|
|
stx DataPointerHi ; PRG $0267 | CPU $C267 | 86 05
|
|
stx TemporaryPointerLo ; PRG $0269 | CPU $C269 | 86 06
|
|
stx TemporaryPointerHi ; PRG $026B | CPU $C26B | 86 07
|
|
lda ScratchValue1 ; PRG $026D | CPU $C26D | A5 01
|
|
and #$08 ; PRG $026F | CPU $C26F | 29 08
|
|
bne UpdateGameplayStateField_C274 ; PRG $0271 | CPU $C271 | D0 01
|
|
inx ; PRG $0273 | CPU $C273 | E8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C274.
|
|
; Local behavior: Executes the decoded update gameplay state field c274 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C274:
|
|
lda ScratchValue0 ; PRG $0274 | CPU $C274 | A5 00
|
|
sta TemporaryPointerLo,x ; PRG $0276 | CPU $C276 | 95 06
|
|
lda ScratchValue1 ; PRG $0278 | CPU $C278 | A5 01
|
|
jsr TransformFlightState_C27E ; PRG $027A | CPU $C27A | 20 7E C2
|
|
rts ; PRG $027D | CPU $C27D | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State C27 E.
|
|
; Local behavior: Executes the decoded transform flight state c27 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_C27E:
|
|
and #$07 ; PRG $027E | CPU $C27E | 29 07
|
|
asl a ; PRG $0280 | CPU $C280 | 0A
|
|
asl a ; PRG $0281 | CPU $C281 | 0A
|
|
tax ; PRG $0282 | CPU $C282 | AA
|
|
lda DataPointerLo ; PRG $0283 | CPU $C283 | A5 04
|
|
beq UpdateSideScrollingGameplay_C2AE ; PRG $0285 | CPU $C285 | F0 27
|
|
lda Zp_44,x ; PRG $0287 | CPU $C287 | B5 44
|
|
beq UpdateSideScrollingGameplay_C2B2 ; PRG $0289 | CPU $C289 | F0 27
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C28 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c28 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C28B:
|
|
clc ; PRG $028B | CPU $C28B | 18
|
|
lda Zp_47,x ; PRG $028C | CPU $C28C | B5 47
|
|
sta ScratchIndex ; PRG $028E | CPU $C28E | 85 03
|
|
lda TemporaryPointerHi ; PRG $0290 | CPU $C290 | A5 07
|
|
jsr CalculateMovementAndClamp_C303 ; PRG $0292 | CPU $C292 | 20 03 C3
|
|
sta Zp_47,x ; PRG $0295 | CPU $C295 | 95 47
|
|
lda Zp_46,x ; PRG $0297 | CPU $C297 | B5 46
|
|
sta ScratchIndex ; PRG $0299 | CPU $C299 | 85 03
|
|
lda TemporaryPointerLo ; PRG $029B | CPU $C29B | A5 06
|
|
jsr CalculateMovementAndClamp_C303 ; PRG $029D | CPU $C29D | 20 03 C3
|
|
sta Zp_46,x ; PRG $02A0 | CPU $C2A0 | 95 46
|
|
lda Zp_45,x ; PRG $02A2 | CPU $C2A2 | B5 45
|
|
sta ScratchIndex ; PRG $02A4 | CPU $C2A4 | 85 03
|
|
lda DataPointerHi ; PRG $02A6 | CPU $C2A6 | A5 05
|
|
jsr CalculateMovementAndClamp_C303 ; PRG $02A8 | CPU $C2A8 | 20 03 C3
|
|
sta Zp_45,x ; PRG $02AB | CPU $C2AB | 95 45
|
|
rts ; PRG $02AD | CPU $C2AD | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C2 AE.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c2 ae sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C2AE:
|
|
lda Zp_44,x ; PRG $02AE | CPU $C2AE | B5 44
|
|
beq UpdateSideScrollingGameplay_C28B ; PRG $02B0 | CPU $C2B0 | F0 D9
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C2 B2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c2 b2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C2B2:
|
|
sec ; PRG $02B2 | CPU $C2B2 | 38
|
|
lda Zp_47,x ; PRG $02B3 | CPU $C2B3 | B5 47
|
|
sta ScratchIndex ; PRG $02B5 | CPU $C2B5 | 85 03
|
|
lda TemporaryPointerHi ; PRG $02B7 | CPU $C2B7 | A5 07
|
|
jsr UpdateSideScrollingGameplay_C324 ; PRG $02B9 | CPU $C2B9 | 20 24 C3
|
|
sta Zp_47,x ; PRG $02BC | CPU $C2BC | 95 47
|
|
lda Zp_46,x ; PRG $02BE | CPU $C2BE | B5 46
|
|
sta ScratchIndex ; PRG $02C0 | CPU $C2C0 | 85 03
|
|
lda TemporaryPointerLo ; PRG $02C2 | CPU $C2C2 | A5 06
|
|
jsr UpdateSideScrollingGameplay_C324 ; PRG $02C4 | CPU $C2C4 | 20 24 C3
|
|
sta Zp_46,x ; PRG $02C7 | CPU $C2C7 | 95 46
|
|
lda Zp_45,x ; PRG $02C9 | CPU $C2C9 | B5 45
|
|
sta ScratchIndex ; PRG $02CB | CPU $C2CB | 85 03
|
|
lda DataPointerHi ; PRG $02CD | CPU $C2CD | A5 05
|
|
jsr UpdateSideScrollingGameplay_C324 ; PRG $02CF | CPU $C2CF | 20 24 C3
|
|
sta Zp_45,x ; PRG $02D2 | CPU $C2D2 | 95 45
|
|
lda Zp_45,x ; PRG $02D4 | CPU $C2D4 | B5 45
|
|
bne UpdateSideScrollingGameplay_C2E0 ; PRG $02D6 | CPU $C2D6 | D0 08
|
|
lda Zp_46,x ; PRG $02D8 | CPU $C2D8 | B5 46
|
|
bne UpdateSideScrollingGameplay_C2E0 ; PRG $02DA | CPU $C2DA | D0 04
|
|
lda Zp_47,x ; PRG $02DC | CPU $C2DC | B5 47
|
|
beq UpdateSideScrollingGameplay_C2E6 ; PRG $02DE | CPU $C2DE | F0 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C2 E0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c2 e0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C2E0:
|
|
bcs UpdateGameplayStateField_C302 ; PRG $02E0 | CPU $C2E0 | B0 20
|
|
lda Zp_44,x ; PRG $02E2 | CPU $C2E2 | B5 44
|
|
eor #$FF ; PRG $02E4 | CPU $C2E4 | 49 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C2 E6.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c2 e6 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C2E6:
|
|
sta Zp_44,x ; PRG $02E6 | CPU $C2E6 | 95 44
|
|
sec ; PRG $02E8 | CPU $C2E8 | 38
|
|
lda #$00 ; PRG $02E9 | CPU $C2E9 | A9 00
|
|
sta ScratchIndex ; PRG $02EB | CPU $C2EB | 85 03
|
|
lda Zp_47,x ; PRG $02ED | CPU $C2ED | B5 47
|
|
jsr UpdateSideScrollingGameplay_C324 ; PRG $02EF | CPU $C2EF | 20 24 C3
|
|
sta Zp_47,x ; PRG $02F2 | CPU $C2F2 | 95 47
|
|
lda Zp_46,x ; PRG $02F4 | CPU $C2F4 | B5 46
|
|
jsr UpdateSideScrollingGameplay_C324 ; PRG $02F6 | CPU $C2F6 | 20 24 C3
|
|
sta Zp_46,x ; PRG $02F9 | CPU $C2F9 | 95 46
|
|
lda Zp_45,x ; PRG $02FB | CPU $C2FB | B5 45
|
|
jsr UpdateSideScrollingGameplay_C324 ; PRG $02FD | CPU $C2FD | 20 24 C3
|
|
sta Zp_45,x ; PRG $0300 | CPU $C300 | 95 45
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C302.
|
|
; Local behavior: Executes the decoded update gameplay state field c302 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C302:
|
|
rts ; PRG $0302 | CPU $C302 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value C303.
|
|
; Local behavior: Executes the decoded calculate and clamp value c303 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_C303:
|
|
jsr UpdateSideScrollingGameplay_C346 ; PRG $0303 | CPU $C303 | 20 46 C3
|
|
adc ScratchValue1 ; PRG $0306 | CPU $C306 | 65 01
|
|
cmp #$0A ; PRG $0308 | CPU $C308 | C9 0A
|
|
bcc UpdateSideScrollingGameplay_C30E ; PRG $030A | CPU $C30A | 90 02
|
|
adc #$05 ; PRG $030C | CPU $C30C | 69 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C30 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c30 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C30E:
|
|
clc ; PRG $030E | CPU $C30E | 18
|
|
adc ScratchValue2 ; PRG $030F | CPU $C30F | 65 02
|
|
sta ScratchValue2 ; PRG $0311 | CPU $C311 | 85 02
|
|
lda ScratchIndex ; PRG $0313 | CPU $C313 | A5 03
|
|
and #$F0 ; PRG $0315 | CPU $C315 | 29 F0
|
|
adc ScratchValue2 ; PRG $0317 | CPU $C317 | 65 02
|
|
bcc UpdateGameplayStateField_C31F ; PRG $0319 | CPU $C319 | 90 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C31 B.
|
|
; Local behavior: Executes the decoded update gameplay state field c31 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C31B:
|
|
adc #$5F ; PRG $031B | CPU $C31B | 69 5F
|
|
sec ; PRG $031D | CPU $C31D | 38
|
|
rts ; PRG $031E | CPU $C31E | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C31 F.
|
|
; Local behavior: Executes the decoded update gameplay state field c31 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C31F:
|
|
cmp #$A0 ; PRG $031F | CPU $C31F | C9 A0
|
|
bcs UpdateGameplayStateField_C31B ; PRG $0321 | CPU $C321 | B0 F8
|
|
rts ; PRG $0323 | CPU $C323 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C324.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c324 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C324:
|
|
jsr UpdateSideScrollingGameplay_C346 ; PRG $0324 | CPU $C324 | 20 46 C3
|
|
sbc ScratchValue1 ; PRG $0327 | CPU $C327 | E5 01
|
|
sta ScratchValue1 ; PRG $0329 | CPU $C329 | 85 01
|
|
bcs UpdateSideScrollingGameplay_C337 ; PRG $032B | CPU $C32B | B0 0A
|
|
adc #$0A ; PRG $032D | CPU $C32D | 69 0A
|
|
sta ScratchValue1 ; PRG $032F | CPU $C32F | 85 01
|
|
lda ScratchValue2 ; PRG $0331 | CPU $C331 | A5 02
|
|
adc #$0F ; PRG $0333 | CPU $C333 | 69 0F
|
|
sta ScratchValue2 ; PRG $0335 | CPU $C335 | 85 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C337.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c337 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C337:
|
|
lda ScratchIndex ; PRG $0337 | CPU $C337 | A5 03
|
|
and #$F0 ; PRG $0339 | CPU $C339 | 29 F0
|
|
sec ; PRG $033B | CPU $C33B | 38
|
|
sbc ScratchValue2 ; PRG $033C | CPU $C33C | E5 02
|
|
bcs UpdateGameplayStateField_C343 ; PRG $033E | CPU $C33E | B0 03
|
|
adc #$A0 ; PRG $0340 | CPU $C340 | 69 A0
|
|
clc ; PRG $0342 | CPU $C342 | 18
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C343.
|
|
; Local behavior: Executes the decoded update gameplay state field c343 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C343:
|
|
ora ScratchValue1 ; PRG $0343 | CPU $C343 | 05 01
|
|
rts ; PRG $0345 | CPU $C345 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C346.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c346 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C346:
|
|
pha ; PRG $0346 | CPU $C346 | 48
|
|
and #$0F ; PRG $0347 | CPU $C347 | 29 0F
|
|
sta ScratchValue1 ; PRG $0349 | CPU $C349 | 85 01
|
|
pla ; PRG $034B | CPU $C34B | 68
|
|
and #$F0 ; PRG $034C | CPU $C34C | 29 F0
|
|
sta ScratchValue2 ; PRG $034E | CPU $C34E | 85 02
|
|
lda ScratchIndex ; PRG $0350 | CPU $C350 | A5 03
|
|
and #$0F ; PRG $0352 | CPU $C352 | 29 0F
|
|
rts ; PRG $0354 | CPU $C354 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State C355.
|
|
; Local behavior: Executes the decoded transform flight state c355 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_C355:
|
|
lda #$00 ; PRG $0355 | CPU $C355 | A9 00
|
|
sta DataPointerLo ; PRG $0357 | CPU $C357 | 85 04
|
|
clc ; PRG $0359 | CPU $C359 | 18
|
|
lda ScratchValue0 ; PRG $035A | CPU $C35A | A5 00
|
|
adc #$10 ; PRG $035C | CPU $C35C | 69 10
|
|
and #$F0 ; PRG $035E | CPU $C35E | 29 F0
|
|
lsr a ; PRG $0360 | CPU $C360 | 4A
|
|
lsr a ; PRG $0361 | CPU $C361 | 4A
|
|
tay ; PRG $0362 | CPU $C362 | A8
|
|
lda ScratchValue0 ; PRG $0363 | CPU $C363 | A5 00
|
|
and #$07 ; PRG $0365 | CPU $C365 | 29 07
|
|
asl a ; PRG $0367 | CPU $C367 | 0A
|
|
asl a ; PRG $0368 | CPU $C368 | 0A
|
|
tax ; PRG $0369 | CPU $C369 | AA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C36 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c36 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C36A:
|
|
lda Zp_40,y ; PRG $036A | CPU $C36A | B9 40 00
|
|
beq UpdateSideScrollingGameplay_C3C0 ; PRG $036D | CPU $C36D | F0 51
|
|
lda Zp_44,x ; PRG $036F | CPU $C36F | B5 44
|
|
beq UpdateSideScrollingGameplay_C399 ; PRG $0371 | CPU $C371 | F0 26
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C373.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c373 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C373:
|
|
sec ; PRG $0373 | CPU $C373 | 38
|
|
lda Zp_43,y ; PRG $0374 | CPU $C374 | B9 43 00
|
|
sta ScratchIndex ; PRG $0377 | CPU $C377 | 85 03
|
|
lda Zp_47,x ; PRG $0379 | CPU $C379 | B5 47
|
|
jsr UpdateSideScrollingGameplay_C324 ; PRG $037B | CPU $C37B | 20 24 C3
|
|
lda Zp_42,y ; PRG $037E | CPU $C37E | B9 42 00
|
|
sta ScratchIndex ; PRG $0381 | CPU $C381 | 85 03
|
|
lda Zp_46,x ; PRG $0383 | CPU $C383 | B5 46
|
|
jsr UpdateSideScrollingGameplay_C324 ; PRG $0385 | CPU $C385 | 20 24 C3
|
|
lda Zp_41,y ; PRG $0388 | CPU $C388 | B9 41 00
|
|
sta ScratchIndex ; PRG $038B | CPU $C38B | 85 03
|
|
lda Zp_45,x ; PRG $038D | CPU $C38D | B5 45
|
|
jsr UpdateSideScrollingGameplay_C324 ; PRG $038F | CPU $C38F | 20 24 C3
|
|
bcs UpdateSideScrollingGameplay_C3C4 ; PRG $0392 | CPU $C392 | B0 30
|
|
lda Zp_40,y ; PRG $0394 | CPU $C394 | B9 40 00
|
|
bne UpdateSideScrollingGameplay_C3C9 ; PRG $0397 | CPU $C397 | D0 30
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C399.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c399 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C399:
|
|
lda #$FF ; PRG $0399 | CPU $C399 | A9 FF
|
|
sta DataPointerLo ; PRG $039B | CPU $C39B | 85 04
|
|
sec ; PRG $039D | CPU $C39D | 38
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C39 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c39 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C39E:
|
|
tya ; PRG $039E | CPU $C39E | 98
|
|
bne UpdateGameplayStateField_C3BF ; PRG $039F | CPU $C39F | D0 1E
|
|
bcc UpdateSideScrollingGameplay_C3B3 ; PRG $03A1 | CPU $C3A1 | 90 10
|
|
lda Zp_44,x ; PRG $03A3 | CPU $C3A3 | B5 44
|
|
sta Zp_40 ; PRG $03A5 | CPU $C3A5 | 85 40
|
|
lda Zp_45,x ; PRG $03A7 | CPU $C3A7 | B5 45
|
|
sta Zp_41 ; PRG $03A9 | CPU $C3A9 | 85 41
|
|
lda Zp_46,x ; PRG $03AB | CPU $C3AB | B5 46
|
|
sta Zp_42 ; PRG $03AD | CPU $C3AD | 85 42
|
|
lda Zp_47,x ; PRG $03AF | CPU $C3AF | B5 47
|
|
sta Zp_43 ; PRG $03B1 | CPU $C3B1 | 85 43
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C3 B3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c3 b3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C3B3:
|
|
lda ScratchValue0 ; PRG $03B3 | CPU $C3B3 | A5 00
|
|
and #$08 ; PRG $03B5 | CPU $C3B5 | 29 08
|
|
beq UpdateGameplayStateField_C3BF ; PRG $03B7 | CPU $C3B7 | F0 06
|
|
dex ; PRG $03B9 | CPU $C3B9 | CA
|
|
dex ; PRG $03BA | CPU $C3BA | CA
|
|
dex ; PRG $03BB | CPU $C3BB | CA
|
|
dex ; PRG $03BC | CPU $C3BC | CA
|
|
bpl UpdateSideScrollingGameplay_C36A ; PRG $03BD | CPU $C3BD | 10 AB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C3 BF.
|
|
; Local behavior: Executes the decoded update gameplay state field c3 bf sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C3BF:
|
|
rts ; PRG $03BF | CPU $C3BF | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C3 C0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c3 c0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C3C0:
|
|
lda Zp_44,x ; PRG $03C0 | CPU $C3C0 | B5 44
|
|
beq UpdateSideScrollingGameplay_C373 ; PRG $03C2 | CPU $C3C2 | F0 AF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C3 C4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c3 c4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C3C4:
|
|
lda Zp_40,y ; PRG $03C4 | CPU $C3C4 | B9 40 00
|
|
bne UpdateSideScrollingGameplay_C399 ; PRG $03C7 | CPU $C3C7 | D0 D0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C3 C9.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c3 c9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C3C9:
|
|
clc ; PRG $03C9 | CPU $C3C9 | 18
|
|
bcc UpdateSideScrollingGameplay_C39E ; PRG $03CA | CPU $C3CA | 90 D2
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C3 CC.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c3 cc sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C3CC:
|
|
ldx #$0E ; PRG $03CC | CPU $C3CC | A2 0E
|
|
dec Zp_D0 ; PRG $03CE | CPU $C3CE | C6 D0
|
|
bpl UpdateSideScrollingGameplay_C3D8 ; PRG $03D0 | CPU $C3D0 | 10 06
|
|
lda #$0A ; PRG $03D2 | CPU $C3D2 | A9 0A
|
|
sta Zp_D0 ; PRG $03D4 | CPU $C3D4 | 85 D0
|
|
ldx #$1E ; PRG $03D6 | CPU $C3D6 | A2 1E
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C3 D8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c3 d8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C3D8:
|
|
lda Zp_D1,x ; PRG $03D8 | CPU $C3D8 | B5 D1
|
|
beq UpdateGameplayStateField_C3DE ; PRG $03DA | CPU $C3DA | F0 02
|
|
dec Zp_D1,x ; PRG $03DC | CPU $C3DC | D6 D1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C3 DE.
|
|
; Local behavior: Executes the decoded update gameplay state field c3 de sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C3DE:
|
|
dex ; PRG $03DE | CPU $C3DE | CA
|
|
bpl UpdateSideScrollingGameplay_C3D8 ; PRG $03DF | CPU $C3DF | 10 F7
|
|
rts ; PRG $03E1 | CPU $C3E1 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C3 E2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c3 e2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C3E2:
|
|
ldx Ram_0330 ; PRG $03E2 | CPU $C3E2 | AE 30 03
|
|
lda ScratchValue1 ; PRG $03E5 | CPU $C3E5 | A5 01
|
|
sta Ram_0331,x ; PRG $03E7 | CPU $C3E7 | 9D 31 03
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $03EA | CPU $C3EA | 20 4C C2
|
|
lda ScratchValue0 ; PRG $03ED | CPU $C3ED | A5 00
|
|
sta Ram_0331,x ; PRG $03EF | CPU $C3EF | 9D 31 03
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $03F2 | CPU $C3F2 | 20 4C C2
|
|
lda #$01 ; PRG $03F5 | CPU $C3F5 | A9 01
|
|
sta Ram_0331,x ; PRG $03F7 | CPU $C3F7 | 9D 31 03
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $03FA | CPU $C3FA | 20 4C C2
|
|
tya ; PRG $03FD | CPU $C3FD | 98
|
|
sta Ram_0331,x ; PRG $03FE | CPU $C3FE | 9D 31 03
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $0401 | CPU $C401 | 20 4C C2
|
|
lda #$00 ; PRG $0404 | CPU $C404 | A9 00
|
|
sta Ram_0331,x ; PRG $0406 | CPU $C406 | 9D 31 03
|
|
stx Ram_0330 ; PRG $0409 | CPU $C409 | 8E 30 03
|
|
rts ; PRG $040C | CPU $C40C | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C40 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c40 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C40D:
|
|
lda Zp_1D ; PRG $040D | CPU $C40D | A5 1D
|
|
and #$02 ; PRG $040F | CPU $C40F | 29 02
|
|
sta ScratchValue0 ; PRG $0411 | CPU $C411 | 85 00
|
|
lda Zp_1E ; PRG $0413 | CPU $C413 | A5 1E
|
|
and #$02 ; PRG $0415 | CPU $C415 | 29 02
|
|
eor ScratchValue0 ; PRG $0417 | CPU $C417 | 45 00
|
|
clc ; PRG $0419 | CPU $C419 | 18
|
|
beq TransformFlightState_C41D ; PRG $041A | CPU $C41A | F0 01
|
|
sec ; PRG $041C | CPU $C41C | 38
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State C41 D.
|
|
; Local behavior: Executes the decoded transform flight state c41 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_C41D:
|
|
ror Zp_1D ; PRG $041D | CPU $C41D | 66 1D
|
|
ror Zp_1E ; PRG $041F | CPU $C41F | 66 1E
|
|
ror Zp_1F ; PRG $0421 | CPU $C421 | 66 1F
|
|
ror Zp_20 ; PRG $0423 | CPU $C423 | 66 20
|
|
ror Zp_21 ; PRG $0425 | CPU $C425 | 66 21
|
|
ror Zp_22 ; PRG $0427 | CPU $C427 | 66 22
|
|
ror Zp_23 ; PRG $0429 | CPU $C429 | 66 23
|
|
ror Zp_24 ; PRG $042B | CPU $C42B | 66 24
|
|
ror Zp_25 ; PRG $042D | CPU $C42D | 66 25
|
|
ror Zp_26 ; PRG $042F | CPU $C42F | 66 26
|
|
ror Zp_27 ; PRG $0431 | CPU $C431 | 66 27
|
|
rts ; PRG $0433 | CPU $C433 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Poll Ship Controllers.
|
|
; Local behavior: Executes the decoded poll ship controllers sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
PollShipControllers:
|
|
lda #$01 ; PRG $0434 | CPU $C434 | A9 01
|
|
sta JOY1 ; PRG $0436 | CPU $C436 | 8D 16 40
|
|
ldx #$00 ; PRG $0439 | CPU $C439 | A2 00
|
|
lda #$00 ; PRG $043B | CPU $C43B | A9 00
|
|
sta JOY1 ; PRG $043D | CPU $C43D | 8D 16 40
|
|
jsr ReadControllerShiftRegister ; PRG $0440 | CPU $C440 | 20 48 C4
|
|
inx ; PRG $0443 | CPU $C443 | E8
|
|
jsr ReadControllerShiftRegister ; PRG $0444 | CPU $C444 | 20 48 C4
|
|
rts ; PRG $0447 | CPU $C447 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Read Controller Shift Register.
|
|
; Local behavior: Executes the decoded read controller shift register sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
ReadControllerShiftRegister:
|
|
ldy #$08 ; PRG $0448 | CPU $C448 | A0 08
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Read Ship Controls C44 A.
|
|
; Local behavior: Executes the decoded read ship controls c44 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
ReadShipControls_C44A:
|
|
pha ; PRG $044A | CPU $C44A | 48
|
|
lda JOY1,x ; PRG $044B | CPU $C44B | BD 16 40
|
|
sta ScratchValue0 ; PRG $044E | CPU $C44E | 85 00
|
|
lsr a ; PRG $0450 | CPU $C450 | 4A
|
|
ora ScratchValue0 ; PRG $0451 | CPU $C451 | 05 00
|
|
lsr a ; PRG $0453 | CPU $C453 | 4A
|
|
pla ; PRG $0454 | CPU $C454 | 68
|
|
rol a ; PRG $0455 | CPU $C455 | 2A
|
|
dey ; PRG $0456 | CPU $C456 | 88
|
|
bne ReadShipControls_C44A ; PRG $0457 | CPU $C457 | D0 F1
|
|
ldy PreviousControllerButtons,x ; PRG $0459 | CPU $C459 | B4 19
|
|
sty ScratchValue0 ; PRG $045B | CPU $C45B | 84 00
|
|
sta PreviousControllerButtons,x ; PRG $045D | CPU $C45D | 95 19
|
|
and #$FF ; PRG $045F | CPU $C45F | 29 FF
|
|
bpl DeriveNewlyPressedButtons ; PRG $0461 | CPU $C461 | 10 06
|
|
bit ScratchValue0 ; PRG $0463 | CPU $C463 | 24 00
|
|
bpl DeriveNewlyPressedButtons ; PRG $0465 | CPU $C465 | 10 02
|
|
and #$7F ; PRG $0467 | CPU $C467 | 29 7F
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Process Game Logic C469.
|
|
; Local behavior: Executes the decoded process game logic c469 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
DeriveNewlyPressedButtons:
|
|
ldy CurrentControllerButtons,x ; PRG $0469 | CPU $C469 | B4 1B
|
|
sta CurrentControllerButtons,x ; PRG $046B | CPU $C46B | 95 1B
|
|
tya ; PRG $046D | CPU $C46D | 98
|
|
and #$0F ; PRG $046E | CPU $C46E | 29 0F
|
|
and CurrentControllerButtons,x ; PRG $0470 | CPU $C470 | 35 1B
|
|
beq UpdateGameplayStateField_C47A ; PRG $0472 | CPU $C472 | F0 06
|
|
ora #$F0 ; PRG $0474 | CPU $C474 | 09 F0
|
|
and CurrentControllerButtons,x ; PRG $0476 | CPU $C476 | 35 1B
|
|
sta CurrentControllerButtons,x ; PRG $0478 | CPU $C478 | 95 1B
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C47 A.
|
|
; Local behavior: Executes the decoded update gameplay state field c47 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C47A:
|
|
rts ; PRG $047A | CPU $C47A | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C47 B.
|
|
; Local behavior: Executes the decoded update gameplay state field c47 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C47B:
|
|
rts ; PRG $047B | CPU $C47B | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State C47 C.
|
|
; Local behavior: Executes the decoded transform flight state c47 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_C47C:
|
|
ldy #$0B ; PRG $047C | CPU $C47C | A0 0B
|
|
lda (ScratchValue0),y ; PRG $047E | CPU $C47E | B1 00
|
|
sta ScratchValue2 ; PRG $0480 | CPU $C480 | 85 02
|
|
lda #$02 ; PRG $0482 | CPU $C482 | A9 02
|
|
sta ScratchIndex ; PRG $0484 | CPU $C484 | 85 03
|
|
dey ; PRG $0486 | CPU $C486 | 88
|
|
lda (ScratchValue0),y ; PRG $0487 | CPU $C487 | B1 00
|
|
lsr a ; PRG $0489 | CPU $C489 | 4A
|
|
lsr a ; PRG $048A | CPU $C48A | 4A
|
|
lsr a ; PRG $048B | CPU $C48B | 4A
|
|
lsr a ; PRG $048C | CPU $C48C | 4A
|
|
beq UpdateGameplayStateField_C47B ; PRG $048D | CPU $C48D | F0 EC
|
|
sta DataPointerLo ; PRG $048F | CPU $C48F | 85 04
|
|
sta Zp_0C ; PRG $0491 | CPU $C491 | 85 0C
|
|
lda (ScratchValue0),y ; PRG $0493 | CPU $C493 | B1 00
|
|
and #$0F ; PRG $0495 | CPU $C495 | 29 0F
|
|
beq UpdateGameplayStateField_C47B ; PRG $0497 | CPU $C497 | F0 E2
|
|
sta DataPointerHi ; PRG $0499 | CPU $C499 | 85 05
|
|
ldy #$01 ; PRG $049B | CPU $C49B | A0 01
|
|
lda (ScratchValue0),y ; PRG $049D | CPU $C49D | B1 00
|
|
tax ; PRG $049F | CPU $C49F | AA
|
|
dey ; PRG $04A0 | CPU $C4A0 | 88
|
|
lda (ScratchValue0),y ; PRG $04A1 | CPU $C4A1 | B1 00
|
|
beq TransformFlightState_C4A7 ; PRG $04A3 | CPU $C4A3 | F0 02
|
|
ldx #$F4 ; PRG $04A5 | CPU $C4A5 | A2 F4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State C4 A7.
|
|
; Local behavior: Executes the decoded transform flight state c4 a7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_C4A7:
|
|
stx Zp_08 ; PRG $04A7 | CPU $C4A7 | 86 08
|
|
ldy #$08 ; PRG $04A9 | CPU $C4A9 | A0 08
|
|
lda (ScratchValue0),y ; PRG $04AB | CPU $C4AB | B1 00
|
|
lsr a ; PRG $04AD | CPU $C4AD | 4A
|
|
and #$08 ; PRG $04AE | CPU $C4AE | 29 08
|
|
beq TransformFlightState_C4B4 ; PRG $04B0 | CPU $C4B0 | F0 02
|
|
lda #$80 ; PRG $04B2 | CPU $C4B2 | A9 80
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State C4 B4.
|
|
; Local behavior: Executes the decoded transform flight state c4 b4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_C4B4:
|
|
ror a ; PRG $04B4 | CPU $C4B4 | 6A
|
|
sta Zp_09 ; PRG $04B5 | CPU $C4B5 | 85 09
|
|
iny ; PRG $04B7 | CPU $C4B7 | C8
|
|
lda (ScratchValue0),y ; PRG $04B8 | CPU $C4B8 | B1 00
|
|
and #$23 ; PRG $04BA | CPU $C4BA | 29 23
|
|
ora Zp_09 ; PRG $04BC | CPU $C4BC | 05 09
|
|
sta Zp_09 ; PRG $04BE | CPU $C4BE | 85 09
|
|
ldy #$03 ; PRG $04C0 | CPU $C4C0 | A0 03
|
|
lda (ScratchValue0),y ; PRG $04C2 | CPU $C4C2 | B1 00
|
|
sta Zp_0A ; PRG $04C4 | CPU $C4C4 | 85 0A
|
|
lda DataPointerHi ; PRG $04C6 | CPU $C4C6 | A5 05
|
|
sta TemporaryPointerHi ; PRG $04C8 | CPU $C4C8 | 85 07
|
|
ldy #$00 ; PRG $04CA | CPU $C4CA | A0 00
|
|
sty Zp_0B ; PRG $04CC | CPU $C4CC | 84 0B
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C4 CE.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c4 ce sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C4CE:
|
|
lda DataPointerLo ; PRG $04CE | CPU $C4CE | A5 04
|
|
sta TemporaryPointerLo ; PRG $04D0 | CPU $C4D0 | 85 06
|
|
ldx Zp_08 ; PRG $04D2 | CPU $C4D2 | A6 08
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value C4 D4.
|
|
; Local behavior: Executes the decoded calculate and clamp value c4 d4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_C4D4:
|
|
txa ; PRG $04D4 | CPU $C4D4 | 8A
|
|
sta (ScratchValue2),y ; PRG $04D5 | CPU $C4D5 | 91 02
|
|
cmp #$F4 ; PRG $04D7 | CPU $C4D7 | C9 F4
|
|
beq UpdateSideScrollingGameplay_C4DF ; PRG $04D9 | CPU $C4D9 | F0 04
|
|
clc ; PRG $04DB | CPU $C4DB | 18
|
|
adc #$08 ; PRG $04DC | CPU $C4DC | 69 08
|
|
tax ; PRG $04DE | CPU $C4DE | AA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C4 DF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c4 df sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C4DF:
|
|
iny ; PRG $04DF | CPU $C4DF | C8
|
|
iny ; PRG $04E0 | CPU $C4E0 | C8
|
|
lda Zp_09 ; PRG $04E1 | CPU $C4E1 | A5 09
|
|
sta (ScratchValue2),y ; PRG $04E3 | CPU $C4E3 | 91 02
|
|
iny ; PRG $04E5 | CPU $C4E5 | C8
|
|
lda Zp_0A ; PRG $04E6 | CPU $C4E6 | A5 0A
|
|
sta (ScratchValue2),y ; PRG $04E8 | CPU $C4E8 | 91 02
|
|
iny ; PRG $04EA | CPU $C4EA | C8
|
|
inc Zp_0B ; PRG $04EB | CPU $C4EB | E6 0B
|
|
dec TemporaryPointerLo ; PRG $04ED | CPU $C4ED | C6 06
|
|
bne CalculateMovementAndClamp_C4D4 ; PRG $04EF | CPU $C4EF | D0 E3
|
|
lda Zp_0A ; PRG $04F1 | CPU $C4F1 | A5 0A
|
|
clc ; PRG $04F3 | CPU $C4F3 | 18
|
|
adc #$08 ; PRG $04F4 | CPU $C4F4 | 69 08
|
|
sta Zp_0A ; PRG $04F6 | CPU $C4F6 | 85 0A
|
|
dec TemporaryPointerHi ; PRG $04F8 | CPU $C4F8 | C6 07
|
|
bne UpdateSideScrollingGameplay_C4CE ; PRG $04FA | CPU $C4FA | D0 D2
|
|
lda #$00 ; PRG $04FC | CPU $C4FC | A9 00
|
|
sta TemporaryPointerHi ; PRG $04FE | CPU $C4FE | 85 07
|
|
sta Zp_08 ; PRG $0500 | CPU $C500 | 85 08
|
|
sta Zp_0A ; PRG $0502 | CPU $C502 | 85 0A
|
|
clc ; PRG $0504 | CPU $C504 | 18
|
|
ldx Zp_0B ; PRG $0505 | CPU $C505 | A6 0B
|
|
ldy #$05 ; PRG $0507 | CPU $C507 | A0 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C509.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c509 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C509:
|
|
lda (ScratchValue0),y ; PRG $0509 | CPU $C509 | B1 00
|
|
clc ; PRG $050B | CPU $C50B | 18
|
|
adc TemporaryPointerHi ; PRG $050C | CPU $C50C | 65 07
|
|
sta TemporaryPointerHi ; PRG $050E | CPU $C50E | 85 07
|
|
lda #$00 ; PRG $0510 | CPU $C510 | A9 00
|
|
adc Zp_08 ; PRG $0512 | CPU $C512 | 65 08
|
|
sta Zp_08 ; PRG $0514 | CPU $C514 | 85 08
|
|
dex ; PRG $0516 | CPU $C516 | CA
|
|
bne UpdateSideScrollingGameplay_C509 ; PRG $0517 | CPU $C517 | D0 F0
|
|
inc ScratchValue2 ; PRG $0519 | CPU $C519 | E6 02
|
|
ldy #$07 ; PRG $051B | CPU $C51B | A0 07
|
|
clc ; PRG $051D | CPU $C51D | 18
|
|
lda (ScratchValue0),y ; PRG $051E | CPU $C51E | B1 00
|
|
adc TemporaryPointerHi ; PRG $0520 | CPU $C520 | 65 07
|
|
sta TemporaryPointerHi ; PRG $0522 | CPU $C522 | 85 07
|
|
dey ; PRG $0524 | CPU $C524 | 88
|
|
lda (ScratchValue0),y ; PRG $0525 | CPU $C525 | B1 00
|
|
ldy #$00 ; PRG $0527 | CPU $C527 | A0 00
|
|
adc Zp_08 ; PRG $0529 | CPU $C529 | 65 08
|
|
sta Zp_08 ; PRG $052B | CPU $C52B | 85 08
|
|
bmi UpdateSideScrollingGameplay_C533 ; PRG $052D | CPU $C52D | 30 04
|
|
dec Zp_0A ; PRG $052F | CPU $C52F | C6 0A
|
|
ldy TemporaryPointerHi ; PRG $0531 | CPU $C531 | A4 07
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C533.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c533 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C533:
|
|
lda #$FF ; PRG $0533 | CPU $C533 | A9 FF
|
|
bit Zp_09 ; PRG $0535 | CPU $C535 | 24 09
|
|
bmi UpdateSideScrollingGameplay_C55A ; PRG $0537 | CPU $C537 | 30 21
|
|
bvs UpdateSideScrollingGameplay_C55C ; PRG $0539 | CPU $C539 | 70 21
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C53 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c53 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C53B:
|
|
lda Zp_0A ; PRG $053B | CPU $C53B | A5 0A
|
|
bpl UpdateSideScrollingGameplay_C555 ; PRG $053D | CPU $C53D | 10 16
|
|
tya ; PRG $053F | CPU $C53F | 98
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C540.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c540 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C540:
|
|
sta (ScratchValue2,x) ; PRG $0540 | CPU $C540 | 81 02
|
|
dey ; PRG $0542 | CPU $C542 | 88
|
|
bit Zp_09 ; PRG $0543 | CPU $C543 | 24 09
|
|
bmi UpdateSideScrollingGameplay_C549 ; PRG $0545 | CPU $C545 | 30 02
|
|
iny ; PRG $0547 | CPU $C547 | C8
|
|
iny ; PRG $0548 | CPU $C548 | C8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C549.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c549 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C549:
|
|
lda #$04 ; PRG $0549 | CPU $C549 | A9 04
|
|
clc ; PRG $054B | CPU $C54B | 18
|
|
adc ScratchValue2 ; PRG $054C | CPU $C54C | 65 02
|
|
sta ScratchValue2 ; PRG $054E | CPU $C54E | 85 02
|
|
dec Zp_0B ; PRG $0550 | CPU $C550 | C6 0B
|
|
bne UpdateSideScrollingGameplay_C53B ; PRG $0552 | CPU $C552 | D0 E7
|
|
rts ; PRG $0554 | CPU $C554 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C555.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c555 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C555:
|
|
lda (TemporaryPointerHi),y ; PRG $0555 | CPU $C555 | B1 07
|
|
jmp UpdateSideScrollingGameplay_C540 ; PRG $0557 | CPU $C557 | 4C 40 C5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C55 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c55 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C55A:
|
|
bvc UpdateSideScrollingGameplay_C56E ; PRG $055A | CPU $C55A | 50 12
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C55 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c55 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C55C:
|
|
tya ; PRG $055C | CPU $C55C | 98
|
|
clc ; PRG $055D | CPU $C55D | 18
|
|
adc Zp_0B ; PRG $055E | CPU $C55E | 65 0B
|
|
tay ; PRG $0560 | CPU $C560 | A8
|
|
dey ; PRG $0561 | CPU $C561 | 88
|
|
lda #$FF ; PRG $0562 | CPU $C562 | A9 FF
|
|
bit Zp_09 ; PRG $0564 | CPU $C564 | 24 09
|
|
bmi UpdateSideScrollingGameplay_C53B ; PRG $0566 | CPU $C566 | 30 D3
|
|
eor Zp_0C ; PRG $0568 | CPU $C568 | 45 0C
|
|
sta Zp_0C ; PRG $056A | CPU $C56A | 85 0C
|
|
inc Zp_0C ; PRG $056C | CPU $C56C | E6 0C
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C56 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c56 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C56E:
|
|
tya ; PRG $056E | CPU $C56E | 98
|
|
clc ; PRG $056F | CPU $C56F | 18
|
|
adc Zp_0C ; PRG $0570 | CPU $C570 | 65 0C
|
|
tay ; PRG $0572 | CPU $C572 | A8
|
|
lda DataPointerLo ; PRG $0573 | CPU $C573 | A5 04
|
|
sta TemporaryPointerLo ; PRG $0575 | CPU $C575 | 85 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C577.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c577 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C577:
|
|
dey ; PRG $0577 | CPU $C577 | 88
|
|
bit Zp_09 ; PRG $0578 | CPU $C578 | 24 09
|
|
bmi UpdateSideScrollingGameplay_C57E ; PRG $057A | CPU $C57A | 30 02
|
|
iny ; PRG $057C | CPU $C57C | C8
|
|
iny ; PRG $057D | CPU $C57D | C8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C57 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c57 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C57E:
|
|
lda (TemporaryPointerHi),y ; PRG $057E | CPU $C57E | B1 07
|
|
bit Zp_0A ; PRG $0580 | CPU $C580 | 24 0A
|
|
bpl UpdateSideScrollingGameplay_C585 ; PRG $0582 | CPU $C582 | 10 01
|
|
tya ; PRG $0584 | CPU $C584 | 98
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C585.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c585 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C585:
|
|
sta (ScratchValue2,x) ; PRG $0585 | CPU $C585 | 81 02
|
|
lda #$04 ; PRG $0587 | CPU $C587 | A9 04
|
|
clc ; PRG $0589 | CPU $C589 | 18
|
|
adc ScratchValue2 ; PRG $058A | CPU $C58A | 65 02
|
|
sta ScratchValue2 ; PRG $058C | CPU $C58C | 85 02
|
|
dec TemporaryPointerLo ; PRG $058E | CPU $C58E | C6 06
|
|
bne UpdateSideScrollingGameplay_C577 ; PRG $0590 | CPU $C590 | D0 E5
|
|
tya ; PRG $0592 | CPU $C592 | 98
|
|
clc ; PRG $0593 | CPU $C593 | 18
|
|
adc Zp_0C ; PRG $0594 | CPU $C594 | 65 0C
|
|
tay ; PRG $0596 | CPU $C596 | A8
|
|
dec DataPointerHi ; PRG $0597 | CPU $C597 | C6 05
|
|
bne UpdateSideScrollingGameplay_C56E ; PRG $0599 | CPU $C599 | D0 D3
|
|
rts ; PRG $059B | CPU $C59B | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value C59 C.
|
|
; Local behavior: Executes the decoded calculate and clamp value c59 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_C59C:
|
|
lda DataPointerLo ; PRG $059C | CPU $C59C | A5 04
|
|
pha ; PRG $059E | CPU $C59E | 48
|
|
clc ; PRG $059F | CPU $C59F | 18
|
|
ldy #$00 ; PRG $05A0 | CPU $C5A0 | A0 00
|
|
lda (ScratchValue0),y ; PRG $05A2 | CPU $C5A2 | B1 00
|
|
bne UpdateGameplayStateField_C5FF ; PRG $05A4 | CPU $C5A4 | D0 59
|
|
lda (ScratchValue2),y ; PRG $05A6 | CPU $C5A6 | B1 02
|
|
bne UpdateGameplayStateField_C5FF ; PRG $05A8 | CPU $C5A8 | D0 55
|
|
ldy #$0C ; PRG $05AA | CPU $C5AA | A0 0C
|
|
lda (ScratchValue2),y ; PRG $05AC | CPU $C5AC | B1 02
|
|
ldy #$01 ; PRG $05AE | CPU $C5AE | A0 01
|
|
adc (ScratchValue2),y ; PRG $05B0 | CPU $C5B0 | 71 02
|
|
sta DataPointerLo ; PRG $05B2 | CPU $C5B2 | 85 04
|
|
lda (ScratchValue0),y ; PRG $05B4 | CPU $C5B4 | B1 00
|
|
ldy #$0E ; PRG $05B6 | CPU $C5B6 | A0 0E
|
|
clc ; PRG $05B8 | CPU $C5B8 | 18
|
|
adc (ScratchValue0),y ; PRG $05B9 | CPU $C5B9 | 71 00
|
|
cmp DataPointerLo ; PRG $05BB | CPU $C5BB | C5 04
|
|
bcc UpdateGameplayStateField_C5FF ; PRG $05BD | CPU $C5BD | 90 40
|
|
ldy #$0C ; PRG $05BF | CPU $C5BF | A0 0C
|
|
lda (ScratchValue0),y ; PRG $05C1 | CPU $C5C1 | B1 00
|
|
ldy #$01 ; PRG $05C3 | CPU $C5C3 | A0 01
|
|
clc ; PRG $05C5 | CPU $C5C5 | 18
|
|
adc (ScratchValue0),y ; PRG $05C6 | CPU $C5C6 | 71 00
|
|
sta DataPointerLo ; PRG $05C8 | CPU $C5C8 | 85 04
|
|
lda (ScratchValue2),y ; PRG $05CA | CPU $C5CA | B1 02
|
|
ldy #$0E ; PRG $05CC | CPU $C5CC | A0 0E
|
|
clc ; PRG $05CE | CPU $C5CE | 18
|
|
adc (ScratchValue2),y ; PRG $05CF | CPU $C5CF | 71 02
|
|
cmp DataPointerLo ; PRG $05D1 | CPU $C5D1 | C5 04
|
|
bcc UpdateGameplayStateField_C5FF ; PRG $05D3 | CPU $C5D3 | 90 2A
|
|
ldy #$0D ; PRG $05D5 | CPU $C5D5 | A0 0D
|
|
lda (ScratchValue2),y ; PRG $05D7 | CPU $C5D7 | B1 02
|
|
ldy #$03 ; PRG $05D9 | CPU $C5D9 | A0 03
|
|
clc ; PRG $05DB | CPU $C5DB | 18
|
|
adc (ScratchValue2),y ; PRG $05DC | CPU $C5DC | 71 02
|
|
sta DataPointerLo ; PRG $05DE | CPU $C5DE | 85 04
|
|
lda (ScratchValue0),y ; PRG $05E0 | CPU $C5E0 | B1 00
|
|
ldy #$0F ; PRG $05E2 | CPU $C5E2 | A0 0F
|
|
clc ; PRG $05E4 | CPU $C5E4 | 18
|
|
adc (ScratchValue0),y ; PRG $05E5 | CPU $C5E5 | 71 00
|
|
cmp DataPointerLo ; PRG $05E7 | CPU $C5E7 | C5 04
|
|
bcc UpdateGameplayStateField_C5FF ; PRG $05E9 | CPU $C5E9 | 90 14
|
|
ldy #$0D ; PRG $05EB | CPU $C5EB | A0 0D
|
|
lda (ScratchValue0),y ; PRG $05ED | CPU $C5ED | B1 00
|
|
ldy #$03 ; PRG $05EF | CPU $C5EF | A0 03
|
|
clc ; PRG $05F1 | CPU $C5F1 | 18
|
|
adc (ScratchValue0),y ; PRG $05F2 | CPU $C5F2 | 71 00
|
|
sta DataPointerLo ; PRG $05F4 | CPU $C5F4 | 85 04
|
|
lda (ScratchValue2),y ; PRG $05F6 | CPU $C5F6 | B1 02
|
|
ldy #$0F ; PRG $05F8 | CPU $C5F8 | A0 0F
|
|
clc ; PRG $05FA | CPU $C5FA | 18
|
|
adc (ScratchValue2),y ; PRG $05FB | CPU $C5FB | 71 02
|
|
cmp DataPointerLo ; PRG $05FD | CPU $C5FD | C5 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field C5 FF.
|
|
; Local behavior: Executes the decoded update gameplay state field c5 ff sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_C5FF:
|
|
pla ; PRG $05FF | CPU $C5FF | 68
|
|
sta DataPointerLo ; PRG $0600 | CPU $C600 | 85 04
|
|
rts ; PRG $0602 | CPU $C602 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C603.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c603 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C603:
|
|
sta ScratchValue0 ; PRG $0603 | CPU $C603 | 85 00
|
|
stx ScratchValue1 ; PRG $0605 | CPU $C605 | 86 01
|
|
ldy #$04 ; PRG $0607 | CPU $C607 | A0 04
|
|
lda (ScratchValue0),y ; PRG $0609 | CPU $C609 | B1 00
|
|
sta ScratchIndex ; PRG $060B | CPU $C60B | 85 03
|
|
dey ; PRG $060D | CPU $C60D | 88
|
|
lda (ScratchValue0),y ; PRG $060E | CPU $C60E | B1 00
|
|
sta ScratchValue2 ; PRG $0610 | CPU $C610 | 85 02
|
|
dey ; PRG $0612 | CPU $C612 | 88
|
|
lda (ScratchValue0),y ; PRG $0613 | CPU $C613 | B1 00
|
|
sta DataPointerHi ; PRG $0615 | CPU $C615 | 85 05
|
|
dey ; PRG $0617 | CPU $C617 | 88
|
|
lda (ScratchValue0),y ; PRG $0618 | CPU $C618 | B1 00
|
|
sta DataPointerLo ; PRG $061A | CPU $C61A | 85 04
|
|
dey ; PRG $061C | CPU $C61C | 88
|
|
lda (ScratchValue0),y ; PRG $061D | CPU $C61D | B1 00
|
|
sta TemporaryPointerLo ; PRG $061F | CPU $C61F | 85 06
|
|
lda #$05 ; PRG $0621 | CPU $C621 | A9 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C623.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c623 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C623:
|
|
clc ; PRG $0623 | CPU $C623 | 18
|
|
adc ScratchValue0,y ; PRG $0624 | CPU $C624 | 79 00 00
|
|
sta ScratchValue0,y ; PRG $0627 | CPU $C627 | 99 00 00
|
|
lda #$00 ; PRG $062A | CPU $C62A | A9 00
|
|
adc ScratchValue1,y ; PRG $062C | CPU $C62C | 79 01 00
|
|
sta ScratchValue1,y ; PRG $062F | CPU $C62F | 99 01 00
|
|
ldy #$00 ; PRG $0632 | CPU $C632 | A0 00
|
|
ldx DataPointerHi ; PRG $0634 | CPU $C634 | A6 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C636.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c636 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C636:
|
|
lda (ScratchValue0),y ; PRG $0636 | CPU $C636 | B1 00
|
|
sta (ScratchValue2),y ; PRG $0638 | CPU $C638 | 91 02
|
|
iny ; PRG $063A | CPU $C63A | C8
|
|
dex ; PRG $063B | CPU $C63B | CA
|
|
bne UpdateSideScrollingGameplay_C636 ; PRG $063C | CPU $C63C | D0 F8
|
|
lda TemporaryPointerLo ; PRG $063E | CPU $C63E | A5 06
|
|
ldy #$02 ; PRG $0640 | CPU $C640 | A0 02
|
|
dec DataPointerLo ; PRG $0642 | CPU $C642 | C6 04
|
|
bne UpdateSideScrollingGameplay_C623 ; PRG $0644 | CPU $C644 | D0 DD
|
|
rts ; PRG $0646 | CPU $C646 | 60
|
|
.byte $20,$44,$45,$42,$55,$47,$45,$44,$20,$42,$59,$20,$54,$4F,$53,$48 ; PRG $0647 | CPU $C647
|
|
.byte $49,$4F,$20,$53,$45,$4E,$47,$4F,$4B,$55,$20,$20,$28,$20,$49,$6E ; PRG $0657 | CPU $C657
|
|
.byte $74,$65,$6C,$6C,$69,$67,$65,$6E,$74,$20,$53,$79,$73,$74,$65,$6D ; PRG $0667 | CPU $C667
|
|
.byte $73,$20,$29,$20,$20,$31,$39,$38,$37,$2F,$30,$37,$2F,$33,$31,$20 ; PRG $0677 | CPU $C677
|
|
.byte $31,$35,$3A,$30,$30,$20,$0A,$EA ; PRG $0687 | CPU $C687
|
|
|
|
GameplayConstantData_C68F:
|
|
.byte $C7 ; PRG $068F | CPU $C68F
|
|
|
|
GameplayConstantData_C690:
|
|
.byte $EA,$A0,$EA,$E8,$EA,$02,$EE,$57,$EE,$66,$EE,$14,$EF,$AB,$B2,$B3 ; PRG $0690 | CPU $C690
|
|
.byte $AC,$B4,$B5,$AD,$B6,$B7,$A8,$B2,$B3,$A9,$B4,$B5,$AA,$B6,$B7,$AB ; PRG $06A0 | CPU $C6A0
|
|
.byte $B8,$B9,$AB,$BA,$BB,$A8,$B8,$B9,$A8,$BA,$BB,$B1,$AF,$AE,$8A ; PRG $06B0 | CPU $C6B0
|
|
|
|
GameplayLookupTable_C6BF:
|
|
.byte $89 ; PRG $06BF | CPU $C6BF
|
|
|
|
GameplayLookupTable_C6C0:
|
|
.byte $AE,$8D,$FE,$8E,$FE,$F8,$FE,$8F,$FE,$FC,$FF,$FD,$FF,$16,$24,$24 ; PRG $06C0 | CPU $C6C0
|
|
.byte $24,$24,$24,$24 ; PRG $06D0 | CPU $C6D0
|
|
|
|
GameplayLookupTable_C6D4:
|
|
.byte $01,$02,$04,$08,$10,$20,$40,$80 ; PRG $06D4 | CPU $C6D4
|
|
|
|
GameplayLookupTable_C6DC:
|
|
.byte $01,$02,$03,$04,$10,$15,$00,$01,$10,$C0,$03,$00,$6C,$00,$24,$00 ; PRG $06DC | CPU $C6DC
|
|
.byte $00,$C6,$9D,$00,$00,$13,$04,$02,$06,$06,$12,$10,$02,$10,$E0,$03 ; PRG $06EC | CPU $C6EC
|
|
.byte $F4,$00,$00,$00,$00,$00,$C6,$BB,$00,$01,$13,$74,$03,$10,$07,$17 ; PRG $06FC | CPU $C6FC
|
|
.byte $20,$0A,$0B,$05,$04,$00,$00,$A0,$00,$02,$12,$00,$00,$04,$08,$0A ; PRG $070C | CPU $C70C
|
|
.byte $00,$01,$30,$D0,$02,$F4,$F3,$20,$00,$F4,$F3,$20,$00,$F4,$F3,$20 ; PRG $071C | CPU $C71C
|
|
.byte $00,$F4,$F3,$20,$00,$F4,$F3,$20,$00,$F4,$F3,$20,$00,$F4,$F3,$20 ; PRG $072C | CPU $C72C
|
|
.byte $00,$F4,$F3,$20,$00,$F4,$F3,$20,$00,$F4,$F3,$20,$00,$F4,$F3,$20 ; PRG $073C | CPU $C73C
|
|
.byte $00,$F4,$F3,$20,$00,$20,$18,$01,$00,$04,$F4,$00,$01,$0B,$65,$06 ; PRG $074C | CPU $C74C
|
|
.byte $00,$00,$3C,$00,$00,$11,$10,$00,$02,$08,$06,$20,$04,$12,$85,$06 ; PRG $075C | CPU $C75C
|
|
.byte $00,$00,$00,$00,$01,$11,$8C,$04,$03,$05,$04,$00,$00,$00,$00,$00 ; PRG $076C | CPU $C76C
|
|
.byte $80,$80,$20,$02,$10,$A0,$05,$01,$80,$00,$80,$00,$00,$00,$D0,$00 ; PRG $077C | CPU $C77C
|
|
.byte $03,$22,$00,$04,$04,$0C,$0C,$20,$02,$10,$60,$05,$02,$80,$00,$80 ; PRG $078C | CPU $C78C
|
|
.byte $00,$00,$00,$E0,$00,$01,$22,$00,$04,$04,$0C,$0C,$00,$01,$0B,$45 ; PRG $079C | CPU $C79C
|
|
.byte $05,$00,$00,$C4,$00,$03,$12,$3C,$02,$04,$06,$0B,$20,$02,$0B,$E5 ; PRG $07AC | CPU $C7AC
|
|
.byte $05,$00,$00,$90,$00,$00,$11,$64,$02,$01,$05,$06,$20,$02,$0B,$25 ; PRG $07BC | CPU $C7BC
|
|
.byte $06,$00,$00,$9D,$00,$03,$11,$6C,$00,$00,$07,$07 ; PRG $07CC | CPU $C7CC
|
|
|
|
GameplayLookupTable_C7D8:
|
|
.byte $02,$80,$00,$80,$00,$00,$00,$40,$FF,$C0,$04,$50,$00,$80,$00,$00 ; PRG $07D8 | CPU $C7D8
|
|
.byte $FF,$C0,$FF,$C0,$01,$60,$00,$80,$00,$00,$00,$40,$00,$10,$03,$70 ; PRG $07E8 | CPU $C7E8
|
|
.byte $00,$80,$00,$00,$FF,$C0,$FF,$F0,$00,$01,$0A,$30,$03,$08,$23,$D0 ; PRG $07F8 | CPU $C7F8
|
|
.byte $58,$00,$27,$D0,$58,$00,$00,$00,$01,$0A,$30,$03,$08,$23,$D0,$58 ; PRG $0808 | CPU $C808
|
|
.byte $55,$27,$D0,$58,$55,$00,$00,$01,$0A,$30,$03,$08,$23,$D0,$58,$AA ; PRG $0818 | CPU $C818
|
|
.byte $27,$D0,$58,$AA,$00,$00,$01,$0A,$30,$03,$08,$23,$D0,$58,$FF,$27 ; PRG $0828 | CPU $C828
|
|
.byte $D0,$58,$FF,$00,$00,$01,$10,$B0,$03,$00,$00,$00,$40,$00,$60,$00 ; PRG $0838 | CPU $C838
|
|
.byte $B8,$01,$00,$01,$50,$01,$68,$01,$80,$10,$20,$63,$44,$24,$20,$83 ; PRG $0848 | CPU $C848
|
|
.byte $46,$24,$20,$78,$44,$24,$20,$98,$46,$24,$00,$10,$20,$4A,$C3,$24 ; PRG $0858 | CPU $C858
|
|
.byte $20,$55,$C3,$24,$20,$A2,$5C,$24,$20,$CA,$4C,$47,$00,$22,$48,$4A ; PRG $0868 | CPU $C868
|
|
.byte $49,$4B,$22,$24,$24,$24,$24,$18,$19,$15,$0A,$22,$0E,$1B,$24,$25 ; PRG $0878 | CPU $C878
|
|
.byte $18,$19,$15,$0A,$22,$0E,$1B,$24,$26,$1A,$10,$0A,$16,$0E,$24,$24 ; PRG $0888 | CPU $C888
|
|
.byte $18,$1F,$0E,$1B,$12,$2E,$2F ; PRG $0898 | CPU $C898
|
|
|
|
GameplayLookupTable_C89F:
|
|
.byte $00,$00,$00,$90,$00,$B0,$00,$D0,$00,$F0,$01,$10,$FF,$70,$FF,$50 ; PRG $089F | CPU $C89F
|
|
.byte $FF,$30,$FF,$10,$FE,$F0 ; PRG $08AF | CPU $C8AF
|
|
|
|
GameplayLookupTable_C8B5:
|
|
.byte $00,$00,$00,$40,$00,$60,$00,$80,$00,$A0,$00,$C0,$FF,$C0,$FF,$A0 ; PRG $08B5 | CPU $C8B5
|
|
.byte $FF,$80,$FF,$60,$FF,$40 ; PRG $08C5 | CPU $C8C5
|
|
|
|
GameplayLookupTable_C8CB:
|
|
.byte $01,$E0,$02,$00,$02,$20,$02,$40,$FE,$20,$FE,$00,$FD,$E0,$FD,$C0 ; PRG $08CB | CPU $C8CB
|
|
|
|
GameplayLookupTable_C8DB:
|
|
.byte $00,$C0,$00,$E0,$01,$00,$01,$20,$FF,$40,$FF,$20,$FF,$00,$FE,$E0 ; PRG $08DB | CPU $C8DB
|
|
|
|
GameplayLookupTable_C8EB:
|
|
.byte $40,$55,$74,$78 ; PRG $08EB | CPU $C8EB
|
|
|
|
GameplayLookupTable_C8EF:
|
|
.byte $01,$01,$02,$03 ; PRG $08EF | CPU $C8EF
|
|
|
|
GameplayLookupTable_C8F3:
|
|
.byte $07,$08,$09,$0A ; PRG $08F3 | CPU $C8F3
|
|
|
|
GameplayConstantData_C8F7:
|
|
.byte $80,$90,$A0,$B0 ; PRG $08F7 | CPU $C8F7
|
|
|
|
GameplayConstantData_C8FB:
|
|
.byte $03,$05,$07,$09 ; PRG $08FB | CPU $C8FB
|
|
|
|
GameplayConstantData_C8FF:
|
|
.byte $10,$20,$30,$40 ; PRG $08FF | CPU $C8FF
|
|
|
|
GameplayLookupTable_C903:
|
|
.byte $08,$08,$82,$02,$82,$02,$05,$05,$05,$05,$89,$09,$89,$09,$01,$01 ; PRG $0903 | CPU $C903
|
|
.byte $01,$01,$08,$88,$08,$84,$04,$08,$08,$84,$04,$84,$00,$00,$00,$00 ; PRG $0913 | CPU $C913
|
|
.byte $08,$08,$82,$02,$82,$02,$05,$05,$05,$05,$89,$09,$89,$09,$01,$01 ; PRG $0923 | CPU $C923
|
|
.byte $01,$01,$08,$88,$08,$84,$04,$08,$08,$01,$01,$01,$00,$00,$00,$00 ; PRG $0933 | CPU $C933
|
|
.byte $08,$08,$82,$02,$82,$02,$05,$05,$05,$05,$89,$09,$89,$09,$01,$01 ; PRG $0943 | CPU $C943
|
|
.byte $01,$01,$02,$82,$02,$02,$02,$8A,$0A,$8A,$06,$06,$40,$00,$00,$82 ; PRG $0953 | CPU $C953
|
|
.byte $82,$02,$82,$02,$82,$02,$81,$01,$85,$05,$89,$09,$89,$09,$41,$01 ; PRG $0963 | CPU $C963
|
|
.byte $01,$01,$01,$81,$01,$81,$01,$00,$80,$00,$80,$00,$80,$00,$80,$00 ; PRG $0973 | CPU $C973
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Reset Handler.
|
|
; Local behavior: Executes the decoded reset handler sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
ResetHandler:
|
|
sei ; PRG $0983 | CPU $C983 | 78
|
|
cld ; PRG $0984 | CPU $C984 | D8
|
|
ldx #$00 ; PRG $0985 | CPU $C985 | A2 00
|
|
stx PPUCTRL ; PRG $0987 | CPU $C987 | 8E 00 20
|
|
dex ; PRG $098A | CPU $C98A | CA
|
|
txs ; PRG $098B | CPU $C98B | 9A
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay C98 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay c98 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_C98C:
|
|
lda PPUSTATUS ; PRG $098C | CPU $C98C | AD 02 20
|
|
and #$80 ; PRG $098F | CPU $C98F | 29 80
|
|
beq UpdateSideScrollingGameplay_C98C ; PRG $0991 | CPU $C991 | F0 F9
|
|
ldy #$07 ; PRG $0993 | CPU $C993 | A0 07
|
|
sty ScratchValue1 ; PRG $0995 | CPU $C995 | 84 01
|
|
ldy #$00 ; PRG $0997 | CPU $C997 | A0 00
|
|
sty ScratchValue0 ; PRG $0999 | CPU $C999 | 84 00
|
|
lda #$00 ; PRG $099B | CPU $C99B | A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Configure Hud And Playfield Ppu C99 D.
|
|
; Local behavior: Executes the decoded configure hud and playfield ppu c99 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
ConfigureHudAndPlayfieldPpu_C99D:
|
|
sta (ScratchValue0),y ; PRG $099D | CPU $C99D | 91 00
|
|
dey ; PRG $099F | CPU $C99F | 88
|
|
bne ConfigureHudAndPlayfieldPpu_C99D ; PRG $09A0 | CPU $C9A0 | D0 FB
|
|
dec ScratchValue1 ; PRG $09A2 | CPU $C9A2 | C6 01
|
|
bpl ConfigureHudAndPlayfieldPpu_C99D ; PRG $09A4 | CPU $C9A4 | 10 F7
|
|
lda #$00 ; PRG $09A6 | CPU $C9A6 | A9 00
|
|
sta PPUCTRL ; PRG $09A8 | CPU $C9A8 | 8D 00 20
|
|
sta PpuControlShadow ; PRG $09AB | CPU $C9AB | 85 10
|
|
lda #$02 ; PRG $09AD | CPU $C9AD | A9 02
|
|
sta PPUMASK ; PRG $09AF | CPU $C9AF | 8D 01 20
|
|
sta PpuMaskShadow ; PRG $09B2 | CPU $C9B2 | 85 11
|
|
lda #$00 ; PRG $09B4 | CPU $C9B4 | A9 00
|
|
sta PPUSCROLL ; PRG $09B6 | CPU $C9B6 | 8D 05 20
|
|
sta HorizontalScroll ; PRG $09B9 | CPU $C9B9 | 85 12
|
|
sta PPUSCROLL ; PRG $09BB | CPU $C9BB | 8D 05 20
|
|
sta VerticalScroll ; PRG $09BE | CPU $C9BE | 85 13
|
|
lda #$24 ; PRG $09C0 | CPU $C9C0 | A9 24
|
|
sta ScratchValue0 ; PRG $09C2 | CPU $C9C2 | 85 00
|
|
lda #$01 ; PRG $09C4 | CPU $C9C4 | A9 01
|
|
sta ScratchValue1 ; PRG $09C6 | CPU $C9C6 | 85 01
|
|
jsr ConfigureHudAndPlayfieldPpu_C092 ; PRG $09C8 | CPU $C9C8 | 20 92 C0
|
|
lda #$02 ; PRG $09CB | CPU $C9CB | A9 02
|
|
sta ScratchValue1 ; PRG $09CD | CPU $C9CD | 85 01
|
|
jsr ConfigureHudAndPlayfieldPpu_C092 ; PRG $09CF | CPU $C9CF | 20 92 C0
|
|
jsr UpdateSideScrollingGameplay_CA8E ; PRG $09D2 | CPU $C9D2 | 20 8E CA
|
|
lda #$E2 ; PRG $09D5 | CPU $C9D5 | A9 E2
|
|
ldx #$C6 ; PRG $09D7 | CPU $C9D7 | A2 C6
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $09D9 | CPU $C9D9 | 20 03 C6
|
|
lda #$F7 ; PRG $09DC | CPU $C9DC | A9 F7
|
|
ldx #$C6 ; PRG $09DE | CPU $C9DE | A2 C6
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $09E0 | CPU $C9E0 | 20 03 C6
|
|
lda #$0C ; PRG $09E3 | CPU $C9E3 | A9 0C
|
|
ldx #$C7 ; PRG $09E5 | CPU $C9E5 | A2 C7
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $09E7 | CPU $C9E7 | 20 03 C6
|
|
lda #$51 ; PRG $09EA | CPU $C9EA | A9 51
|
|
ldx #$C7 ; PRG $09EC | CPU $C9EC | A2 C7
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $09EE | CPU $C9EE | 20 03 C6
|
|
lda #$57 ; PRG $09F1 | CPU $C9F1 | A9 57
|
|
ldx #$C7 ; PRG $09F3 | CPU $C9F3 | A2 C7
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $09F5 | CPU $C9F5 | 20 03 C6
|
|
lda #$67 ; PRG $09F8 | CPU $C9F8 | A9 67
|
|
ldx #$C7 ; PRG $09FA | CPU $C9FA | A2 C7
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $09FC | CPU $C9FC | 20 03 C6
|
|
lda #$7E ; PRG $09FF | CPU $C9FF | A9 7E
|
|
ldx #$C7 ; PRG $0A01 | CPU $CA01 | A2 C7
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $0A03 | CPU $CA03 | 20 03 C6
|
|
lda #$93 ; PRG $0A06 | CPU $CA06 | A9 93
|
|
ldx #$C7 ; PRG $0A08 | CPU $CA08 | A2 C7
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $0A0A | CPU $CA0A | 20 03 C6
|
|
lda #$B8 ; PRG $0A0D | CPU $CA0D | A9 B8
|
|
ldx #$C7 ; PRG $0A0F | CPU $CA0F | A2 C7
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $0A11 | CPU $CA11 | 20 03 C6
|
|
lda #$C8 ; PRG $0A14 | CPU $CA14 | A9 C8
|
|
ldx #$C7 ; PRG $0A16 | CPU $CA16 | A2 C7
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $0A18 | CPU $CA18 | 20 03 C6
|
|
lda #$A8 ; PRG $0A1B | CPU $CA1B | A9 A8
|
|
ldx #$C7 ; PRG $0A1D | CPU $CA1D | A2 C7
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $0A1F | CPU $CA1F | 20 03 C6
|
|
lda #$3C ; PRG $0A22 | CPU $CA22 | A9 3C
|
|
ldx #$C8 ; PRG $0A24 | CPU $CA24 | A2 C8
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $0A26 | CPU $CA26 | 20 03 C6
|
|
lda #$80 ; PRG $0A29 | CPU $CA29 | A9 80
|
|
sta Ram_03FB ; PRG $0A2B | CPU $CA2B | 8D FB 03
|
|
lda #$90 ; PRG $0A2E | CPU $CA2E | A9 90
|
|
sta Ram_06AB ; PRG $0A30 | CPU $CA30 | 8D AB 06
|
|
lda #$94 ; PRG $0A33 | CPU $CA33 | A9 94
|
|
sta Ram_06CB ; PRG $0A35 | CPU $CA35 | 8D CB 06
|
|
lda #$98 ; PRG $0A38 | CPU $CA38 | A9 98
|
|
sta Ram_06EB ; PRG $0A3A | CPU $CA3A | 8D EB 06
|
|
lda #$03 ; PRG $0A3D | CPU $CA3D | A9 03
|
|
sta Ram_05C0 ; PRG $0A3F | CPU $CA3F | 8D C0 05
|
|
lda #$04 ; PRG $0A42 | CPU $CA42 | A9 04
|
|
sta Ram_0580 ; PRG $0A44 | CPU $CA44 | 8D 80 05
|
|
lda #$68 ; PRG $0A47 | CPU $CA47 | A9 68
|
|
sta Ram_060B ; PRG $0A49 | CPU $CA49 | 8D 0B 06
|
|
lda #$70 ; PRG $0A4C | CPU $CA4C | A9 70
|
|
sta Ram_064B ; PRG $0A4E | CPU $CA4E | 8D 4B 06
|
|
lda #$55 ; PRG $0A51 | CPU $CA51 | A9 55
|
|
sta Zp_1D ; PRG $0A53 | CPU $CA53 | 85 1D
|
|
lda #$0F ; PRG $0A55 | CPU $CA55 | A9 0F
|
|
sta SND_CHN ; PRG $0A57 | CPU $CA57 | 8D 15 40
|
|
sta Ram_0100 ; PRG $0A5A | CPU $CA5A | 8D 00 01
|
|
lda #$01 ; PRG $0A5D | CPU $CA5D | A9 01
|
|
sta Zp_36 ; PRG $0A5F | CPU $CA5F | 85 36
|
|
lda PpuControlShadow ; PRG $0A61 | CPU $CA61 | A5 10
|
|
ora #$80 ; PRG $0A63 | CPU $CA63 | 09 80
|
|
sta PpuControlShadow ; PRG $0A65 | CPU $CA65 | 85 10
|
|
sta PPUCTRL ; PRG $0A67 | CPU $CA67 | 8D 00 20
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CA6 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ca6 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CA6A:
|
|
jsr UpdateSideScrollingGameplay_C40D ; PRG $0A6A | CPU $CA6A | 20 0D C4
|
|
lda Zp_A2 ; PRG $0A6D | CPU $CA6D | A5 A2
|
|
beq UpdateSideScrollingGameplay_CA6A ; PRG $0A6F | CPU $CA6F | F0 F9
|
|
dec Zp_A2 ; PRG $0A71 | CPU $CA71 | C6 A2
|
|
jsr UpdateSideScrollingGameplay_E47A ; PRG $0A73 | CPU $CA73 | 20 7A E4
|
|
jsr UpdateSideScrollingGameplay_DC7B ; PRG $0A76 | CPU $CA76 | 20 7B DC
|
|
jsr UpdateSideScrollingGameplay_E6E1 ; PRG $0A79 | CPU $CA79 | 20 E1 E6
|
|
jsr UpdateSideScrollingGameplay_D91A ; PRG $0A7C | CPU $CA7C | 20 1A D9
|
|
jsr UpdateSideScrollingGameplay_E6D5 ; PRG $0A7F | CPU $CA7F | 20 D5 E6
|
|
jsr UpdateSideScrollingGameplay_E7AA ; PRG $0A82 | CPU $CA82 | 20 AA E7
|
|
jsr UpdateSideScrollingGameplay_E029 ; PRG $0A85 | CPU $CA85 | 20 29 E0
|
|
jsr UpdateSideScrollingGameplay_DE78 ; PRG $0A88 | CPU $CA88 | 20 78 DE
|
|
jmp UpdateSideScrollingGameplay_CA6A ; PRG $0A8B | CPU $CA8B | 4C 6A CA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CA8 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ca8 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CA8E:
|
|
ldy #$02 ; PRG $0A8E | CPU $CA8E | A0 02
|
|
sty ScratchValue1 ; PRG $0A90 | CPU $CA90 | 84 01
|
|
ldy #$00 ; PRG $0A92 | CPU $CA92 | A0 00
|
|
sty ScratchValue0 ; PRG $0A94 | CPU $CA94 | 84 00
|
|
lda #$F4 ; PRG $0A96 | CPU $CA96 | A9 F4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CA98.
|
|
; Local behavior: Executes the decoded update gameplay state field ca98 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CA98:
|
|
sta (ScratchValue0),y ; PRG $0A98 | CPU $CA98 | 91 00
|
|
dey ; PRG $0A9A | CPU $CA9A | 88
|
|
bne UpdateGameplayStateField_CA98 ; PRG $0A9B | CPU $CA9B | D0 FB
|
|
rts ; PRG $0A9D | CPU $CA9D | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Irq Handler.
|
|
; Local behavior: Executes the decoded irq handler sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
IrqHandler:
|
|
jmp IrqHandler ; PRG $0A9E | CPU $CA9E | 4C 9E CA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Nmi Handler.
|
|
; Local behavior: Executes the decoded nmi handler sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
NmiHandler:
|
|
pha ; PRG $0AA1 | CPU $CAA1 | 48
|
|
txa ; PRG $0AA2 | CPU $CAA2 | 8A
|
|
pha ; PRG $0AA3 | CPU $CAA3 | 48
|
|
tya ; PRG $0AA4 | CPU $CAA4 | 98
|
|
pha ; PRG $0AA5 | CPU $CAA5 | 48
|
|
ldx #$00 ; PRG $0AA6 | CPU $CAA6 | A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Configure Hud And Playfield Ppu CAA8.
|
|
; Local behavior: Executes the decoded configure hud and playfield ppu caa8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
ConfigureHudAndPlayfieldPpu_CAA8:
|
|
lda ScratchValue0,x ; PRG $0AA8 | CPU $CAA8 | B5 00
|
|
pha ; PRG $0AAA | CPU $CAAA | 48
|
|
inx ; PRG $0AAB | CPU $CAAB | E8
|
|
cpx #$10 ; PRG $0AAC | CPU $CAAC | E0 10
|
|
bcc ConfigureHudAndPlayfieldPpu_CAA8 ; PRG $0AAE | CPU $CAAE | 90 F8
|
|
lda PpuControlShadow ; PRG $0AB0 | CPU $CAB0 | A5 10
|
|
and #$7F ; PRG $0AB2 | CPU $CAB2 | 29 7F
|
|
sta PpuControlShadow ; PRG $0AB4 | CPU $CAB4 | 85 10
|
|
sta PPUCTRL ; PRG $0AB6 | CPU $CAB6 | 8D 00 20
|
|
jsr ConfigureHudAndPlayfieldPpu_D2CF ; PRG $0AB9 | CPU $CAB9 | 20 CF D2
|
|
jsr TransferShipTargetOamBuffer ; PRG $0ABC | CPU $CABC | 20 87 C0
|
|
jsr UpdateSideScrollingGameplay_C073 ; PRG $0ABF | CPU $CABF | 20 73 C0
|
|
lda PpuMaskShadow ; PRG $0AC2 | CPU $CAC2 | A5 11
|
|
sta PPUMASK ; PRG $0AC4 | CPU $CAC4 | 8D 01 20
|
|
jsr PollShipControllers ; PRG $0AC7 | CPU $CAC7 | 20 34 C4
|
|
jsr TransformFlightState_CEE8 ; PRG $0ACA | CPU $CACA | 20 E8 CE
|
|
lda Zp_3B ; PRG $0ACD | CPU $CACD | A5 3B
|
|
bne UpdateSideScrollingGameplay_CAD4 ; PRG $0ACF | CPU $CACF | D0 03
|
|
jsr UpdateSideScrollingGameplay_C3CC ; PRG $0AD1 | CPU $CAD1 | 20 CC C3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CAD4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cad4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CAD4:
|
|
jsr ReadShipControls_F880 ; PRG $0AD4 | CPU $CAD4 | 20 80 F8
|
|
jsr UpdateSideScrollingGameplay_CBD4 ; PRG $0AD7 | CPU $CAD7 | 20 D4 CB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CADA.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cada sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CADA:
|
|
jsr UpdateSideScrollingGameplay_D6D8 ; PRG $0ADA | CPU $CADA | 20 D8 D6
|
|
ldx #$0F ; PRG $0ADD | CPU $CADD | A2 0F
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Configure Hud And Playfield Ppu CADF.
|
|
; Local behavior: Executes the decoded configure hud and playfield ppu cadf sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
ConfigureHudAndPlayfieldPpu_CADF:
|
|
pla ; PRG $0ADF | CPU $CADF | 68
|
|
sta ScratchValue0,x ; PRG $0AE0 | CPU $CAE0 | 95 00
|
|
dex ; PRG $0AE2 | CPU $CAE2 | CA
|
|
bpl ConfigureHudAndPlayfieldPpu_CADF ; PRG $0AE3 | CPU $CAE3 | 10 FA
|
|
pla ; PRG $0AE5 | CPU $CAE5 | 68
|
|
tay ; PRG $0AE6 | CPU $CAE6 | A8
|
|
pla ; PRG $0AE7 | CPU $CAE7 | 68
|
|
tax ; PRG $0AE8 | CPU $CAE8 | AA
|
|
lda PpuControlShadow ; PRG $0AE9 | CPU $CAE9 | A5 10
|
|
ora #$80 ; PRG $0AEB | CPU $CAEB | 09 80
|
|
sta PpuControlShadow ; PRG $0AED | CPU $CAED | 85 10
|
|
sta PPUCTRL ; PRG $0AEF | CPU $CAEF | 8D 00 20
|
|
pla ; PRG $0AF2 | CPU $CAF2 | 68
|
|
rti ; PRG $0AF3 | CPU $CAF3 | 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CAF4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay caf4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CAF4:
|
|
lda #$0B ; PRG $0AF4 | CPU $CAF4 | A9 0B
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $0AF6 | CPU $CAF6 | 20 5B CE
|
|
jsr TransformFlightState_CE1D ; PRG $0AF9 | CPU $CAF9 | 20 1D CE
|
|
jsr UpdateSideScrollingGameplay_D449 ; PRG $0AFC | CPU $CAFC | 20 49 D4
|
|
jsr UpdateSideScrollingGameplay_DEE9 ; PRG $0AFF | CPU $CAFF | 20 E9 DE
|
|
jsr TransformFlightState_E4D8 ; PRG $0B02 | CPU $CB02 | 20 D8 E4
|
|
jsr UpdateSideScrollingGameplay_D950 ; PRG $0B05 | CPU $CB05 | 20 50 D9
|
|
jsr UpdateSideScrollingGameplay_D5E8 ; PRG $0B08 | CPU $CB08 | 20 E8 D5
|
|
jsr CalculateMovementAndClamp_D4E9 ; PRG $0B0B | CPU $CB0B | 20 E9 D4
|
|
jsr CalculateMovementAndClamp_DFC8 ; PRG $0B0E | CPU $CB0E | 20 C8 DF
|
|
jsr UpdateSideScrollingGameplay_DEB3 ; PRG $0B11 | CPU $CB11 | 20 B3 DE
|
|
inc Zp_A2 ; PRG $0B14 | CPU $CB14 | E6 A2
|
|
jsr UpdateSideScrollingGameplay_E306 ; PRG $0B16 | CPU $CB16 | 20 06 E3
|
|
jsr UpdateSideScrollingGameplay_E888 ; PRG $0B19 | CPU $CB19 | 20 88 E8
|
|
jsr UpdateSideScrollingGameplay_E3D1 ; PRG $0B1C | CPU $CB1C | 20 D1 E3
|
|
jsr UpdateSideScrollingGameplay_E5C1 ; PRG $0B1F | CPU $CB1F | 20 C1 E5
|
|
jsr UpdateSideScrollingGameplay_E611 ; PRG $0B22 | CPU $CB22 | 20 11 E6
|
|
jsr UpdateSideScrollingGameplay_E6BE ; PRG $0B25 | CPU $CB25 | 20 BE E6
|
|
jsr UpdateSideScrollingGameplay_C144 ; PRG $0B28 | CPU $CB28 | 20 44 C1
|
|
jsr UpdateSideScrollingGameplay_DE22 ; PRG $0B2B | CPU $CB2B | 20 22 DE
|
|
jsr UpdateSideScrollingGameplay_CD89 ; PRG $0B2E | CPU $CB2E | 20 89 CD
|
|
jsr UpdateSideScrollingGameplay_DCCA ; PRG $0B31 | CPU $CB31 | 20 CA DC
|
|
jsr UpdateSideScrollingGameplay_DE99 ; PRG $0B34 | CPU $CB34 | 20 99 DE
|
|
jsr UpdateSideScrollingGameplay_D098 ; PRG $0B37 | CPU $CB37 | 20 98 D0
|
|
jsr UpdateSideScrollingGameplay_E240 ; PRG $0B3A | CPU $CB3A | 20 40 E2
|
|
jsr UpdateSideScrollingGameplay_DF77 ; PRG $0B3D | CPU $CB3D | 20 77 DF
|
|
jsr UpdateSideScrollingGameplay_E046 ; PRG $0B40 | CPU $CB40 | 20 46 E0
|
|
jsr CalculateMovementAndClamp_D867 ; PRG $0B43 | CPU $CB43 | 20 67 D8
|
|
jsr UpdateSideScrollingGameplay_D726 ; PRG $0B46 | CPU $CB46 | 20 26 D7
|
|
jsr UpdateSideScrollingGameplay_D7D0 ; PRG $0B49 | CPU $CB49 | 20 D0 D7
|
|
jsr UpdateSideScrollingGameplay_D8CD ; PRG $0B4C | CPU $CB4C | 20 CD D8
|
|
jsr UpdateSideScrollingGameplay_DB2B ; PRG $0B4F | CPU $CB4F | 20 2B DB
|
|
jsr UpdateSideScrollingGameplay_DC49 ; PRG $0B52 | CPU $CB52 | 20 49 DC
|
|
jsr UpdateSideScrollingGameplay_DBC1 ; PRG $0B55 | CPU $CB55 | 20 C1 DB
|
|
jsr UpdateSideScrollingGameplay_DC62 ; PRG $0B58 | CPU $CB58 | 20 62 DC
|
|
jsr UpdateFlyingEntity_CF11 ; PRG $0B5B | CPU $CB5B | 20 11 CF
|
|
jsr UpdateSideScrollingGameplay_E6F8 ; PRG $0B5E | CPU $CB5E | 20 F8 E6
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CB61.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cb61 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CB61:
|
|
jsr UpdateSideScrollingGameplay_CD4D ; PRG $0B61 | CPU $CB61 | 20 4D CD
|
|
jsr UpdateSideScrollingGameplay_E814 ; PRG $0B64 | CPU $CB64 | 20 14 E8
|
|
jmp UpdateSideScrollingGameplay_E944 ; PRG $0B67 | CPU $CB67 | 4C 44 E9
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CB6 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cb6 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CB6A:
|
|
dec Zp_EB ; PRG $0B6A | CPU $CB6A | C6 EB
|
|
jmp UpdateSideScrollingGameplay_D072 ; PRG $0B6C | CPU $CB6C | 4C 72 D0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CB6 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cb6 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CB6F:
|
|
lda Zp_31 ; PRG $0B6F | CPU $CB6F | A5 31
|
|
beq UpdateGameplayStateField_CB7B ; PRG $0B71 | CPU $CB71 | F0 08
|
|
ldx #$02 ; PRG $0B73 | CPU $CB73 | A2 02
|
|
lda Zp_32 ; PRG $0B75 | CPU $CB75 | A5 32
|
|
beq UpdateGameplayStateField_CB7B ; PRG $0B77 | CPU $CB77 | F0 02
|
|
ldx #$04 ; PRG $0B79 | CPU $CB79 | A2 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CB7 B.
|
|
; Local behavior: Executes the decoded update gameplay state field cb7 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CB7B:
|
|
stx Zp_38 ; PRG $0B7B | CPU $CB7B | 86 38
|
|
dec Zp_E9 ; PRG $0B7D | CPU $CB7D | C6 E9
|
|
rts ; PRG $0B7F | CPU $CB7F | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CB80.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cb80 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CB80:
|
|
jmp UpdateSideScrollingGameplay_CB6F ; PRG $0B80 | CPU $CB80 | 4C 6F CB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CB83.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cb83 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CB83:
|
|
cmp #$0F ; PRG $0B83 | CPU $CB83 | C9 0F
|
|
beq UpdateSideScrollingGameplay_CB6A ; PRG $0B85 | CPU $CB85 | F0 E3
|
|
cmp #$01 ; PRG $0B87 | CPU $CB87 | C9 01
|
|
bne UpdateGameplayStateField_CBB4 ; PRG $0B89 | CPU $CB89 | D0 29
|
|
lda Zp_31 ; PRG $0B8B | CPU $CB8B | A5 31
|
|
beq UpdateSideScrollingGameplay_CB93 ; PRG $0B8D | CPU $CB8D | F0 04
|
|
lda Zp_34 ; PRG $0B8F | CPU $CB8F | A5 34
|
|
beq UpdateSideScrollingGameplay_CBB9 ; PRG $0B91 | CPU $CB91 | F0 26
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CB93.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cb93 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CB93:
|
|
lda #$00 ; PRG $0B93 | CPU $CB93 | A9 00
|
|
sta Zp_35 ; PRG $0B95 | CPU $CB95 | 85 35
|
|
sta Zp_34 ; PRG $0B97 | CPU $CB97 | 85 34
|
|
sta Zp_37 ; PRG $0B99 | CPU $CB99 | 85 37
|
|
sta Zp_EB ; PRG $0B9B | CPU $CB9B | 85 EB
|
|
lda #$01 ; PRG $0B9D | CPU $CB9D | A9 01
|
|
sta Zp_36 ; PRG $0B9F | CPU $CB9F | 85 36
|
|
ldx #$03 ; PRG $0BA1 | CPU $CBA1 | A2 03
|
|
ldy #$03 ; PRG $0BA3 | CPU $CBA3 | A0 03
|
|
lda Zp_33 ; PRG $0BA5 | CPU $CBA5 | A5 33
|
|
beq UpdateSideScrollingGameplay_CBAB ; PRG $0BA7 | CPU $CBA7 | F0 02
|
|
ldy #$07 ; PRG $0BA9 | CPU $CBA9 | A0 07
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CBAB.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cbab sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CBAB:
|
|
lda Zp_40,x ; PRG $0BAB | CPU $CBAB | B5 40
|
|
sta Zp_4C,y ; PRG $0BAD | CPU $CBAD | 99 4C 00
|
|
dey ; PRG $0BB0 | CPU $CBB0 | 88
|
|
dex ; PRG $0BB1 | CPU $CBB1 | CA
|
|
bpl UpdateSideScrollingGameplay_CBAB ; PRG $0BB2 | CPU $CBB2 | 10 F7
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CBB4.
|
|
; Local behavior: Executes the decoded update gameplay state field cbb4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CBB4:
|
|
lda #$00 ; PRG $0BB4 | CPU $CBB4 | A9 00
|
|
sta Zp_EE ; PRG $0BB6 | CPU $CBB6 | 85 EE
|
|
rts ; PRG $0BB8 | CPU $CBB8 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CBB9.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cbb9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CBB9:
|
|
sta Zp_36 ; PRG $0BB9 | CPU $CBB9 | 85 36
|
|
sta Zp_EB ; PRG $0BBB | CPU $CBBB | 85 EB
|
|
inc Zp_34 ; PRG $0BBD | CPU $CBBD | E6 34
|
|
lda #$09 ; PRG $0BBF | CPU $CBBF | A9 09
|
|
sta Zp_E9 ; PRG $0BC1 | CPU $CBC1 | 85 E9
|
|
lda #$08 ; PRG $0BC3 | CPU $CBC3 | A9 08
|
|
sta Zp_38 ; PRG $0BC5 | CPU $CBC5 | 85 38
|
|
jmp UpdateGameplayStateField_CBB4 ; PRG $0BC7 | CPU $CBC7 | 4C B4 CB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CBCA.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cbca sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CBCA:
|
|
jsr UpdateSideScrollingGameplay_D1DD ; PRG $0BCA | CPU $CBCA | 20 DD D1
|
|
lda Zp_3B ; PRG $0BCD | CPU $CBCD | A5 3B
|
|
beq UpdateSideScrollingGameplay_CC3D ; PRG $0BCF | CPU $CBCF | F0 6C
|
|
jmp UpdateSideScrollingGameplay_C139 ; PRG $0BD1 | CPU $CBD1 | 4C 39 C1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CBD4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cbd4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CBD4:
|
|
lda Zp_35 ; PRG $0BD4 | CPU $CBD4 | A5 35
|
|
beq UpdateSideScrollingGameplay_CC03 ; PRG $0BD6 | CPU $CBD6 | F0 2B
|
|
lda Zp_EB ; PRG $0BD8 | CPU $CBD8 | A5 EB
|
|
bne UpdateSideScrollingGameplay_CB83 ; PRG $0BDA | CPU $CBDA | D0 A7
|
|
lda Zp_EE ; PRG $0BDC | CPU $CBDC | A5 EE
|
|
beq UpdateSideScrollingGameplay_CBE6 ; PRG $0BDE | CPU $CBDE | F0 06
|
|
jsr UpdateSideScrollingGameplay_C139 ; PRG $0BE0 | CPU $CBE0 | 20 39 C1
|
|
jmp UpdateSideScrollingGameplay_CCBF ; PRG $0BE3 | CPU $CBE3 | 4C BF CC
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CBE6.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cbe6 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CBE6:
|
|
lda Zp_36 ; PRG $0BE6 | CPU $CBE6 | A5 36
|
|
beq UpdateSideScrollingGameplay_CBED ; PRG $0BE8 | CPU $CBE8 | F0 03
|
|
jsr UpdateSideScrollingGameplay_D12F ; PRG $0BEA | CPU $CBEA | 20 2F D1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CBED.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cbed sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CBED:
|
|
lda Zp_E9 ; PRG $0BED | CPU $CBED | A5 E9
|
|
beq UpdateSideScrollingGameplay_CBCA ; PRG $0BEF | CPU $CBEF | F0 D9
|
|
ldx #$08 ; PRG $0BF1 | CPU $CBF1 | A2 08
|
|
cmp #$07 ; PRG $0BF3 | CPU $CBF3 | C9 07
|
|
beq UpdateSideScrollingGameplay_CB80 ; PRG $0BF5 | CPU $CBF5 | F0 89
|
|
cmp #$02 ; PRG $0BF7 | CPU $CBF7 | C9 02
|
|
beq UpdateGameplayStateField_CB7B ; PRG $0BF9 | CPU $CBF9 | F0 80
|
|
cmp #$01 ; PRG $0BFB | CPU $CBFB | C9 01
|
|
bne UpdateGameplayStateField_CC02 ; PRG $0BFD | CPU $CBFD | D0 03
|
|
jsr UpdateSideScrollingGameplay_CF50 ; PRG $0BFF | CPU $CBFF | 20 50 CF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CC02.
|
|
; Local behavior: Executes the decoded update gameplay state field cc02 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CC02:
|
|
rts ; PRG $0C02 | CPU $CC02 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CC03.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cc03 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CC03:
|
|
lda Zp_36 ; PRG $0C03 | CPU $CC03 | A5 36
|
|
bne UpdateSideScrollingGameplay_CC52 ; PRG $0C05 | CPU $CC05 | D0 4B
|
|
lda Zp_39 ; PRG $0C07 | CPU $CC07 | A5 39
|
|
cmp #$02 ; PRG $0C09 | CPU $CC09 | C9 02
|
|
beq UpdateSideScrollingGameplay_CC47 ; PRG $0C0B | CPU $CC0B | F0 3A
|
|
cmp #$01 ; PRG $0C0D | CPU $CC0D | C9 01
|
|
beq UpdateSideScrollingGameplay_CC67 ; PRG $0C0F | CPU $CC0F | F0 56
|
|
lda Zp_E9 ; PRG $0C11 | CPU $CC11 | A5 E9
|
|
beq UpdateSideScrollingGameplay_CC37 ; PRG $0C13 | CPU $CC13 | F0 22
|
|
cmp #$02 ; PRG $0C15 | CPU $CC15 | C9 02
|
|
beq UpdateGameplayStateField_CC40 ; PRG $0C17 | CPU $CC17 | F0 27
|
|
cmp #$01 ; PRG $0C19 | CPU $CC19 | C9 01
|
|
beq UpdateSideScrollingGameplay_CC2F ; PRG $0C1B | CPU $CC1B | F0 12
|
|
lda Ram_0104 ; PRG $0C1D | CPU $CC1D | AD 04 01
|
|
beq UpdateSideScrollingGameplay_CC2C ; PRG $0C20 | CPU $CC20 | F0 0A
|
|
lda Zp_3C ; PRG $0C22 | CPU $CC22 | A5 3C
|
|
bne UpdateSideScrollingGameplay_CC2C ; PRG $0C24 | CPU $CC24 | D0 06
|
|
lda #$10 ; PRG $0C26 | CPU $CC26 | A9 10
|
|
bit PreviousControllerButtons ; PRG $0C28 | CPU $CC28 | 24 19
|
|
bne UpdateSideScrollingGameplay_CC8C ; PRG $0C2A | CPU $CC2A | D0 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CC2 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cc2 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CC2C:
|
|
jmp UpdateSideScrollingGameplay_D1FB ; PRG $0C2C | CPU $CC2C | 4C FB D1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CC2 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cc2 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CC2F:
|
|
lda #$00 ; PRG $0C2F | CPU $CC2F | A9 00
|
|
sta Ram_0104 ; PRG $0C31 | CPU $CC31 | 8D 04 01
|
|
jmp UpdateSideScrollingGameplay_CF50 ; PRG $0C34 | CPU $CC34 | 4C 50 CF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CC37.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cc37 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CC37:
|
|
lda #$30 ; PRG $0C37 | CPU $CC37 | A9 30
|
|
bit PreviousControllerButtons ; PRG $0C39 | CPU $CC39 | 24 19
|
|
bne UpdateSideScrollingGameplay_CC5D ; PRG $0C3B | CPU $CC3B | D0 20
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CC3 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cc3 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CC3D:
|
|
jmp UpdateSideScrollingGameplay_CAF4 ; PRG $0C3D | CPU $CC3D | 4C F4 CA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CC40.
|
|
; Local behavior: Executes the decoded update gameplay state field cc40 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CC40:
|
|
dec Zp_E9 ; PRG $0C40 | CPU $CC40 | C6 E9
|
|
lda #$08 ; PRG $0C42 | CPU $CC42 | A9 08
|
|
sta Zp_38 ; PRG $0C44 | CPU $CC44 | 85 38
|
|
rts ; PRG $0C46 | CPU $CC46 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CC47.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cc47 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CC47:
|
|
lda #$01 ; PRG $0C47 | CPU $CC47 | A9 01
|
|
sta Zp_3C ; PRG $0C49 | CPU $CC49 | 85 3C
|
|
sta Zp_39 ; PRG $0C4B | CPU $CC4B | 85 39
|
|
lda #$0B ; PRG $0C4D | CPU $CC4D | A9 0B
|
|
sta Zp_38 ; PRG $0C4F | CPU $CC4F | 85 38
|
|
rts ; PRG $0C51 | CPU $CC51 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CC52.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cc52 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CC52:
|
|
lda #$13 ; PRG $0C52 | CPU $CC52 | A9 13
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $0C54 | CPU $CC54 | 20 5B CE
|
|
lda #$00 ; PRG $0C57 | CPU $CC57 | A9 00
|
|
sta Zp_36 ; PRG $0C59 | CPU $CC59 | 85 36
|
|
beq UpdateGameplayStateField_CC5F ; PRG $0C5B | CPU $CC5B | F0 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CC5 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cc5 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CC5D:
|
|
lda #$01 ; PRG $0C5D | CPU $CC5D | A9 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CC5 F.
|
|
; Local behavior: Executes the decoded update gameplay state field cc5 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CC5F:
|
|
sta Ram_0104 ; PRG $0C5F | CPU $CC5F | 8D 04 01
|
|
lda #$02 ; PRG $0C62 | CPU $CC62 | A9 02
|
|
sta Zp_39 ; PRG $0C64 | CPU $CC64 | 85 39
|
|
rts ; PRG $0C66 | CPU $CC66 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CC67.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cc67 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CC67:
|
|
lda #$00 ; PRG $0C67 | CPU $CC67 | A9 00
|
|
sta Zp_39 ; PRG $0C69 | CPU $CC69 | 85 39
|
|
lda #$3E ; PRG $0C6B | CPU $CC6B | A9 3E
|
|
sta Zp_E9 ; PRG $0C6D | CPU $CC6D | 85 E9
|
|
lda #$01 ; PRG $0C6F | CPU $CC6F | A9 01
|
|
ldx Ram_0104 ; PRG $0C71 | CPU $CC71 | AE 04 01
|
|
bne UpdateSideScrollingGameplay_CC78 ; PRG $0C74 | CPU $CC74 | D0 02
|
|
lda #$0C ; PRG $0C76 | CPU $CC76 | A9 0C
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CC78.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cc78 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CC78:
|
|
sta Zp_38 ; PRG $0C78 | CPU $CC78 | 85 38
|
|
lda #$38 ; PRG $0C7A | CPU $CC7A | A9 38
|
|
sta Ram_02FF ; PRG $0C7C | CPU $CC7C | 8D FF 02
|
|
lda #$00 ; PRG $0C7F | CPU $CC7F | A9 00
|
|
sta Ram_02FE ; PRG $0C81 | CPU $CC81 | 8D FE 02
|
|
lda #$AC ; PRG $0C84 | CPU $CC84 | A9 AC
|
|
sta Ram_02FD ; PRG $0C86 | CPU $CC86 | 8D FD 02
|
|
jmp UpdateSideScrollingGameplay_D1FB ; PRG $0C89 | CPU $CC89 | 4C FB D1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CC8 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cc8 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CC8C:
|
|
lda #$01 ; PRG $0C8C | CPU $CC8C | A9 01
|
|
sta Zp_35 ; PRG $0C8E | CPU $CC8E | 85 35
|
|
sta Zp_37 ; PRG $0C90 | CPU $CC90 | 85 37
|
|
sta Zp_3A ; PRG $0C92 | CPU $CC92 | 85 3A
|
|
lda #$00 ; PRG $0C94 | CPU $CC94 | A9 00
|
|
sta Zp_36 ; PRG $0C96 | CPU $CC96 | 85 36
|
|
lda #$15 ; PRG $0C98 | CPU $CC98 | A9 15
|
|
sta Zp_E9 ; PRG $0C9A | CPU $CC9A | 85 E9
|
|
ldx #$00 ; PRG $0C9C | CPU $CC9C | A2 00
|
|
lda Zp_30 ; PRG $0C9E | CPU $CC9E | A5 30
|
|
cmp #$02 ; PRG $0CA0 | CPU $CCA0 | C9 02
|
|
bcc UpdateSideScrollingGameplay_CCA5 ; PRG $0CA2 | CPU $CCA2 | 90 01
|
|
inx ; PRG $0CA4 | CPU $CCA4 | E8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CCA5.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cca5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CCA5:
|
|
stx Zp_31 ; PRG $0CA5 | CPU $CCA5 | 86 31
|
|
ldx #$00 ; PRG $0CA7 | CPU $CCA7 | A2 00
|
|
lda Zp_30 ; PRG $0CA9 | CPU $CCA9 | A5 30
|
|
and #$01 ; PRG $0CAB | CPU $CCAB | 29 01
|
|
beq UpdateSideScrollingGameplay_CCB0 ; PRG $0CAD | CPU $CCAD | F0 01
|
|
inx ; PRG $0CAF | CPU $CCAF | E8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CCB0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ccb0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CCB0:
|
|
stx Zp_33 ; PRG $0CB0 | CPU $CCB0 | 86 33
|
|
lda #$00 ; PRG $0CB2 | CPU $CCB2 | A9 00
|
|
sta Zp_32 ; PRG $0CB4 | CPU $CCB4 | 85 32
|
|
lda #$01 ; PRG $0CB6 | CPU $CCB6 | A9 01
|
|
sta Zp_BC ; PRG $0CB8 | CPU $CCB8 | 85 BC
|
|
lda #$10 ; PRG $0CBA | CPU $CCBA | A9 10
|
|
jmp UpdateSideScrollingGameplay_CE5B ; PRG $0CBC | CPU $CCBC | 4C 5B CE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CCBF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ccbf sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CCBF:
|
|
cmp #$1F ; PRG $0CBF | CPU $CCBF | C9 1F
|
|
beq UpdateSideScrollingGameplay_CCDD ; PRG $0CC1 | CPU $CCC1 | F0 1A
|
|
cmp #$1E ; PRG $0CC3 | CPU $CCC3 | C9 1E
|
|
beq UpdateSideScrollingGameplay_CD0A ; PRG $0CC5 | CPU $CCC5 | F0 43
|
|
cmp #$03 ; PRG $0CC7 | CPU $CCC7 | C9 03
|
|
beq UpdateGameplayStateField_CD03 ; PRG $0CC9 | CPU $CCC9 | F0 38
|
|
cmp #$01 ; PRG $0CCB | CPU $CCCB | C9 01
|
|
bne UpdateGameplayStateField_CCDC ; PRG $0CCD | CPU $CCCD | D0 0D
|
|
lda #$00 ; PRG $0CCF | CPU $CCCF | A9 00
|
|
sta Zp_36 ; PRG $0CD1 | CPU $CCD1 | 85 36
|
|
lda #$03 ; PRG $0CD3 | CPU $CCD3 | A9 03
|
|
sta Zp_37 ; PRG $0CD5 | CPU $CCD5 | 85 37
|
|
jsr UpdateSideScrollingGameplay_CF50 ; PRG $0CD7 | CPU $CCD7 | 20 50 CF
|
|
dec Zp_EE ; PRG $0CDA | CPU $CCDA | C6 EE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CCDC.
|
|
; Local behavior: Executes the decoded update gameplay state field ccdc sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CCDC:
|
|
rts ; PRG $0CDC | CPU $CCDC | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CCDD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ccdd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CCDD:
|
|
lda Zp_35 ; PRG $0CDD | CPU $CCDD | A5 35
|
|
beq UpdateGameplayStateField_CD03 ; PRG $0CDF | CPU $CCDF | F0 22
|
|
ldy Zp_32 ; PRG $0CE1 | CPU $CCE1 | A4 32
|
|
lda Zp_5C,y ; PRG $0CE3 | CPU $CCE3 | B9 5C 00
|
|
beq UpdateGameplayStateField_CD03 ; PRG $0CE6 | CPU $CCE6 | F0 1B
|
|
sta ScratchIndex ; PRG $0CE8 | CPU $CCE8 | 85 03
|
|
lda Zp_5E,y ; PRG $0CEA | CPU $CCEA | B9 5E 00
|
|
cmp #$08 ; PRG $0CED | CPU $CCED | C9 08
|
|
bcc UpdateSideScrollingGameplay_CCF3 ; PRG $0CEF | CPU $CCEF | 90 02
|
|
lda #$08 ; PRG $0CF1 | CPU $CCF1 | A9 08
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CCF3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ccf3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CCF3:
|
|
tax ; PRG $0CF3 | CPU $CCF3 | AA
|
|
inx ; PRG $0CF4 | CPU $CCF4 | E8
|
|
lda #$00 ; PRG $0CF5 | CPU $CCF5 | A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CCF7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ccf7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CCF7:
|
|
clc ; PRG $0CF7 | CPU $CCF7 | 18
|
|
jsr CalculateMovementAndClamp_C303 ; PRG $0CF8 | CPU $CCF8 | 20 03 C3
|
|
dex ; PRG $0CFB | CPU $CCFB | CA
|
|
bne UpdateSideScrollingGameplay_CCF7 ; PRG $0CFC | CPU $CCFC | D0 F9
|
|
sta ScratchValue0 ; PRG $0CFE | CPU $CCFE | 85 00
|
|
jsr UpdateSideScrollingGameplay_CEC4 ; PRG $0D00 | CPU $CD00 | 20 C4 CE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CD03.
|
|
; Local behavior: Executes the decoded update gameplay state field cd03 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CD03:
|
|
ldx #$08 ; PRG $0D03 | CPU $CD03 | A2 08
|
|
stx Zp_38 ; PRG $0D05 | CPU $CD05 | 86 38
|
|
dec Zp_EE ; PRG $0D07 | CPU $CD07 | C6 EE
|
|
rts ; PRG $0D09 | CPU $CD09 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CD0 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cd0 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CD0A:
|
|
ldx #$0A ; PRG $0D0A | CPU $CD0A | A2 0A
|
|
stx Zp_38 ; PRG $0D0C | CPU $CD0C | 86 38
|
|
lda #$96 ; PRG $0D0E | CPU $CD0E | A9 96
|
|
sta ScratchValue0 ; PRG $0D10 | CPU $CD10 | 85 00
|
|
lda #$21 ; PRG $0D12 | CPU $CD12 | A9 21
|
|
sta ScratchValue1 ; PRG $0D14 | CPU $CD14 | 85 01
|
|
ldx Zp_32 ; PRG $0D16 | CPU $CD16 | A6 32
|
|
ldy Zp_5E,x ; PRG $0D18 | CPU $CD18 | B4 5E
|
|
jsr UpdateSideScrollingGameplay_C3E2 ; PRG $0D1A | CPU $CD1A | 20 E2 C3
|
|
lda #$92 ; PRG $0D1D | CPU $CD1D | A9 92
|
|
sta ScratchValue0 ; PRG $0D1F | CPU $CD1F | 85 00
|
|
lda #$22 ; PRG $0D21 | CPU $CD21 | A9 22
|
|
sta ScratchValue1 ; PRG $0D23 | CPU $CD23 | 85 01
|
|
ldx Zp_32 ; PRG $0D25 | CPU $CD25 | A6 32
|
|
lda Zp_5E,x ; PRG $0D27 | CPU $CD27 | B5 5E
|
|
cmp #$08 ; PRG $0D29 | CPU $CD29 | C9 08
|
|
bcc UpdateSideScrollingGameplay_CD2F ; PRG $0D2B | CPU $CD2B | 90 02
|
|
lda #$08 ; PRG $0D2D | CPU $CD2D | A9 08
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CD2 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cd2 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CD2F:
|
|
tay ; PRG $0D2F | CPU $CD2F | A8
|
|
iny ; PRG $0D30 | CPU $CD30 | C8
|
|
jsr UpdateSideScrollingGameplay_C3E2 ; PRG $0D31 | CPU $CD31 | 20 E2 C3
|
|
lda #$22 ; PRG $0D34 | CPU $CD34 | A9 22
|
|
sta ScratchValue2 ; PRG $0D36 | CPU $CD36 | 85 02
|
|
ldx Zp_32 ; PRG $0D38 | CPU $CD38 | A6 32
|
|
lda Zp_5C,x ; PRG $0D3A | CPU $CD3A | B5 5C
|
|
beq UpdateGameplayStateField_CD47 ; PRG $0D3C | CPU $CD3C | F0 09
|
|
php ; PRG $0D3E | CPU $CD3E | 08
|
|
ldx #$3C ; PRG $0D3F | CPU $CD3F | A2 3C
|
|
ldy #$CA ; PRG $0D41 | CPU $CD41 | A0 CA
|
|
plp ; PRG $0D43 | CPU $CD43 | 28
|
|
jsr UpdateSideScrollingGameplay_D1A8 ; PRG $0D44 | CPU $CD44 | 20 A8 D1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CD47.
|
|
; Local behavior: Executes the decoded update gameplay state field cd47 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CD47:
|
|
dec Zp_EE ; PRG $0D47 | CPU $CD47 | C6 EE
|
|
jsr UpdateSideScrollingGameplay_D072 ; PRG $0D49 | CPU $CD49 | 20 72 D0
|
|
rts ; PRG $0D4C | CPU $CD4C | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CD4 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cd4 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CD4D:
|
|
ldx Zp_38 ; PRG $0D4D | CPU $CD4D | A6 38
|
|
bne UpdateGameplayStateField_CD88 ; PRG $0D4F | CPU $CD4F | D0 37
|
|
ldx Ram_0330 ; PRG $0D51 | CPU $CD51 | AE 30 03
|
|
bne UpdateGameplayStateField_CD88 ; PRG $0D54 | CPU $CD54 | D0 32
|
|
lda Zp_EF ; PRG $0D56 | CPU $CD56 | A5 EF
|
|
bne UpdateGameplayStateField_CD88 ; PRG $0D58 | CPU $CD58 | D0 2E
|
|
lda #$01 ; PRG $0D5A | CPU $CD5A | A9 01
|
|
sta Zp_EF ; PRG $0D5C | CPU $CD5C | 85 EF
|
|
dec Zp_C4 ; PRG $0D5E | CPU $CD5E | C6 C4
|
|
lda Zp_C4 ; PRG $0D60 | CPU $CD60 | A5 C4
|
|
bpl UpdateSideScrollingGameplay_CD66 ; PRG $0D62 | CPU $CD62 | 10 02
|
|
lda #$03 ; PRG $0D64 | CPU $CD64 | A9 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CD66.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cd66 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CD66:
|
|
sta Zp_C4 ; PRG $0D66 | CPU $CD66 | 85 C4
|
|
ldy #$00 ; PRG $0D68 | CPU $CD68 | A0 00
|
|
ldx #$C8 ; PRG $0D6A | CPU $CD6A | A2 C8
|
|
cmp #$00 ; PRG $0D6C | CPU $CD6C | C9 00
|
|
beq UpdateSideScrollingGameplay_CD84 ; PRG $0D6E | CPU $CD6E | F0 14
|
|
ldy #$0F ; PRG $0D70 | CPU $CD70 | A0 0F
|
|
ldx #$C8 ; PRG $0D72 | CPU $CD72 | A2 C8
|
|
cmp #$01 ; PRG $0D74 | CPU $CD74 | C9 01
|
|
beq UpdateSideScrollingGameplay_CD84 ; PRG $0D76 | CPU $CD76 | F0 0C
|
|
ldy #$1E ; PRG $0D78 | CPU $CD78 | A0 1E
|
|
ldx #$C8 ; PRG $0D7A | CPU $CD7A | A2 C8
|
|
cmp #$02 ; PRG $0D7C | CPU $CD7C | C9 02
|
|
beq UpdateSideScrollingGameplay_CD84 ; PRG $0D7E | CPU $CD7E | F0 04
|
|
ldy #$2D ; PRG $0D80 | CPU $CD80 | A0 2D
|
|
ldx #$C8 ; PRG $0D82 | CPU $CD82 | A2 C8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CD84.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cd84 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CD84:
|
|
tya ; PRG $0D84 | CPU $CD84 | 98
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $0D85 | CPU $CD85 | 20 03 C6
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CD88.
|
|
; Local behavior: Executes the decoded update gameplay state field cd88 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CD88:
|
|
rts ; PRG $0D88 | CPU $CD88 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CD89.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cd89 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CD89:
|
|
lda Ram_06E0 ; PRG $0D89 | CPU $CD89 | AD E0 06
|
|
bne CalculateMovementAndClamp_CD99 ; PRG $0D8C | CPU $CD8C | D0 0B
|
|
dec Ram_06F7 ; PRG $0D8E | CPU $CD8E | CE F7 06
|
|
bne UpdateGameplayStateField_CD98 ; PRG $0D91 | CPU $CD91 | D0 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CD93.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cd93 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CD93:
|
|
lda #$F4 ; PRG $0D93 | CPU $CD93 | A9 F4
|
|
sta Ram_06E0 ; PRG $0D95 | CPU $CD95 | 8D E0 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CD98.
|
|
; Local behavior: Executes the decoded update gameplay state field cd98 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CD98:
|
|
rts ; PRG $0D98 | CPU $CD98 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value CD99.
|
|
; Local behavior: Executes the decoded calculate and clamp value cd99 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_CD99:
|
|
cmp #$F4 ; PRG $0D99 | CPU $CD99 | C9 F4
|
|
bne UpdateSideScrollingGameplay_CD93 ; PRG $0D9B | CPU $CD9B | D0 F6
|
|
ldx Zp_32 ; PRG $0D9D | CPU $CD9D | A6 32
|
|
lda Zp_58,x ; PRG $0D9F | CPU $CD9F | B5 58
|
|
cmp #$02 ; PRG $0DA1 | CPU $CDA1 | C9 02
|
|
bcc UpdateGameplayStateField_CD98 ; PRG $0DA3 | CPU $CDA3 | 90 F3
|
|
lda Zp_1D ; PRG $0DA5 | CPU $CDA5 | A5 1D
|
|
cmp #$80 ; PRG $0DA7 | CPU $CDA7 | C9 80
|
|
bcs UpdateGameplayStateField_CD98 ; PRG $0DA9 | CPU $CDA9 | B0 ED
|
|
lda Ram_05A0 ; PRG $0DAB | CPU $CDAB | AD A0 05
|
|
bne UpdateGameplayStateField_CD98 ; PRG $0DAE | CPU $CDAE | D0 E8
|
|
lda Ram_05A1 ; PRG $0DB0 | CPU $CDB0 | AD A1 05
|
|
clc ; PRG $0DB3 | CPU $CDB3 | 18
|
|
adc #$04 ; PRG $0DB4 | CPU $CDB4 | 69 04
|
|
cmp Ram_03C1 ; PRG $0DB6 | CPU $CDB6 | CD C1 03
|
|
bne UpdateGameplayStateField_CD98 ; PRG $0DB9 | CPU $CDB9 | D0 DD
|
|
ldy #$03 ; PRG $0DBB | CPU $CDBB | A0 03
|
|
jsr UpdateSideScrollingGameplay_CDD6 ; PRG $0DBD | CPU $CDBD | 20 D6 CD
|
|
lda Ram_05C0 ; PRG $0DC0 | CPU $CDC0 | AD C0 05
|
|
bne UpdateGameplayStateField_CD98 ; PRG $0DC3 | CPU $CDC3 | D0 D3
|
|
lda Ram_05C1 ; PRG $0DC5 | CPU $CDC5 | AD C1 05
|
|
clc ; PRG $0DC8 | CPU $CDC8 | 18
|
|
adc #$04 ; PRG $0DC9 | CPU $CDC9 | 69 04
|
|
cmp Ram_03C1 ; PRG $0DCB | CPU $CDCB | CD C1 03
|
|
bne UpdateGameplayStateField_CD98 ; PRG $0DCE | CPU $CDCE | D0 C8
|
|
ldy #$23 ; PRG $0DD0 | CPU $CDD0 | A0 23
|
|
jsr UpdateSideScrollingGameplay_CDD6 ; PRG $0DD2 | CPU $CDD2 | 20 D6 CD
|
|
rts ; PRG $0DD5 | CPU $CDD5 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CDD6.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cdd6 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CDD6:
|
|
sta Ram_06E1 ; PRG $0DD6 | CPU $CDD6 | 8D E1 06
|
|
lda #$00 ; PRG $0DD9 | CPU $CDD9 | A9 00
|
|
sta Ram_06E0 ; PRG $0DDB | CPU $CDDB | 8D E0 06
|
|
lda Ram_05A0,y ; PRG $0DDE | CPU $CDDE | B9 A0 05
|
|
sta Ram_06E3 ; PRG $0DE1 | CPU $CDE1 | 8D E3 06
|
|
sec ; PRG $0DE4 | CPU $CDE4 | 38
|
|
sbc Ram_03C3 ; PRG $0DE5 | CPU $CDE5 | ED C3 03
|
|
bcs UpdateSideScrollingGameplay_CDEF ; PRG $0DE8 | CPU $CDE8 | B0 05
|
|
eor #$FF ; PRG $0DEA | CPU $CDEA | 49 FF
|
|
clc ; PRG $0DEC | CPU $CDEC | 18
|
|
adc #$01 ; PRG $0DED | CPU $CDED | 69 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CDEF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cdef sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CDEF:
|
|
cmp #$20 ; PRG $0DEF | CPU $CDEF | C9 20
|
|
bcc UpdateGameplayStateField_CE1C ; PRG $0DF1 | CPU $CDF1 | 90 29
|
|
lda Ram_05A0,y ; PRG $0DF3 | CPU $CDF3 | B9 A0 05
|
|
cmp Ram_03C3 ; PRG $0DF6 | CPU $CDF6 | CD C3 03
|
|
ldx #$FD ; PRG $0DF9 | CPU $CDF9 | A2 FD
|
|
bcs UpdateSideScrollingGameplay_CDFF ; PRG $0DFB | CPU $CDFB | B0 02
|
|
ldx #$03 ; PRG $0DFD | CPU $CDFD | A2 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CDFF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cdff sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CDFF:
|
|
stx Ram_06F3 ; PRG $0DFF | CPU $CDFF | 8E F3 06
|
|
lda #$00 ; PRG $0E02 | CPU $CE02 | A9 00
|
|
sta Ram_06F1 ; PRG $0E04 | CPU $CE04 | 8D F1 06
|
|
sta Ram_06F2 ; PRG $0E07 | CPU $CE07 | 8D F2 06
|
|
sta Ram_06F4 ; PRG $0E0A | CPU $CE0A | 8D F4 06
|
|
lda #$CC ; PRG $0E0D | CPU $CE0D | A9 CC
|
|
sta Ram_06E7 ; PRG $0E0F | CPU $CE0F | 8D E7 06
|
|
lda #$28 ; PRG $0E12 | CPU $CE12 | A9 28
|
|
sta Ram_06F7 ; PRG $0E14 | CPU $CE14 | 8D F7 06
|
|
lda #$09 ; PRG $0E17 | CPU $CE17 | A9 09
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $0E19 | CPU $CE19 | 20 5B CE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CE1 C.
|
|
; Local behavior: Executes the decoded update gameplay state field ce1 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CE1C:
|
|
rts ; PRG $0E1C | CPU $CE1C | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State CE1 D.
|
|
; Local behavior: Executes the decoded transform flight state ce1 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_CE1D:
|
|
lda Zp_35 ; PRG $0E1D | CPU $CE1D | A5 35
|
|
beq UpdateGameplayStateField_CE46 ; PRG $0E1F | CPU $CE1F | F0 25
|
|
ldx Zp_32 ; PRG $0E21 | CPU $CE21 | A6 32
|
|
lda Zp_60,x ; PRG $0E23 | CPU $CE23 | B5 60
|
|
bne UpdateGameplayStateField_CE46 ; PRG $0E25 | CPU $CE25 | D0 1F
|
|
txa ; PRG $0E27 | CPU $CE27 | 8A
|
|
and #$01 ; PRG $0E28 | CPU $CE28 | 29 01
|
|
asl a ; PRG $0E2A | CPU $CE2A | 0A
|
|
asl a ; PRG $0E2B | CPU $CE2B | 0A
|
|
tay ; PRG $0E2C | CPU $CE2C | A8
|
|
lda Zp_45,y ; PRG $0E2D | CPU $CE2D | B9 45 00
|
|
cmp #$02 ; PRG $0E30 | CPU $CE30 | C9 02
|
|
bne UpdateGameplayStateField_CE46 ; PRG $0E32 | CPU $CE32 | D0 12
|
|
lda #$01 ; PRG $0E34 | CPU $CE34 | A9 01
|
|
sta Zp_60,x ; PRG $0E36 | CPU $CE36 | 95 60
|
|
inc Zp_54,x ; PRG $0E38 | CPU $CE38 | F6 54
|
|
lda #$06 ; PRG $0E3A | CPU $CE3A | A9 06
|
|
sta Zp_56,x ; PRG $0E3C | CPU $CE3C | 95 56
|
|
jsr UpdateSideScrollingGameplay_D17B ; PRG $0E3E | CPU $CE3E | 20 7B D1
|
|
lda #$08 ; PRG $0E41 | CPU $CE41 | A9 08
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $0E43 | CPU $CE43 | 20 5B CE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CE46.
|
|
; Local behavior: Executes the decoded update gameplay state field ce46 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CE46:
|
|
rts ; PRG $0E46 | CPU $CE46 | 60
|
|
.byte $08,$48,$84,$C2,$86,$C3,$98,$4C,$61,$CE ; PRG $0E47 | CPU $CE47
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CE51.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ce51 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CE51:
|
|
php ; PRG $0E51 | CPU $CE51 | 08
|
|
pha ; PRG $0E52 | CPU $CE52 | 48
|
|
sty Zp_C2 ; PRG $0E53 | CPU $CE53 | 84 C2
|
|
stx Zp_C3 ; PRG $0E55 | CPU $CE55 | 86 C3
|
|
txa ; PRG $0E57 | CPU $CE57 | 8A
|
|
jmp UpdateSideScrollingGameplay_CE61 ; PRG $0E58 | CPU $CE58 | 4C 61 CE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CE5 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ce5 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CE5B:
|
|
php ; PRG $0E5B | CPU $CE5B | 08
|
|
pha ; PRG $0E5C | CPU $CE5C | 48
|
|
sty Zp_C2 ; PRG $0E5D | CPU $CE5D | 84 C2
|
|
stx Zp_C3 ; PRG $0E5F | CPU $CE5F | 86 C3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CE61.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ce61 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CE61:
|
|
cmp #$13 ; PRG $0E61 | CPU $CE61 | C9 13
|
|
beq UpdateSideScrollingGameplay_CE87 ; PRG $0E63 | CPU $CE63 | F0 22
|
|
ldy Zp_35 ; PRG $0E65 | CPU $CE65 | A4 35
|
|
beq UpdateGameplayStateField_CE80 ; PRG $0E67 | CPU $CE67 | F0 17
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value CE69.
|
|
; Local behavior: Executes the decoded calculate and clamp value ce69 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_CE69:
|
|
ldy #$FF ; PRG $0E69 | CPU $CE69 | A0 FF
|
|
cmp #$08 ; PRG $0E6B | CPU $CE6B | C9 08
|
|
bcc UpdateSideScrollingGameplay_CE79 ; PRG $0E6D | CPU $CE6D | 90 0A
|
|
sbc #$08 ; PRG $0E6F | CPU $CE6F | E9 08
|
|
dey ; PRG $0E71 | CPU $CE71 | 88
|
|
cmp #$08 ; PRG $0E72 | CPU $CE72 | C9 08
|
|
bcc UpdateSideScrollingGameplay_CE79 ; PRG $0E74 | CPU $CE74 | 90 03
|
|
sbc #$08 ; PRG $0E76 | CPU $CE76 | E9 08
|
|
dey ; PRG $0E78 | CPU $CE78 | 88
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CE79.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ce79 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CE79:
|
|
tax ; PRG $0E79 | CPU $CE79 | AA
|
|
lda GameplayLookupTable_C6D4,x ; PRG $0E7A | CPU $CE7A | BD D4 C6
|
|
sta ScratchValue0,y ; PRG $0E7D | CPU $CE7D | 99 00 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CE80.
|
|
; Local behavior: Executes the decoded update gameplay state field ce80 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CE80:
|
|
ldx Zp_C3 ; PRG $0E80 | CPU $CE80 | A6 C3
|
|
ldy Zp_C2 ; PRG $0E82 | CPU $CE82 | A4 C2
|
|
pla ; PRG $0E84 | CPU $CE84 | 68
|
|
plp ; PRG $0E85 | CPU $CE85 | 28
|
|
rts ; PRG $0E86 | CPU $CE86 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CE87.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ce87 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CE87:
|
|
dec Zp_3E ; PRG $0E87 | CPU $CE87 | C6 3E
|
|
bpl UpdateGameplayStateField_CE80 ; PRG $0E89 | CPU $CE89 | 10 F5
|
|
ldy #$04 ; PRG $0E8B | CPU $CE8B | A0 04
|
|
sty Zp_3E ; PRG $0E8D | CPU $CE8D | 84 3E
|
|
bne CalculateMovementAndClamp_CE69 ; PRG $0E8F | CPU $CE8F | D0 D8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CE91.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ce91 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CE91:
|
|
sta Zp_0F ; PRG $0E91 | CPU $CE91 | 85 0F
|
|
php ; PRG $0E93 | CPU $CE93 | 08
|
|
pha ; PRG $0E94 | CPU $CE94 | 48
|
|
txa ; PRG $0E95 | CPU $CE95 | 8A
|
|
pha ; PRG $0E96 | CPU $CE96 | 48
|
|
tya ; PRG $0E97 | CPU $CE97 | 98
|
|
pha ; PRG $0E98 | CPU $CE98 | 48
|
|
lda ScratchValue0 ; PRG $0E99 | CPU $CE99 | A5 00
|
|
pha ; PRG $0E9B | CPU $CE9B | 48
|
|
lda ScratchValue1 ; PRG $0E9C | CPU $CE9C | A5 01
|
|
pha ; PRG $0E9E | CPU $CE9E | 48
|
|
lda ScratchValue2 ; PRG $0E9F | CPU $CE9F | A5 02
|
|
pha ; PRG $0EA1 | CPU $CEA1 | 48
|
|
lda ScratchIndex ; PRG $0EA2 | CPU $CEA2 | A5 03
|
|
pha ; PRG $0EA4 | CPU $CEA4 | 48
|
|
lda Zp_35 ; PRG $0EA5 | CPU $CEA5 | A5 35
|
|
beq UpdateSideScrollingGameplay_CEB1 ; PRG $0EA7 | CPU $CEA7 | F0 08
|
|
ldy Zp_0F ; PRG $0EA9 | CPU $CEA9 | A4 0F
|
|
lda GameplayLookupTable_C6DC,y ; PRG $0EAB | CPU $CEAB | B9 DC C6
|
|
jsr UpdateSideScrollingGameplay_CEC4 ; PRG $0EAE | CPU $CEAE | 20 C4 CE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CEB1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ceb1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CEB1:
|
|
pla ; PRG $0EB1 | CPU $CEB1 | 68
|
|
sta ScratchIndex ; PRG $0EB2 | CPU $CEB2 | 85 03
|
|
pla ; PRG $0EB4 | CPU $CEB4 | 68
|
|
sta ScratchValue2 ; PRG $0EB5 | CPU $CEB5 | 85 02
|
|
pla ; PRG $0EB7 | CPU $CEB7 | 68
|
|
sta ScratchValue1 ; PRG $0EB8 | CPU $CEB8 | 85 01
|
|
pla ; PRG $0EBA | CPU $CEBA | 68
|
|
sta ScratchValue0 ; PRG $0EBB | CPU $CEBB | 85 00
|
|
pla ; PRG $0EBD | CPU $CEBD | 68
|
|
tay ; PRG $0EBE | CPU $CEBE | A8
|
|
pla ; PRG $0EBF | CPU $CEBF | 68
|
|
tax ; PRG $0EC0 | CPU $CEC0 | AA
|
|
pla ; PRG $0EC1 | CPU $CEC1 | 68
|
|
plp ; PRG $0EC2 | CPU $CEC2 | 28
|
|
rts ; PRG $0EC3 | CPU $CEC3 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CEC4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cec4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CEC4:
|
|
sta ScratchValue0 ; PRG $0EC4 | CPU $CEC4 | 85 00
|
|
lda Zp_32 ; PRG $0EC6 | CPU $CEC6 | A5 32
|
|
ora #$08 ; PRG $0EC8 | CPU $CEC8 | 09 08
|
|
sta ScratchValue1 ; PRG $0ECA | CPU $CECA | 85 01
|
|
jsr UpdateSideScrollingGameplay_C261 ; PRG $0ECC | CPU $CECC | 20 61 C2
|
|
lda #$F9 ; PRG $0ECF | CPU $CECF | A9 F9
|
|
sta ScratchValue0 ; PRG $0ED1 | CPU $CED1 | 85 00
|
|
jsr TransformFlightState_C355 ; PRG $0ED3 | CPU $CED3 | 20 55 C3
|
|
lda Zp_A1 ; PRG $0ED6 | CPU $CED6 | A5 A1
|
|
bne UpdateGameplayStateField_CEE7 ; PRG $0ED8 | CPU $CED8 | D0 0D
|
|
ldx #$F0 ; PRG $0EDA | CPU $CEDA | A2 F0
|
|
lda Zp_32 ; PRG $0EDC | CPU $CEDC | A5 32
|
|
beq UpdateSideScrollingGameplay_CEE2 ; PRG $0EDE | CPU $CEDE | F0 02
|
|
ldx #$F1 ; PRG $0EE0 | CPU $CEE0 | A2 F1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CEE2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cee2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CEE2:
|
|
stx ScratchValue0 ; PRG $0EE2 | CPU $CEE2 | 86 00
|
|
jsr TransformFlightState_C177 ; PRG $0EE4 | CPU $CEE4 | 20 77 C1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CEE7.
|
|
; Local behavior: Executes the decoded update gameplay state field cee7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CEE7:
|
|
rts ; PRG $0EE7 | CPU $CEE7 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State CEE8.
|
|
; Local behavior: Executes the decoded transform flight state cee8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_CEE8:
|
|
lda Zp_35 ; PRG $0EE8 | CPU $CEE8 | A5 35
|
|
bne UpdateGameplayStateField_CF10 ; PRG $0EEA | CPU $CEEA | D0 24
|
|
lda Ram_0104 ; PRG $0EEC | CPU $CEEC | AD 04 01
|
|
bne UpdateGameplayStateField_CF10 ; PRG $0EEF | CPU $CEEF | D0 1F
|
|
lda Zp_EC ; PRG $0EF1 | CPU $CEF1 | A5 EC
|
|
lsr a ; PRG $0EF3 | CPU $CEF3 | 4A
|
|
tay ; PRG $0EF4 | CPU $CEF4 | A8
|
|
lda GameplayLookupTable_C903,y ; PRG $0EF5 | CPU $CEF5 | B9 03 C9
|
|
and #$CF ; PRG $0EF8 | CPU $CEF8 | 29 CF
|
|
sta ScratchValue0 ; PRG $0EFA | CPU $CEFA | 85 00
|
|
lda PreviousControllerButtons ; PRG $0EFC | CPU $CEFC | A5 19
|
|
and #$30 ; PRG $0EFE | CPU $CEFE | 29 30
|
|
ora ScratchValue0 ; PRG $0F00 | CPU $CF00 | 05 00
|
|
sta PreviousControllerButtons ; PRG $0F02 | CPU $CF02 | 85 19
|
|
and #$80 ; PRG $0F04 | CPU $CF04 | 29 80
|
|
beq UpdateSideScrollingGameplay_CF0E ; PRG $0F06 | CPU $CF06 | F0 06
|
|
ldx Zp_C1 ; PRG $0F08 | CPU $CF08 | A6 C1
|
|
bne UpdateSideScrollingGameplay_CF0E ; PRG $0F0A | CPU $CF0A | D0 02
|
|
sta CurrentControllerButtons ; PRG $0F0C | CPU $CF0C | 85 1B
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CF0 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cf0 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CF0E:
|
|
sta Zp_C1 ; PRG $0F0E | CPU $CF0E | 85 C1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CF10.
|
|
; Local behavior: Executes the decoded update gameplay state field cf10 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CF10:
|
|
rts ; PRG $0F10 | CPU $CF10 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Flying Entity CF11.
|
|
; Local behavior: Executes the decoded update flying entity cf11 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateFlyingEntity_CF11:
|
|
ldx Zp_32 ; PRG $0F11 | CPU $CF11 | A6 32
|
|
lda Zp_5A,x ; PRG $0F13 | CPU $CF13 | B5 5A
|
|
bne UpdateGameplayStateField_CF4F ; PRG $0F15 | CPU $CF15 | D0 38
|
|
jsr UpdateSideScrollingGameplay_D6ED ; PRG $0F17 | CPU $CF17 | 20 ED D6
|
|
cmp #$00 ; PRG $0F1A | CPU $CF1A | C9 00
|
|
bne UpdateGameplayStateField_CF4F ; PRG $0F1C | CPU $CF1C | D0 31
|
|
lda Ram_05E0 ; PRG $0F1E | CPU $CF1E | AD E0 05
|
|
cmp #$F4 ; PRG $0F21 | CPU $CF21 | C9 F4
|
|
bne UpdateGameplayStateField_CF4F ; PRG $0F23 | CPU $CF23 | D0 2A
|
|
lda Ram_0600 ; PRG $0F25 | CPU $CF25 | AD 00 06
|
|
cmp #$F4 ; PRG $0F28 | CPU $CF28 | C9 F4
|
|
bne UpdateGameplayStateField_CF4F ; PRG $0F2A | CPU $CF2A | D0 23
|
|
lda Zp_A3 ; PRG $0F2C | CPU $CF2C | A5 A3
|
|
cmp #$E8 ; PRG $0F2E | CPU $CF2E | C9 E8
|
|
bne UpdateGameplayStateField_CF4F ; PRG $0F30 | CPU $CF30 | D0 1D
|
|
jsr UpdateSideScrollingGameplay_D6FB ; PRG $0F32 | CPU $CF32 | 20 FB D6
|
|
cmp #$00 ; PRG $0F35 | CPU $CF35 | C9 00
|
|
bne UpdateGameplayStateField_CF4F ; PRG $0F37 | CPU $CF37 | D0 16
|
|
lda #$20 ; PRG $0F39 | CPU $CF39 | A9 20
|
|
sta Zp_EE ; PRG $0F3B | CPU $CF3B | 85 EE
|
|
ldy #$0F ; PRG $0F3D | CPU $CF3D | A0 0F
|
|
jsr UpdateSideScrollingGameplay_D6CC ; PRG $0F3F | CPU $CF3F | 20 CC D6
|
|
lda #$F4 ; PRG $0F42 | CPU $CF42 | A9 F4
|
|
sta Ram_03E0 ; PRG $0F44 | CPU $CF44 | 8D E0 03
|
|
sta Ram_03F0 ; PRG $0F47 | CPU $CF47 | 8D F0 03
|
|
lda #$11 ; PRG $0F4A | CPU $CF4A | A9 11
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $0F4C | CPU $CF4C | 20 5B CE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field CF4 F.
|
|
; Local behavior: Executes the decoded update gameplay state field cf4 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_CF4F:
|
|
rts ; PRG $0F4F | CPU $CF4F | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CF50.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cf50 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CF50:
|
|
lda Zp_37 ; PRG $0F50 | CPU $CF50 | A5 37
|
|
bne UpdateSideScrollingGameplay_CF8C ; PRG $0F52 | CPU $CF52 | D0 38
|
|
lda #$01 ; PRG $0F54 | CPU $CF54 | A9 01
|
|
sta Zp_5E ; PRG $0F56 | CPU $CF56 | 85 5E
|
|
sta Zp_5F ; PRG $0F58 | CPU $CF58 | 85 5F
|
|
lda #$01 ; PRG $0F5A | CPU $CF5A | A9 01
|
|
sta Zp_54 ; PRG $0F5C | CPU $CF5C | 85 54
|
|
lda #$06 ; PRG $0F5E | CPU $CF5E | A9 06
|
|
sta Zp_56 ; PRG $0F60 | CPU $CF60 | 85 56
|
|
lda #$00 ; PRG $0F62 | CPU $CF62 | A9 00
|
|
sta Zp_58 ; PRG $0F64 | CPU $CF64 | 85 58
|
|
sta Zp_32 ; PRG $0F66 | CPU $CF66 | 85 32
|
|
jmp TransformFlightState_CFCE ; PRG $0F68 | CPU $CF68 | 4C CE CF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CF6 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cf6 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CF6B:
|
|
cmp #$03 ; PRG $0F6B | CPU $CF6B | C9 03
|
|
bne UpdateSideScrollingGameplay_CFDE ; PRG $0F6D | CPU $CF6D | D0 6F
|
|
ldx Zp_32 ; PRG $0F6F | CPU $CF6F | A6 32
|
|
inc Zp_5E,x ; PRG $0F71 | CPU $CF71 | F6 5E
|
|
lda Zp_58,x ; PRG $0F73 | CPU $CF73 | B5 58
|
|
cmp #$03 ; PRG $0F75 | CPU $CF75 | C9 03
|
|
beq TransformFlightState_CF7B ; PRG $0F77 | CPU $CF77 | F0 02
|
|
inc Zp_58,x ; PRG $0F79 | CPU $CF79 | F6 58
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State CF7 B.
|
|
; Local behavior: Executes the decoded transform flight state cf7 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_CF7B:
|
|
ldx Zp_32 ; PRG $0F7B | CPU $CF7B | A6 32
|
|
lda #$08 ; PRG $0F7D | CPU $CF7D | A9 08
|
|
sta Zp_5C,x ; PRG $0F7F | CPU $CF7F | 95 5C
|
|
lda Zp_58,x ; PRG $0F81 | CPU $CF81 | B5 58
|
|
asl a ; PRG $0F83 | CPU $CF83 | 0A
|
|
clc ; PRG $0F84 | CPU $CF84 | 18
|
|
adc #$0F ; PRG $0F85 | CPU $CF85 | 69 0F
|
|
sta Zp_5A,x ; PRG $0F87 | CPU $CF87 | 95 5A
|
|
jmp UpdateFlyingEntity_CFE2 ; PRG $0F89 | CPU $CF89 | 4C E2 CF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CF8 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cf8 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CF8C:
|
|
cmp #$01 ; PRG $0F8C | CPU $CF8C | C9 01
|
|
bne UpdateSideScrollingGameplay_CF6B ; PRG $0F8E | CPU $CF8E | D0 DB
|
|
ldx #$07 ; PRG $0F90 | CPU $CF90 | A2 07
|
|
lda #$00 ; PRG $0F92 | CPU $CF92 | A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CF94.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cf94 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CF94:
|
|
sta Zp_44,x ; PRG $0F94 | CPU $CF94 | 95 44
|
|
dex ; PRG $0F96 | CPU $CF96 | CA
|
|
bpl UpdateSideScrollingGameplay_CF94 ; PRG $0F97 | CPU $CF97 | 10 FB
|
|
sta Zp_60 ; PRG $0F99 | CPU $CF99 | 85 60
|
|
sta Zp_61 ; PRG $0F9B | CPU $CF9B | 85 61
|
|
ldx #$03 ; PRG $0F9D | CPU $CF9D | A2 03
|
|
ldy #$03 ; PRG $0F9F | CPU $CF9F | A0 03
|
|
lda Zp_33 ; PRG $0FA1 | CPU $CFA1 | A5 33
|
|
beq UpdateSideScrollingGameplay_CFA7 ; PRG $0FA3 | CPU $CFA3 | F0 02
|
|
ldy #$07 ; PRG $0FA5 | CPU $CFA5 | A0 07
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CFA7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cfa7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CFA7:
|
|
lda Zp_4C,y ; PRG $0FA7 | CPU $CFA7 | B9 4C 00
|
|
sta Zp_40,x ; PRG $0FAA | CPU $CFAA | 95 40
|
|
dey ; PRG $0FAC | CPU $CFAC | 88
|
|
dex ; PRG $0FAD | CPU $CFAD | CA
|
|
bpl UpdateSideScrollingGameplay_CFA7 ; PRG $0FAE | CPU $CFAE | 10 F7
|
|
lda #$01 ; PRG $0FB0 | CPU $CFB0 | A9 01
|
|
sta Zp_5E ; PRG $0FB2 | CPU $CFB2 | 85 5E
|
|
sta Zp_5F ; PRG $0FB4 | CPU $CFB4 | 85 5F
|
|
lda #$03 ; PRG $0FB6 | CPU $CFB6 | A9 03
|
|
sta Zp_54 ; PRG $0FB8 | CPU $CFB8 | 85 54
|
|
sta Zp_55 ; PRG $0FBA | CPU $CFBA | 85 55
|
|
lda #$06 ; PRG $0FBC | CPU $CFBC | A9 06
|
|
sta Zp_56 ; PRG $0FBE | CPU $CFBE | 85 56
|
|
sta Zp_57 ; PRG $0FC0 | CPU $CFC0 | 85 57
|
|
ldx #$00 ; PRG $0FC2 | CPU $CFC2 | A2 00
|
|
lda Zp_33 ; PRG $0FC4 | CPU $CFC4 | A5 33
|
|
beq UpdateSideScrollingGameplay_CFCA ; PRG $0FC6 | CPU $CFC6 | F0 02
|
|
ldx #$01 ; PRG $0FC8 | CPU $CFC8 | A2 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CFCA.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cfca sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CFCA:
|
|
stx Zp_58 ; PRG $0FCA | CPU $CFCA | 86 58
|
|
stx Zp_59 ; PRG $0FCC | CPU $CFCC | 86 59
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State CFCE.
|
|
; Local behavior: Executes the decoded transform flight state cfce sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_CFCE:
|
|
lda #$08 ; PRG $0FCE | CPU $CFCE | A9 08
|
|
sta Zp_5C ; PRG $0FD0 | CPU $CFD0 | 85 5C
|
|
sta Zp_5D ; PRG $0FD2 | CPU $CFD2 | 85 5D
|
|
lda Zp_58 ; PRG $0FD4 | CPU $CFD4 | A5 58
|
|
asl a ; PRG $0FD6 | CPU $CFD6 | 0A
|
|
clc ; PRG $0FD7 | CPU $CFD7 | 18
|
|
adc #$0F ; PRG $0FD8 | CPU $CFD8 | 69 0F
|
|
sta Zp_5A ; PRG $0FDA | CPU $CFDA | 85 5A
|
|
sta Zp_5B ; PRG $0FDC | CPU $CFDC | 85 5B
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay CFDE.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay cfde sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_CFDE:
|
|
ldx Zp_32 ; PRG $0FDE | CPU $CFDE | A6 32
|
|
dec Zp_54,x ; PRG $0FE0 | CPU $CFE0 | D6 54
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Flying Entity CFE2.
|
|
; Local behavior: Executes the decoded update flying entity cfe2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateFlyingEntity_CFE2:
|
|
jsr UpdateSideScrollingGameplay_D072 ; PRG $0FE2 | CPU $CFE2 | 20 72 D0
|
|
lda #$08 ; PRG $0FE5 | CPU $CFE5 | A9 08
|
|
sta Zp_ED ; PRG $0FE7 | CPU $CFE7 | 85 ED
|
|
jsr UpdateSideScrollingGameplay_D17B ; PRG $0FE9 | CPU $CFE9 | 20 7B D1
|
|
lda #$00 ; PRG $0FEC | CPU $CFEC | A9 00
|
|
sta Zp_A1 ; PRG $0FEE | CPU $CFEE | 85 A1
|
|
lda #$FF ; PRG $0FF0 | CPU $CFF0 | A9 FF
|
|
sta Zp_EC ; PRG $0FF2 | CPU $CFF2 | 85 EC
|
|
lda #$1C ; PRG $0FF4 | CPU $CFF4 | A9 1C
|
|
ldx #$C7 ; PRG $0FF6 | CPU $CFF6 | A2 C7
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $0FF8 | CPU $CFF8 | 20 03 C6
|
|
lda #$2F ; PRG $0FFB | CPU $CFFB | A9 2F
|
|
sta OamBuffer ; PRG $0FFD | CPU $CFFD | 8D 00 02
|
|
lda #$47 ; PRG $1000 | CPU $D000 | A9 47
|
|
sta Ram_0201 ; PRG $1002 | CPU $D002 | 8D 01 02
|
|
lda #$20 ; PRG $1005 | CPU $D005 | A9 20
|
|
sta Ram_0202 ; PRG $1007 | CPU $D007 | 8D 02 02
|
|
lda #$10 ; PRG $100A | CPU $D00A | A9 10
|
|
sta Ram_0203 ; PRG $100C | CPU $D00C | 8D 03 02
|
|
lda #$E2 ; PRG $100F | CPU $D00F | A9 E2
|
|
ldx #$C6 ; PRG $1011 | CPU $D011 | A2 C6
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $1013 | CPU $D013 | 20 03 C6
|
|
lda #$F4 ; PRG $1016 | CPU $D016 | A9 F4
|
|
sta Ram_03E0 ; PRG $1018 | CPU $D018 | 8D E0 03
|
|
sta Ram_03F0 ; PRG $101B | CPU $D01B | 8D F0 03
|
|
lda #$51 ; PRG $101E | CPU $D01E | A9 51
|
|
ldx #$C7 ; PRG $1020 | CPU $D020 | A2 C7
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $1022 | CPU $D022 | 20 03 C6
|
|
ldy #$27 ; PRG $1025 | CPU $D025 | A0 27
|
|
ldx #$74 ; PRG $1027 | CPU $D027 | A2 74
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D029.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d029 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D029:
|
|
lda GameplayLookupTable_C7D8,y ; PRG $1029 | CPU $D029 | B9 D8 C7
|
|
sta Ram_0560,x ; PRG $102C | CPU $D02C | 9D 60 05
|
|
txa ; PRG $102F | CPU $D02F | 8A
|
|
and #$0F ; PRG $1030 | CPU $D030 | 29 0F
|
|
bne TransformFlightState_D039 ; PRG $1032 | CPU $D032 | D0 05
|
|
txa ; PRG $1034 | CPU $D034 | 8A
|
|
sec ; PRG $1035 | CPU $D035 | 38
|
|
sbc #$0B ; PRG $1036 | CPU $D036 | E9 0B
|
|
tax ; PRG $1038 | CPU $D038 | AA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State D039.
|
|
; Local behavior: Executes the decoded transform flight state d039 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_D039:
|
|
dex ; PRG $1039 | CPU $D039 | CA
|
|
dey ; PRG $103A | CPU $D03A | 88
|
|
bpl UpdateSideScrollingGameplay_D029 ; PRG $103B | CPU $D03B | 10 EC
|
|
lda #$3C ; PRG $103D | CPU $D03D | A9 3C
|
|
ldx #$C8 ; PRG $103F | CPU $D03F | A2 C8
|
|
jsr UpdateSideScrollingGameplay_C603 ; PRG $1041 | CPU $D041 | 20 03 C6
|
|
ldx Zp_32 ; PRG $1044 | CPU $D044 | A6 32
|
|
lda Zp_5C,x ; PRG $1046 | CPU $D046 | B5 5C
|
|
eor #$FF ; PRG $1048 | CPU $D048 | 49 FF
|
|
clc ; PRG $104A | CPU $D04A | 18
|
|
adc #$08 ; PRG $104B | CPU $D04B | 69 08
|
|
bmi UpdateSideScrollingGameplay_D059 ; PRG $104D | CPU $D04D | 30 0A
|
|
asl a ; PRG $104F | CPU $D04F | 0A
|
|
tay ; PRG $1050 | CPU $D050 | A8
|
|
lda #$F4 ; PRG $1051 | CPU $D051 | A9 F4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D053.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d053 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D053:
|
|
sta Ram_03B0,y ; PRG $1053 | CPU $D053 | 99 B0 03
|
|
dey ; PRG $1056 | CPU $D056 | 88
|
|
bpl UpdateSideScrollingGameplay_D053 ; PRG $1057 | CPU $D057 | 10 FA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D059.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d059 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D059:
|
|
lda #$06 ; PRG $1059 | CPU $D059 | A9 06
|
|
sta Zp_38 ; PRG $105B | CPU $D05B | 85 38
|
|
lda #$00 ; PRG $105D | CPU $D05D | A9 00
|
|
sta Zp_E9 ; PRG $105F | CPU $D05F | 85 E9
|
|
ldx #$2F ; PRG $1061 | CPU $D061 | A2 2F
|
|
lda #$00 ; PRG $1063 | CPU $D063 | A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D065.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d065 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D065:
|
|
sta Zp_A0,x ; PRG $1065 | CPU $D065 | 95 A0
|
|
dex ; PRG $1067 | CPU $D067 | CA
|
|
bpl UpdateSideScrollingGameplay_D065 ; PRG $1068 | CPU $D068 | 10 FB
|
|
ldx #$0F ; PRG $106A | CPU $D06A | A2 0F
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D06 C.
|
|
; Local behavior: Executes the decoded update gameplay state field d06 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D06C:
|
|
sta Zp_D0,x ; PRG $106C | CPU $D06C | 95 D0
|
|
dex ; PRG $106E | CPU $D06E | CA
|
|
bne UpdateGameplayStateField_D06C ; PRG $106F | CPU $D06F | D0 FB
|
|
rts ; PRG $1071 | CPU $D071 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D072.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d072 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D072:
|
|
lda #$F0 ; PRG $1072 | CPU $D072 | A9 F0
|
|
sta ScratchValue0 ; PRG $1074 | CPU $D074 | 85 00
|
|
jsr TransformFlightState_C177 ; PRG $1076 | CPU $D076 | 20 77 C1
|
|
lda Zp_31 ; PRG $1079 | CPU $D079 | A5 31
|
|
beq UpdateGameplayStateField_D097 ; PRG $107B | CPU $D07B | F0 1A
|
|
lda #$81 ; PRG $107D | CPU $D07D | A9 81
|
|
sta ScratchValue0 ; PRG $107F | CPU $D07F | 85 00
|
|
jsr TransformFlightState_C177 ; PRG $1081 | CPU $D081 | 20 77 C1
|
|
lda #$B6 ; PRG $1084 | CPU $D084 | A9 B6
|
|
sta ScratchValue0 ; PRG $1086 | CPU $D086 | 85 00
|
|
lda #$20 ; PRG $1088 | CPU $D088 | A9 20
|
|
sta ScratchValue1 ; PRG $108A | CPU $D08A | 85 01
|
|
lda #$9C ; PRG $108C | CPU $D08C | A9 9C
|
|
sta ScratchValue2 ; PRG $108E | CPU $D08E | 85 02
|
|
lda #$C8 ; PRG $1090 | CPU $D090 | A9 C8
|
|
sta ScratchIndex ; PRG $1092 | CPU $D092 | 85 03
|
|
jsr TransformFlightState_C1F8 ; PRG $1094 | CPU $D094 | 20 F8 C1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D097.
|
|
; Local behavior: Executes the decoded update gameplay state field d097 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D097:
|
|
rts ; PRG $1097 | CPU $D097 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D098.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d098 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D098:
|
|
lda Zp_ED ; PRG $1098 | CPU $D098 | A5 ED
|
|
bne CalculateMovementAndClamp_D0BD ; PRG $109A | CPU $D09A | D0 21
|
|
jsr UpdateSideScrollingGameplay_D6ED ; PRG $109C | CPU $D09C | 20 ED D6
|
|
cmp #$04 ; PRG $109F | CPU $D09F | C9 04
|
|
bcs UpdateGameplayStateField_D0BC ; PRG $10A1 | CPU $D0A1 | B0 19
|
|
lda #$24 ; PRG $10A3 | CPU $D0A3 | A9 24
|
|
sta Zp_ED ; PRG $10A5 | CPU $D0A5 | 85 ED
|
|
lda #$00 ; PRG $10A7 | CPU $D0A7 | A9 00
|
|
sta Zp_BD ; PRG $10A9 | CPU $D0A9 | 85 BD
|
|
lda #$04 ; PRG $10AB | CPU $D0AB | A9 04
|
|
sta Zp_BE ; PRG $10AD | CPU $D0AD | 85 BE
|
|
ldx Zp_32 ; PRG $10AF | CPU $D0AF | A6 32
|
|
ldy Zp_58,x ; PRG $10B1 | CPU $D0B1 | B4 58
|
|
lda GameplayLookupTable_C8F3,y ; PRG $10B3 | CPU $D0B3 | B9 F3 C8
|
|
sta Zp_C0 ; PRG $10B6 | CPU $D0B6 | 85 C0
|
|
lda #$00 ; PRG $10B8 | CPU $D0B8 | A9 00
|
|
sta Zp_BF ; PRG $10BA | CPU $D0BA | 85 BF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D0 BC.
|
|
; Local behavior: Executes the decoded update gameplay state field d0 bc sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D0BC:
|
|
rts ; PRG $10BC | CPU $D0BC | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D0 BD.
|
|
; Local behavior: Executes the decoded calculate and clamp value d0 bd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D0BD:
|
|
ldx Zp_32 ; PRG $10BD | CPU $D0BD | A6 32
|
|
lda Zp_5A,x ; PRG $10BF | CPU $D0BF | B5 5A
|
|
beq UpdateGameplayStateField_D0BC ; PRG $10C1 | CPU $D0C1 | F0 F9
|
|
lda Zp_C0 ; PRG $10C3 | CPU $D0C3 | A5 C0
|
|
beq UpdateGameplayStateField_D0BC ; PRG $10C5 | CPU $D0C5 | F0 F5
|
|
lda Zp_BF ; PRG $10C7 | CPU $D0C7 | A5 BF
|
|
sta ScratchValue2 ; PRG $10C9 | CPU $D0C9 | 85 02
|
|
ldy #$00 ; PRG $10CB | CPU $D0CB | A0 00
|
|
lda (Zp_BD),y ; PRG $10CD | CPU $D0CD | B1 BD
|
|
cmp #$F4 ; PRG $10CF | CPU $D0CF | C9 F4
|
|
bne UpdateSideScrollingGameplay_D115 ; PRG $10D1 | CPU $D0D1 | D0 42
|
|
lda Zp_1D ; PRG $10D3 | CPU $D0D3 | A5 1D
|
|
cmp #$F0 ; PRG $10D5 | CPU $D0D5 | C9 F0
|
|
bcs UpdateSideScrollingGameplay_D115 ; PRG $10D7 | CPU $D0D7 | B0 3C
|
|
lda Zp_1E ; PRG $10D9 | CPU $D0D9 | A5 1E
|
|
and #$1F ; PRG $10DB | CPU $D0DB | 29 1F
|
|
adc #$38 ; PRG $10DD | CPU $D0DD | 69 38
|
|
sta ScratchIndex ; PRG $10DF | CPU $D0DF | 85 03
|
|
lda Zp_1F ; PRG $10E1 | CPU $D0E1 | A5 1F
|
|
cmp #$20 ; PRG $10E3 | CPU $D0E3 | C9 20
|
|
bcs CalculateMovementAndClamp_D0E9 ; PRG $10E5 | CPU $D0E5 | B0 02
|
|
adc #$20 ; PRG $10E7 | CPU $D0E7 | 69 20
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D0 E9.
|
|
; Local behavior: Executes the decoded calculate and clamp value d0 e9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D0E9:
|
|
cmp #$E0 ; PRG $10E9 | CPU $D0E9 | C9 E0
|
|
bcc CalculateMovementAndClamp_D0EF ; PRG $10EB | CPU $D0EB | 90 02
|
|
adc #$E0 ; PRG $10ED | CPU $D0ED | 69 E0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D0 EF.
|
|
; Local behavior: Executes the decoded calculate and clamp value d0 ef sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D0EF:
|
|
sta DataPointerLo ; PRG $10EF | CPU $D0EF | 85 04
|
|
lda Zp_20 ; PRG $10F1 | CPU $D0F1 | A5 20
|
|
cmp #$34 ; PRG $10F3 | CPU $D0F3 | C9 34
|
|
bcc UpdateSideScrollingGameplay_D127 ; PRG $10F5 | CPU $D0F5 | 90 30
|
|
lda Zp_21 ; PRG $10F7 | CPU $D0F7 | A5 21
|
|
and #$03 ; PRG $10F9 | CPU $D0F9 | 29 03
|
|
clc ; PRG $10FB | CPU $D0FB | 18
|
|
adc #$01 ; PRG $10FC | CPU $D0FC | 69 01
|
|
sta (Zp_BD),y ; PRG $10FE | CPU $D0FE | 91 BD
|
|
iny ; PRG $1100 | CPU $D100 | C8
|
|
lda ScratchIndex ; PRG $1101 | CPU $D101 | A5 03
|
|
sta (Zp_BD),y ; PRG $1103 | CPU $D103 | 91 BD
|
|
ldy #$03 ; PRG $1105 | CPU $D105 | A0 03
|
|
lda DataPointerLo ; PRG $1107 | CPU $D107 | A5 04
|
|
sta (Zp_BD),y ; PRG $1109 | CPU $D109 | 91 BD
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D10 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d10 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D10B:
|
|
lda #$00 ; PRG $110B | CPU $D10B | A9 00
|
|
ldy #$10 ; PRG $110D | CPU $D10D | A0 10
|
|
sta (Zp_BD),y ; PRG $110F | CPU $D10F | 91 BD
|
|
ldx Zp_32 ; PRG $1111 | CPU $D111 | A6 32
|
|
dec Zp_5A,x ; PRG $1113 | CPU $D113 | D6 5A
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D115.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d115 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D115:
|
|
inc Zp_BF ; PRG $1115 | CPU $D115 | E6 BF
|
|
dec Zp_C0 ; PRG $1117 | CPU $D117 | C6 C0
|
|
clc ; PRG $1119 | CPU $D119 | 18
|
|
lda #$20 ; PRG $111A | CPU $D11A | A9 20
|
|
adc Zp_BD ; PRG $111C | CPU $D11C | 65 BD
|
|
sta Zp_BD ; PRG $111E | CPU $D11E | 85 BD
|
|
lda #$00 ; PRG $1120 | CPU $D120 | A9 00
|
|
adc Zp_BE ; PRG $1122 | CPU $D122 | 65 BE
|
|
sta Zp_BE ; PRG $1124 | CPU $D124 | 85 BE
|
|
rts ; PRG $1126 | CPU $D126 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D127.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d127 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D127:
|
|
jsr UpdateSideScrollingGameplay_DAD9 ; PRG $1127 | CPU $D127 | 20 D9 DA
|
|
bcc UpdateSideScrollingGameplay_D115 ; PRG $112A | CPU $D12A | 90 E9
|
|
jmp UpdateSideScrollingGameplay_D10B ; PRG $112C | CPU $D12C | 4C 0B D1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D12 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d12 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D12F:
|
|
lda #$02 ; PRG $112F | CPU $D12F | A9 02
|
|
sta Zp_37 ; PRG $1131 | CPU $D131 | 85 37
|
|
lda #$00 ; PRG $1133 | CPU $D133 | A9 00
|
|
sta Zp_36 ; PRG $1135 | CPU $D135 | 85 36
|
|
ldx Zp_32 ; PRG $1137 | CPU $D137 | A6 32
|
|
lda Zp_54,x ; PRG $1139 | CPU $D139 | B5 54
|
|
beq UpdateSideScrollingGameplay_D160 ; PRG $113B | CPU $D13B | F0 23
|
|
jsr UpdateSideScrollingGameplay_D6ED ; PRG $113D | CPU $D13D | 20 ED D6
|
|
clc ; PRG $1140 | CPU $D140 | 18
|
|
ldx Zp_32 ; PRG $1141 | CPU $D141 | A6 32
|
|
adc Zp_5A,x ; PRG $1143 | CPU $D143 | 75 5A
|
|
sta Zp_5A,x ; PRG $1145 | CPU $D145 | 95 5A
|
|
lda Zp_31 ; PRG $1147 | CPU $D147 | A5 31
|
|
beq UpdateGameplayStateField_D157 ; PRG $1149 | CPU $D149 | F0 0C
|
|
lda Zp_32 ; PRG $114B | CPU $D14B | A5 32
|
|
eor #$01 ; PRG $114D | CPU $D14D | 49 01
|
|
tay ; PRG $114F | CPU $D14F | A8
|
|
lda Zp_54,y ; PRG $1150 | CPU $D150 | B9 54 00
|
|
beq UpdateGameplayStateField_D157 ; PRG $1153 | CPU $D153 | F0 02
|
|
sty Zp_32 ; PRG $1155 | CPU $D155 | 84 32
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D157.
|
|
; Local behavior: Executes the decoded update gameplay state field d157 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D157:
|
|
lda #$08 ; PRG $1157 | CPU $D157 | A9 08
|
|
sta Zp_E9 ; PRG $1159 | CPU $D159 | 85 E9
|
|
lda #$08 ; PRG $115B | CPU $D15B | A9 08
|
|
sta Zp_38 ; PRG $115D | CPU $D15D | 85 38
|
|
rts ; PRG $115F | CPU $D15F | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D160.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d160 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D160:
|
|
ldx #$07 ; PRG $1160 | CPU $D160 | A2 07
|
|
lda Zp_31 ; PRG $1162 | CPU $D162 | A5 31
|
|
beq UpdateSideScrollingGameplay_D16E ; PRG $1164 | CPU $D164 | F0 08
|
|
ldx #$03 ; PRG $1166 | CPU $D166 | A2 03
|
|
lda Zp_32 ; PRG $1168 | CPU $D168 | A5 32
|
|
beq UpdateSideScrollingGameplay_D16E ; PRG $116A | CPU $D16A | F0 02
|
|
ldx #$05 ; PRG $116C | CPU $D16C | A2 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D16 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d16 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D16E:
|
|
stx Zp_38 ; PRG $116E | CPU $D16E | 86 38
|
|
lda #$10 ; PRG $1170 | CPU $D170 | A9 10
|
|
sta Zp_EB ; PRG $1172 | CPU $D172 | 85 EB
|
|
lda Zp_32 ; PRG $1174 | CPU $D174 | A5 32
|
|
eor #$01 ; PRG $1176 | CPU $D176 | 49 01
|
|
sta Zp_32 ; PRG $1178 | CPU $D178 | 85 32
|
|
rts ; PRG $117A | CPU $D17A | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D17 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d17 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D17B:
|
|
lda #$20 ; PRG $117B | CPU $D17B | A9 20
|
|
sta ScratchValue2 ; PRG $117D | CPU $D17D | 85 02
|
|
ldy #$63 ; PRG $117F | CPU $D17F | A0 63
|
|
ldx #$3E ; PRG $1181 | CPU $D181 | A2 3E
|
|
lda Zp_54 ; PRG $1183 | CPU $D183 | A5 54
|
|
jsr UpdateSideScrollingGameplay_D1A8 ; PRG $1185 | CPU $D185 | 20 A8 D1
|
|
ldy #$83 ; PRG $1188 | CPU $D188 | A0 83
|
|
ldx #$3D ; PRG $118A | CPU $D18A | A2 3D
|
|
lda Zp_56 ; PRG $118C | CPU $D18C | A5 56
|
|
jsr UpdateSideScrollingGameplay_D1A8 ; PRG $118E | CPU $D18E | 20 A8 D1
|
|
lda Zp_31 ; PRG $1191 | CPU $D191 | A5 31
|
|
beq UpdateGameplayStateField_D1A7 ; PRG $1193 | CPU $D193 | F0 12
|
|
ldy #$78 ; PRG $1195 | CPU $D195 | A0 78
|
|
ldx #$3E ; PRG $1197 | CPU $D197 | A2 3E
|
|
lda Zp_55 ; PRG $1199 | CPU $D199 | A5 55
|
|
jsr UpdateSideScrollingGameplay_D1A8 ; PRG $119B | CPU $D19B | 20 A8 D1
|
|
ldy #$98 ; PRG $119E | CPU $D19E | A0 98
|
|
ldx #$3D ; PRG $11A0 | CPU $D1A0 | A2 3D
|
|
lda Zp_57 ; PRG $11A2 | CPU $D1A2 | A5 57
|
|
jsr UpdateSideScrollingGameplay_D1A8 ; PRG $11A4 | CPU $D1A4 | 20 A8 D1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D1 A7.
|
|
; Local behavior: Executes the decoded update gameplay state field d1 a7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D1A7:
|
|
rts ; PRG $11A7 | CPU $D1A7 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D1 A8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d1 a8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D1A8:
|
|
bmi UpdateGameplayStateField_D1DC ; PRG $11A8 | CPU $D1A8 | 30 32
|
|
beq UpdateGameplayStateField_D1DC ; PRG $11AA | CPU $D1AA | F0 30
|
|
sta ScratchValue0 ; PRG $11AC | CPU $D1AC | 85 00
|
|
stx ScratchValue1 ; PRG $11AE | CPU $D1AE | 86 01
|
|
ldx Ram_0330 ; PRG $11B0 | CPU $D1B0 | AE 30 03
|
|
lda ScratchValue2 ; PRG $11B3 | CPU $D1B3 | A5 02
|
|
sta Ram_0331,x ; PRG $11B5 | CPU $D1B5 | 9D 31 03
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $11B8 | CPU $D1B8 | 20 4C C2
|
|
tya ; PRG $11BB | CPU $D1BB | 98
|
|
sta Ram_0331,x ; PRG $11BC | CPU $D1BC | 9D 31 03
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $11BF | CPU $D1BF | 20 4C C2
|
|
lda ScratchValue0 ; PRG $11C2 | CPU $D1C2 | A5 00
|
|
ora #$40 ; PRG $11C4 | CPU $D1C4 | 09 40
|
|
sta Ram_0331,x ; PRG $11C6 | CPU $D1C6 | 9D 31 03
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $11C9 | CPU $D1C9 | 20 4C C2
|
|
lda ScratchValue1 ; PRG $11CC | CPU $D1CC | A5 01
|
|
sta Ram_0331,x ; PRG $11CE | CPU $D1CE | 9D 31 03
|
|
jsr UpdateSideScrollingGameplay_C24C ; PRG $11D1 | CPU $D1D1 | 20 4C C2
|
|
stx Ram_0330 ; PRG $11D4 | CPU $D1D4 | 8E 30 03
|
|
lda #$00 ; PRG $11D7 | CPU $D1D7 | A9 00
|
|
sta Ram_0331,x ; PRG $11D9 | CPU $D1D9 | 9D 31 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D1 DC.
|
|
; Local behavior: Executes the decoded update gameplay state field d1 dc sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D1DC:
|
|
rts ; PRG $11DC | CPU $D1DC | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D1 DD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d1 dd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D1DD:
|
|
lda Zp_DC ; PRG $11DD | CPU $D1DD | A5 DC
|
|
bne UpdateGameplayStateField_D1FA ; PRG $11DF | CPU $D1DF | D0 19
|
|
lda PreviousControllerButtons ; PRG $11E1 | CPU $D1E1 | A5 19
|
|
and #$10 ; PRG $11E3 | CPU $D1E3 | 29 10
|
|
beq UpdateSideScrollingGameplay_D1F8 ; PRG $11E5 | CPU $D1E5 | F0 11
|
|
lda Zp_3A ; PRG $11E7 | CPU $D1E7 | A5 3A
|
|
bne UpdateSideScrollingGameplay_D1F8 ; PRG $11E9 | CPU $D1E9 | D0 0D
|
|
lda #$01 ; PRG $11EB | CPU $D1EB | A9 01
|
|
eor Zp_3B ; PRG $11ED | CPU $D1ED | 45 3B
|
|
sta Zp_3B ; PRG $11EF | CPU $D1EF | 85 3B
|
|
lda #$12 ; PRG $11F1 | CPU $D1F1 | A9 12
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $11F3 | CPU $D1F3 | 20 5B CE
|
|
lda #$01 ; PRG $11F6 | CPU $D1F6 | A9 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D1 F8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d1 f8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D1F8:
|
|
sta Zp_3A ; PRG $11F8 | CPU $D1F8 | 85 3A
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D1 FA.
|
|
; Local behavior: Executes the decoded update gameplay state field d1 fa sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D1FA:
|
|
rts ; PRG $11FA | CPU $D1FA | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D1 FB.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d1 fb sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D1FB:
|
|
lda Ram_0104 ; PRG $11FB | CPU $D1FB | AD 04 01
|
|
bne UpdateSideScrollingGameplay_D216 ; PRG $11FE | CPU $D1FE | D0 16
|
|
lda PreviousControllerButtons ; PRG $1200 | CPU $D200 | A5 19
|
|
and #$30 ; PRG $1202 | CPU $D202 | 29 30
|
|
beq UpdateSideScrollingGameplay_D210 ; PRG $1204 | CPU $D204 | F0 0A
|
|
inc Ram_0104 ; PRG $1206 | CPU $D206 | EE 04 01
|
|
lda #$02 ; PRG $1209 | CPU $D209 | A9 02
|
|
sta Zp_39 ; PRG $120B | CPU $D20B | 85 39
|
|
sta Zp_3C ; PRG $120D | CPU $D20D | 85 3C
|
|
rts ; PRG $120F | CPU $D20F | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D210.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d210 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D210:
|
|
ldx #$00 ; PRG $1210 | CPU $D210 | A2 00
|
|
lda #$F4 ; PRG $1212 | CPU $D212 | A9 F4
|
|
bne UpdateSideScrollingGameplay_D246 ; PRG $1214 | CPU $D214 | D0 30
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D216.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d216 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D216:
|
|
ldx #$00 ; PRG $1216 | CPU $D216 | A2 00
|
|
lda PreviousControllerButtons ; PRG $1218 | CPU $D218 | A5 19
|
|
and #$3C ; PRG $121A | CPU $D21A | 29 3C
|
|
beq TransformFlightState_D239 ; PRG $121C | CPU $D21C | F0 1B
|
|
inx ; PRG $121E | CPU $D21E | E8
|
|
lda Zp_3C ; PRG $121F | CPU $D21F | A5 3C
|
|
bne TransformFlightState_D239 ; PRG $1221 | CPU $D221 | D0 16
|
|
lda PreviousControllerButtons ; PRG $1223 | CPU $D223 | A5 19
|
|
and #$10 ; PRG $1225 | CPU $D225 | 29 10
|
|
bne TransformFlightState_D239 ; PRG $1227 | CPU $D227 | D0 10
|
|
lda #$3E ; PRG $1229 | CPU $D229 | A9 3E
|
|
sta Zp_E9 ; PRG $122B | CPU $D22B | 85 E9
|
|
inc Zp_30 ; PRG $122D | CPU $D22D | E6 30
|
|
lda PreviousControllerButtons ; PRG $122F | CPU $D22F | A5 19
|
|
and #$08 ; PRG $1231 | CPU $D231 | 29 08
|
|
beq TransformFlightState_D239 ; PRG $1233 | CPU $D233 | F0 04
|
|
dec Zp_30 ; PRG $1235 | CPU $D235 | C6 30
|
|
dec Zp_30 ; PRG $1237 | CPU $D237 | C6 30
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State D239.
|
|
; Local behavior: Executes the decoded transform flight state d239 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_D239:
|
|
lda Zp_30 ; PRG $1239 | CPU $D239 | A5 30
|
|
and #$03 ; PRG $123B | CPU $D23B | 29 03
|
|
sta Zp_30 ; PRG $123D | CPU $D23D | 85 30
|
|
asl a ; PRG $123F | CPU $D23F | 0A
|
|
asl a ; PRG $1240 | CPU $D240 | 0A
|
|
asl a ; PRG $1241 | CPU $D241 | 0A
|
|
asl a ; PRG $1242 | CPU $D242 | 0A
|
|
clc ; PRG $1243 | CPU $D243 | 18
|
|
adc #$58 ; PRG $1244 | CPU $D244 | 69 58
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D246.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d246 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D246:
|
|
sta Ram_02FC ; PRG $1246 | CPU $D246 | 8D FC 02
|
|
stx Zp_3C ; PRG $1249 | CPU $D249 | 86 3C
|
|
lda Zp_DD ; PRG $124B | CPU $D24B | A5 DD
|
|
bne UpdateGameplayStateField_D253 ; PRG $124D | CPU $D24D | D0 04
|
|
lda #$07 ; PRG $124F | CPU $D24F | A9 07
|
|
sta Zp_DD ; PRG $1251 | CPU $D251 | 85 DD
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D253.
|
|
; Local behavior: Executes the decoded update gameplay state field d253 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D253:
|
|
rts ; PRG $1253 | CPU $D253 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D254.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d254 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D254:
|
|
lda #$67 ; PRG $1254 | CPU $D254 | A9 67
|
|
ldx #$EC ; PRG $1256 | CPU $D256 | A2 EC
|
|
bne UpdateSideScrollingGameplay_D25E ; PRG $1258 | CPU $D258 | D0 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D25 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d25 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D25A:
|
|
lda #$E8 ; PRG $125A | CPU $D25A | A9 E8
|
|
ldx #$EA ; PRG $125C | CPU $D25C | A2 EA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D25 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d25 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D25E:
|
|
jsr UpdateSideScrollingGameplay_C0D7 ; PRG $125E | CPU $D25E | 20 D7 C0
|
|
jmp UpdateSideScrollingGameplay_D326 ; PRG $1261 | CPU $D261 | 4C 26 D3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D264.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d264 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D264:
|
|
lda #$01 ; PRG $1264 | CPU $D264 | A9 01
|
|
sta Zp_0F ; PRG $1266 | CPU $D266 | 85 0F
|
|
lda #$0B ; PRG $1268 | CPU $D268 | A9 0B
|
|
sta ScratchValue0 ; PRG $126A | CPU $D26A | 85 00
|
|
lda #$22 ; PRG $126C | CPU $D26C | A9 22
|
|
sta ScratchValue1 ; PRG $126E | CPU $D26E | 85 01
|
|
lda #$91 ; PRG $1270 | CPU $D270 | A9 91
|
|
sta ScratchValue2 ; PRG $1272 | CPU $D272 | 85 02
|
|
lda #$C8 ; PRG $1274 | CPU $D274 | A9 C8
|
|
sta ScratchIndex ; PRG $1276 | CPU $D276 | 85 03
|
|
jsr TransformFlightState_C1F8 ; PRG $1278 | CPU $D278 | 20 F8 C1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D27 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d27 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D27B:
|
|
lda #$CC ; PRG $127B | CPU $D27B | A9 CC
|
|
sta ScratchValue0 ; PRG $127D | CPU $D27D | 85 00
|
|
lda #$21 ; PRG $127F | CPU $D27F | A9 21
|
|
sta ScratchValue1 ; PRG $1281 | CPU $D281 | 85 01
|
|
lda #$7F ; PRG $1283 | CPU $D283 | A9 7F
|
|
sta ScratchValue2 ; PRG $1285 | CPU $D285 | 85 02
|
|
lda #$C8 ; PRG $1287 | CPU $D287 | A9 C8
|
|
sta ScratchIndex ; PRG $1289 | CPU $D289 | 85 03
|
|
jsr TransformFlightState_C1F8 ; PRG $128B | CPU $D28B | 20 F8 C1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D28 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d28 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D28E:
|
|
lda #$24 ; PRG $128E | CPU $D28E | A9 24
|
|
bne UpdateSideScrollingGameplay_D294 ; PRG $1290 | CPU $D290 | D0 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D292.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d292 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D292:
|
|
lda #$FF ; PRG $1292 | CPU $D292 | A9 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D294.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d294 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D294:
|
|
sta ScratchValue0 ; PRG $1294 | CPU $D294 | 85 00
|
|
lda #$01 ; PRG $1296 | CPU $D296 | A9 01
|
|
sta ScratchValue1 ; PRG $1298 | CPU $D298 | 85 01
|
|
jsr ConfigureHudAndPlayfieldPpu_C092 ; PRG $129A | CPU $D29A | 20 92 C0
|
|
lda #$02 ; PRG $129D | CPU $D29D | A9 02
|
|
sta ScratchValue1 ; PRG $129F | CPU $D29F | 85 01
|
|
jsr ConfigureHudAndPlayfieldPpu_C092 ; PRG $12A1 | CPU $D2A1 | 20 92 C0
|
|
lda Zp_0F ; PRG $12A4 | CPU $D2A4 | A5 0F
|
|
beq UpdateSideScrollingGameplay_D2AF ; PRG $12A6 | CPU $D2A6 | F0 07
|
|
lda #$57 ; PRG $12A8 | CPU $D2A8 | A9 57
|
|
ldx #$EE ; PRG $12AA | CPU $D2AA | A2 EE
|
|
jsr UpdateSideScrollingGameplay_C0D7 ; PRG $12AC | CPU $D2AC | 20 D7 C0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D2 AF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d2 af sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D2AF:
|
|
lda #$00 ; PRG $12AF | CPU $D2AF | A9 00
|
|
ldx #$06 ; PRG $12B1 | CPU $D2B1 | A2 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D2 B3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d2 b3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D2B3:
|
|
sta PpuMaskShadow,x ; PRG $12B3 | CPU $D2B3 | 95 11
|
|
dex ; PRG $12B5 | CPU $D2B5 | CA
|
|
bne UpdateSideScrollingGameplay_D2B3 ; PRG $12B6 | CPU $D2B6 | D0 FB
|
|
lda PpuControlShadow ; PRG $12B8 | CPU $D2B8 | A5 10
|
|
and #$FC ; PRG $12BA | CPU $D2BA | 29 FC
|
|
sta PpuControlShadow ; PRG $12BC | CPU $D2BC | 85 10
|
|
jsr UpdateSideScrollingGameplay_CA8E ; PRG $12BE | CPU $D2BE | 20 8E CA
|
|
jmp UpdateSideScrollingGameplay_D326 ; PRG $12C1 | CPU $D2C1 | 4C 26 D3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D2 C4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d2 c4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D2C4:
|
|
lda #$A0 ; PRG $12C4 | CPU $D2C4 | A9 A0
|
|
ldx #$EA ; PRG $12C6 | CPU $D2C6 | A2 EA
|
|
jsr UpdateSideScrollingGameplay_C0D7 ; PRG $12C8 | CPU $D2C8 | 20 D7 C0
|
|
jmp UpdateSideScrollingGameplay_D32C ; PRG $12CB | CPU $D2CB | 4C 2C D3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D2 CE.
|
|
; Local behavior: Executes the decoded update gameplay state field d2 ce sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D2CE:
|
|
rts ; PRG $12CE | CPU $D2CE | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Configure Hud And Playfield Ppu D2 CF.
|
|
; Local behavior: Executes the decoded configure hud and playfield ppu d2 cf sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
ConfigureHudAndPlayfieldPpu_D2CF:
|
|
ldx Zp_38 ; PRG $12CF | CPU $D2CF | A6 38
|
|
beq UpdateGameplayStateField_D2CE ; PRG $12D1 | CPU $D2D1 | F0 FB
|
|
lda #$00 ; PRG $12D3 | CPU $D2D3 | A9 00
|
|
sta Zp_38 ; PRG $12D5 | CPU $D2D5 | 85 38
|
|
lda PpuMaskShadow ; PRG $12D7 | CPU $D2D7 | A5 11
|
|
and #$E7 ; PRG $12D9 | CPU $D2D9 | 29 E7
|
|
sta PpuMaskShadow ; PRG $12DB | CPU $D2DB | 85 11
|
|
sta PPUMASK ; PRG $12DD | CPU $D2DD | 8D 01 20
|
|
lda #$00 ; PRG $12E0 | CPU $D2E0 | A9 00
|
|
sta Zp_0F ; PRG $12E2 | CPU $D2E2 | 85 0F
|
|
lda PpuControlShadow ; PRG $12E4 | CPU $D2E4 | A5 10
|
|
ora #$18 ; PRG $12E6 | CPU $D2E6 | 09 18
|
|
sta PpuControlShadow ; PRG $12E8 | CPU $D2E8 | 85 10
|
|
dex ; PRG $12EA | CPU $D2EA | CA
|
|
bne UpdateSideScrollingGameplay_D2F0 ; PRG $12EB | CPU $D2EB | D0 03
|
|
jmp UpdateSideScrollingGameplay_D25A ; PRG $12ED | CPU $D2ED | 4C 5A D2
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D2 F0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d2 f0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D2F0:
|
|
lda PpuControlShadow ; PRG $12F0 | CPU $D2F0 | A5 10
|
|
and #$E7 ; PRG $12F2 | CPU $D2F2 | 29 E7
|
|
sta PpuControlShadow ; PRG $12F4 | CPU $D2F4 | 85 10
|
|
dex ; PRG $12F6 | CPU $D2F6 | CA
|
|
beq UpdateSideScrollingGameplay_D27B ; PRG $12F7 | CPU $D2F7 | F0 82
|
|
dex ; PRG $12F9 | CPU $D2F9 | CA
|
|
bne UpdateSideScrollingGameplay_D2FF ; PRG $12FA | CPU $D2FA | D0 03
|
|
jmp UpdateSideScrollingGameplay_D264 ; PRG $12FC | CPU $D2FC | 4C 64 D2
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D2 FF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d2 ff sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D2FF:
|
|
dex ; PRG $12FF | CPU $D2FF | CA
|
|
beq UpdateSideScrollingGameplay_D348 ; PRG $1300 | CPU $D300 | F0 46
|
|
dex ; PRG $1302 | CPU $D302 | CA
|
|
beq UpdateSideScrollingGameplay_D331 ; PRG $1303 | CPU $D303 | F0 2C
|
|
dex ; PRG $1305 | CPU $D305 | CA
|
|
beq TransformFlightState_D382 ; PRG $1306 | CPU $D306 | F0 7A
|
|
dex ; PRG $1308 | CPU $D308 | CA
|
|
beq UpdateSideScrollingGameplay_D35E ; PRG $1309 | CPU $D309 | F0 53
|
|
dex ; PRG $130B | CPU $D30B | CA
|
|
beq UpdateSideScrollingGameplay_D28E ; PRG $130C | CPU $D30C | F0 80
|
|
dex ; PRG $130E | CPU $D30E | CA
|
|
beq UpdateSideScrollingGameplay_D2C4 ; PRG $130F | CPU $D30F | F0 B3
|
|
dex ; PRG $1311 | CPU $D311 | CA
|
|
beq UpdateSideScrollingGameplay_D378 ; PRG $1312 | CPU $D312 | F0 64
|
|
lda PpuControlShadow ; PRG $1314 | CPU $D314 | A5 10
|
|
ora #$18 ; PRG $1316 | CPU $D316 | 09 18
|
|
sta PpuControlShadow ; PRG $1318 | CPU $D318 | 85 10
|
|
dex ; PRG $131A | CPU $D31A | CA
|
|
bne UpdateSideScrollingGameplay_D320 ; PRG $131B | CPU $D31B | D0 03
|
|
jmp UpdateSideScrollingGameplay_D292 ; PRG $131D | CPU $D31D | 4C 92 D2
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D320.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d320 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D320:
|
|
dex ; PRG $1320 | CPU $D320 | CA
|
|
bne UpdateSideScrollingGameplay_D326 ; PRG $1321 | CPU $D321 | D0 03
|
|
jmp UpdateSideScrollingGameplay_D254 ; PRG $1323 | CPU $D323 | 4C 54 D2
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D326.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d326 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D326:
|
|
lda PpuMaskShadow ; PRG $1326 | CPU $D326 | A5 11
|
|
ora #$18 ; PRG $1328 | CPU $D328 | 09 18
|
|
sta PpuMaskShadow ; PRG $132A | CPU $D32A | 85 11
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D32 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d32 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D32C:
|
|
pla ; PRG $132C | CPU $D32C | 68
|
|
pla ; PRG $132D | CPU $D32D | 68
|
|
jmp UpdateSideScrollingGameplay_CADA ; PRG $132E | CPU $D32E | 4C DA CA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D331.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d331 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D331:
|
|
lda #$01 ; PRG $1331 | CPU $D331 | A9 01
|
|
sta Zp_0F ; PRG $1333 | CPU $D333 | 85 0F
|
|
lda #$0B ; PRG $1335 | CPU $D335 | A9 0B
|
|
sta ScratchValue0 ; PRG $1337 | CPU $D337 | 85 00
|
|
lda #$22 ; PRG $1339 | CPU $D339 | A9 22
|
|
sta ScratchValue1 ; PRG $133B | CPU $D33B | 85 01
|
|
lda #$91 ; PRG $133D | CPU $D33D | A9 91
|
|
sta ScratchValue2 ; PRG $133F | CPU $D33F | 85 02
|
|
lda #$C8 ; PRG $1341 | CPU $D341 | A9 C8
|
|
sta ScratchIndex ; PRG $1343 | CPU $D343 | 85 03
|
|
jsr TransformFlightState_C1F8 ; PRG $1345 | CPU $D345 | 20 F8 C1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D348.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d348 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D348:
|
|
lda #$CC ; PRG $1348 | CPU $D348 | A9 CC
|
|
sta ScratchValue0 ; PRG $134A | CPU $D34A | 85 00
|
|
lda #$21 ; PRG $134C | CPU $D34C | A9 21
|
|
sta ScratchValue1 ; PRG $134E | CPU $D34E | 85 01
|
|
lda #$88 ; PRG $1350 | CPU $D350 | A9 88
|
|
sta ScratchValue2 ; PRG $1352 | CPU $D352 | 85 02
|
|
lda #$C8 ; PRG $1354 | CPU $D354 | A9 C8
|
|
sta ScratchIndex ; PRG $1356 | CPU $D356 | 85 03
|
|
jsr TransformFlightState_C1F8 ; PRG $1358 | CPU $D358 | 20 F8 C1
|
|
jmp UpdateSideScrollingGameplay_D28E ; PRG $135B | CPU $D35B | 4C 8E D2
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D35 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d35 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D35E:
|
|
lda #$01 ; PRG $135E | CPU $D35E | A9 01
|
|
sta Zp_0F ; PRG $1360 | CPU $D360 | 85 0F
|
|
lda #$0B ; PRG $1362 | CPU $D362 | A9 0B
|
|
sta ScratchValue0 ; PRG $1364 | CPU $D364 | 85 00
|
|
lda #$22 ; PRG $1366 | CPU $D366 | A9 22
|
|
sta ScratchValue1 ; PRG $1368 | CPU $D368 | 85 01
|
|
lda #$91 ; PRG $136A | CPU $D36A | A9 91
|
|
sta ScratchValue2 ; PRG $136C | CPU $D36C | 85 02
|
|
lda #$C8 ; PRG $136E | CPU $D36E | A9 C8
|
|
sta ScratchIndex ; PRG $1370 | CPU $D370 | 85 03
|
|
jsr TransformFlightState_C1F8 ; PRG $1372 | CPU $D372 | 20 F8 C1
|
|
jmp UpdateSideScrollingGameplay_D28E ; PRG $1375 | CPU $D375 | 4C 8E D2
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D378.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d378 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D378:
|
|
lda #$02 ; PRG $1378 | CPU $D378 | A9 02
|
|
ldx #$EE ; PRG $137A | CPU $D37A | A2 EE
|
|
jsr UpdateSideScrollingGameplay_C0D7 ; PRG $137C | CPU $D37C | 20 D7 C0
|
|
jmp UpdateSideScrollingGameplay_D326 ; PRG $137F | CPU $D37F | 4C 26 D3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State D382.
|
|
; Local behavior: Executes the decoded transform flight state d382 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_D382:
|
|
lda #$0A ; PRG $1382 | CPU $D382 | A9 0A
|
|
ldx #$EA ; PRG $1384 | CPU $D384 | A2 EA
|
|
jsr UpdateSideScrollingGameplay_C0D7 ; PRG $1386 | CPU $D386 | 20 D7 C0
|
|
lda #$00 ; PRG $1389 | CPU $D389 | A9 00
|
|
sta ScratchValue2 ; PRG $138B | CPU $D38B | 85 02
|
|
ldx Zp_32 ; PRG $138D | CPU $D38D | A6 32
|
|
lda Zp_5C,x ; PRG $138F | CPU $D38F | B5 5C
|
|
beq UpdateSideScrollingGameplay_D3AC ; PRG $1391 | CPU $D391 | F0 19
|
|
eor #$FF ; PRG $1393 | CPU $D393 | 49 FF
|
|
clc ; PRG $1395 | CPU $D395 | 18
|
|
adc #$09 ; PRG $1396 | CPU $D396 | 69 09
|
|
asl a ; PRG $1398 | CPU $D398 | 0A
|
|
rol ScratchValue2 ; PRG $1399 | CPU $D399 | 26 02
|
|
asl a ; PRG $139B | CPU $D39B | 0A
|
|
rol ScratchValue2 ; PRG $139C | CPU $D39C | 26 02
|
|
clc ; PRG $139E | CPU $D39E | 18
|
|
adc #$C7 ; PRG $139F | CPU $D39F | 69 C7
|
|
sta ScratchValue0 ; PRG $13A1 | CPU $D3A1 | 85 00
|
|
lda ScratchValue2 ; PRG $13A3 | CPU $D3A3 | A5 02
|
|
adc #$EA ; PRG $13A5 | CPU $D3A5 | 69 EA
|
|
sta ScratchValue1 ; PRG $13A7 | CPU $D3A7 | 85 01
|
|
jsr FinishHudPlayfieldUploadAndResetScroll ; PRG $13A9 | CPU $D3A9 | 20 20 C1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D3 AC.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d3 ac sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D3AC:
|
|
ldx Zp_32 ; PRG $13AC | CPU $D3AC | A6 32
|
|
lda Zp_5E,x ; PRG $13AE | CPU $D3AE | B5 5E
|
|
cmp #$04 ; PRG $13B0 | CPU $D3B0 | C9 04
|
|
bcs UpdateSideScrollingGameplay_D3BE ; PRG $13B2 | CPU $D3B2 | B0 0A
|
|
lda #$66 ; PRG $13B4 | CPU $D3B4 | A9 66
|
|
ldx #$EE ; PRG $13B6 | CPU $D3B6 | A2 EE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D3 B8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d3 b8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D3B8:
|
|
jsr UpdateSideScrollingGameplay_C0D7 ; PRG $13B8 | CPU $D3B8 | 20 D7 C0
|
|
jmp UpdateSideScrollingGameplay_D326 ; PRG $13BB | CPU $D3BB | 4C 26 D3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D3 BE.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d3 be sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D3BE:
|
|
lda #$14 ; PRG $13BE | CPU $D3BE | A9 14
|
|
ldx #$EF ; PRG $13C0 | CPU $D3C0 | A2 EF
|
|
bne UpdateSideScrollingGameplay_D3B8 ; PRG $13C2 | CPU $D3C2 | D0 F4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D3 C4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d3 c4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D3C4:
|
|
lda HorizontalScroll ; PRG $13C4 | CPU $D3C4 | A5 12
|
|
cmp Zp_BA ; PRG $13C6 | CPU $D3C6 | C5 BA
|
|
sta Zp_BA ; PRG $13C8 | CPU $D3C8 | 85 BA
|
|
beq UpdateSideScrollingGameplay_D3EF ; PRG $13CA | CPU $D3CA | F0 23
|
|
and #$FF ; PRG $13CC | CPU $D3CC | 29 FF
|
|
beq UpdateSideScrollingGameplay_D436 ; PRG $13CE | CPU $D3CE | F0 66
|
|
lda VerticalScroll ; PRG $13D0 | CPU $D3D0 | A5 13
|
|
bpl UpdateSideScrollingGameplay_D43A ; PRG $13D2 | CPU $D3D2 | 10 66
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D3 D4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d3 d4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D3D4:
|
|
lda Zp_BB ; PRG $13D4 | CPU $D3D4 | A5 BB
|
|
eor #$01 ; PRG $13D6 | CPU $D3D6 | 49 01
|
|
sta Zp_BB ; PRG $13D8 | CPU $D3D8 | 85 BB
|
|
bne UpdateSideScrollingGameplay_D43D ; PRG $13DA | CPU $D3DA | D0 61
|
|
lda #$7A ; PRG $13DC | CPU $D3DC | A9 7A
|
|
sta ScratchValue2 ; PRG $13DE | CPU $D3DE | 85 02
|
|
lda #$C8 ; PRG $13E0 | CPU $D3E0 | A9 C8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D3 E2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d3 e2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D3E2:
|
|
sta ScratchIndex ; PRG $13E2 | CPU $D3E2 | 85 03
|
|
lda #$25 ; PRG $13E4 | CPU $D3E4 | A9 25
|
|
sta ScratchValue1 ; PRG $13E6 | CPU $D3E6 | 85 01
|
|
lda #$6F ; PRG $13E8 | CPU $D3E8 | A9 6F
|
|
sta ScratchValue0 ; PRG $13EA | CPU $D3EA | 85 00
|
|
jsr TransformFlightState_C1F8 ; PRG $13EC | CPU $D3EC | 20 F8 C1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D3 EF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d3 ef sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D3EF:
|
|
lda Zp_BB ; PRG $13EF | CPU $D3EF | A5 BB
|
|
beq UpdateGameplayStateField_D435 ; PRG $13F1 | CPU $D3F1 | F0 42
|
|
sec ; PRG $13F3 | CPU $D3F3 | 38
|
|
lda #$74 ; PRG $13F4 | CPU $D3F4 | A9 74
|
|
sbc VerticalScroll ; PRG $13F6 | CPU $D3F6 | E5 13
|
|
sta ScratchValue0 ; PRG $13F8 | CPU $D3F8 | 85 00
|
|
lda #$01 ; PRG $13FA | CPU $D3FA | A9 01
|
|
sbc HorizontalScroll ; PRG $13FC | CPU $D3FC | E5 12
|
|
bne UpdateGameplayStateField_D435 ; PRG $13FE | CPU $D3FE | D0 35
|
|
lda Ram_03C3 ; PRG $1400 | CPU $D400 | AD C3 03
|
|
sec ; PRG $1403 | CPU $D403 | 38
|
|
sbc ScratchValue0 ; PRG $1404 | CPU $D404 | E5 00
|
|
bcs CalculateMovementAndClamp_D40D ; PRG $1406 | CPU $D406 | B0 05
|
|
eor #$FF ; PRG $1408 | CPU $D408 | 49 FF
|
|
clc ; PRG $140A | CPU $D40A | 18
|
|
adc #$01 ; PRG $140B | CPU $D40B | 69 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D40 D.
|
|
; Local behavior: Executes the decoded calculate and clamp value d40 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D40D:
|
|
cmp #$08 ; PRG $140D | CPU $D40D | C9 08
|
|
bcs UpdateGameplayStateField_D435 ; PRG $140F | CPU $D40F | B0 24
|
|
lda Ram_03C1 ; PRG $1411 | CPU $D411 | AD C1 03
|
|
sec ; PRG $1414 | CPU $D414 | 38
|
|
sbc #$5B ; PRG $1415 | CPU $D415 | E9 5B
|
|
bcs UpdateSideScrollingGameplay_D41E ; PRG $1417 | CPU $D417 | B0 05
|
|
eor #$FF ; PRG $1419 | CPU $D419 | 49 FF
|
|
clc ; PRG $141B | CPU $D41B | 18
|
|
adc #$01 ; PRG $141C | CPU $D41C | 69 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D41 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d41 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D41E:
|
|
cmp #$05 ; PRG $141E | CPU $D41E | C9 05
|
|
bcs UpdateGameplayStateField_D435 ; PRG $1420 | CPU $D420 | B0 13
|
|
lda Ram_03C0 ; PRG $1422 | CPU $D422 | AD C0 03
|
|
bne UpdateGameplayStateField_D435 ; PRG $1425 | CPU $D425 | D0 0E
|
|
ldy #$10 ; PRG $1427 | CPU $D427 | A0 10
|
|
jsr UpdateSideScrollingGameplay_D6CC ; PRG $1429 | CPU $D429 | 20 CC D6
|
|
lda #$00 ; PRG $142C | CPU $D42C | A9 00
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $142E | CPU $D42E | 20 5B CE
|
|
lda #$80 ; PRG $1431 | CPU $D431 | A9 80
|
|
sta Zp_DC ; PRG $1433 | CPU $D433 | 85 DC
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D435.
|
|
; Local behavior: Executes the decoded update gameplay state field d435 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D435:
|
|
rts ; PRG $1435 | CPU $D435 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D436.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d436 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D436:
|
|
lda VerticalScroll ; PRG $1436 | CPU $D436 | A5 13
|
|
bpl UpdateSideScrollingGameplay_D3D4 ; PRG $1438 | CPU $D438 | 10 9A
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D43 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d43 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D43A:
|
|
jmp UpdateSideScrollingGameplay_D3EF ; PRG $143A | CPU $D43A | 4C EF D3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D43 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d43 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D43D:
|
|
lda #$75 ; PRG $143D | CPU $D43D | A9 75
|
|
sta ScratchValue2 ; PRG $143F | CPU $D43F | 85 02
|
|
lda #$C8 ; PRG $1441 | CPU $D441 | A9 C8
|
|
jmp UpdateSideScrollingGameplay_D3E2 ; PRG $1443 | CPU $D443 | 4C E2 D3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D446.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d446 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D446:
|
|
jmp UpdateSideScrollingGameplay_D3C4 ; PRG $1446 | CPU $D446 | 4C C4 D3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D449.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d449 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D449:
|
|
lda Zp_DC ; PRG $1449 | CPU $D449 | A5 DC
|
|
beq UpdateSideScrollingGameplay_D446 ; PRG $144B | CPU $D44B | F0 F9
|
|
cmp #$01 ; PRG $144D | CPU $D44D | C9 01
|
|
bne UpdateSideScrollingGameplay_D457 ; PRG $144F | CPU $D44F | D0 06
|
|
lda PpuMaskShadow ; PRG $1451 | CPU $D451 | A5 11
|
|
ora #$18 ; PRG $1453 | CPU $D453 | 09 18
|
|
sta PpuMaskShadow ; PRG $1455 | CPU $D455 | 85 11
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D457.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d457 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D457:
|
|
cmp #$40 ; PRG $1457 | CPU $D457 | C9 40
|
|
bne UpdateSideScrollingGameplay_D4D0 ; PRG $1459 | CPU $D459 | D0 75
|
|
lda PpuMaskShadow ; PRG $145B | CPU $D45B | A5 11
|
|
and #$E7 ; PRG $145D | CPU $D45D | 29 E7
|
|
sta PpuMaskShadow ; PRG $145F | CPU $D45F | 85 11
|
|
lda PpuControlShadow ; PRG $1461 | CPU $D461 | A5 10
|
|
and #$FE ; PRG $1463 | CPU $D463 | 29 FE
|
|
sta PpuControlShadow ; PRG $1465 | CPU $D465 | 85 10
|
|
lda #$00 ; PRG $1467 | CPU $D467 | A9 00
|
|
ldx #$05 ; PRG $1469 | CPU $D469 | A2 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D46 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d46 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D46B:
|
|
sta HorizontalScroll,x ; PRG $146B | CPU $D46B | 95 12
|
|
dex ; PRG $146D | CPU $D46D | CA
|
|
bpl UpdateSideScrollingGameplay_D46B ; PRG $146E | CPU $D46E | 10 FB
|
|
sta Ram_03D3 ; PRG $1470 | CPU $D470 | 8D D3 03
|
|
sta Ram_03D4 ; PRG $1473 | CPU $D473 | 8D D4 03
|
|
sta Ram_03C4 ; PRG $1476 | CPU $D476 | 8D C4 03
|
|
ldx #$24 ; PRG $1479 | CPU $D479 | A2 24
|
|
lda Ram_03C8 ; PRG $147B | CPU $D47B | AD C8 03
|
|
and #$10 ; PRG $147E | CPU $D47E | 29 10
|
|
beq UpdateSideScrollingGameplay_D484 ; PRG $1480 | CPU $D480 | F0 02
|
|
ldx #$C4 ; PRG $1482 | CPU $D482 | A2 C4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D484.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d484 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D484:
|
|
stx Ram_03C3 ; PRG $1484 | CPU $D484 | 8E C3 03
|
|
lda #$F4 ; PRG $1487 | CPU $D487 | A9 F4
|
|
sta Ram_03E0 ; PRG $1489 | CPU $D489 | 8D E0 03
|
|
sta Ram_03F0 ; PRG $148C | CPU $D48C | 8D F0 03
|
|
sta Ram_0680 ; PRG $148F | CPU $D48F | 8D 80 06
|
|
sta Ram_06A0 ; PRG $1492 | CPU $D492 | 8D A0 06
|
|
sta Ram_06C0 ; PRG $1495 | CPU $D495 | 8D C0 06
|
|
sta Ram_06E0 ; PRG $1498 | CPU $D498 | 8D E0 06
|
|
jsr UpdateSideScrollingGameplay_D072 ; PRG $149B | CPU $D49B | 20 72 D0
|
|
lda #$09 ; PRG $149E | CPU $D49E | A9 09
|
|
sta Zp_38 ; PRG $14A0 | CPU $D4A0 | 85 38
|
|
lda #$00 ; PRG $14A2 | CPU $D4A2 | A9 00
|
|
sta Zp_A1 ; PRG $14A4 | CPU $D4A4 | 85 A1
|
|
lda #$00 ; PRG $14A6 | CPU $D4A6 | A9 00
|
|
sta ScratchValue0 ; PRG $14A8 | CPU $D4A8 | 85 00
|
|
lda #$04 ; PRG $14AA | CPU $D4AA | A9 04
|
|
sta ScratchValue1 ; PRG $14AC | CPU $D4AC | 85 01
|
|
ldx #$14 ; PRG $14AE | CPU $D4AE | A2 14
|
|
ldy #$00 ; PRG $14B0 | CPU $D4B0 | A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D4 B2.
|
|
; Local behavior: Executes the decoded calculate and clamp value d4 b2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D4B2:
|
|
lda (ScratchValue0),y ; PRG $14B2 | CPU $D4B2 | B1 00
|
|
cmp #$F4 ; PRG $14B4 | CPU $D4B4 | C9 F4
|
|
beq UpdateSideScrollingGameplay_D4C3 ; PRG $14B6 | CPU $D4B6 | F0 0B
|
|
clc ; PRG $14B8 | CPU $D4B8 | 18
|
|
adc #$02 ; PRG $14B9 | CPU $D4B9 | 69 02
|
|
cmp #$05 ; PRG $14BB | CPU $D4BB | C9 05
|
|
bcc UpdateSideScrollingGameplay_D4C1 ; PRG $14BD | CPU $D4BD | 90 02
|
|
sbc #$05 ; PRG $14BF | CPU $D4BF | E9 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D4 C1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d4 c1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D4C1:
|
|
sta (ScratchValue0),y ; PRG $14C1 | CPU $D4C1 | 91 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D4 C3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d4 c3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D4C3:
|
|
jsr UpdateSideScrollingGameplay_DB1D ; PRG $14C3 | CPU $D4C3 | 20 1D DB
|
|
dex ; PRG $14C6 | CPU $D4C6 | CA
|
|
bne CalculateMovementAndClamp_D4B2 ; PRG $14C7 | CPU $D4C7 | D0 E9
|
|
inc Zp_A2 ; PRG $14C9 | CPU $D4C9 | E6 A2
|
|
pla ; PRG $14CB | CPU $D4CB | 68
|
|
pla ; PRG $14CC | CPU $D4CC | 68
|
|
jmp UpdateSideScrollingGameplay_CB61 ; PRG $14CD | CPU $D4CD | 4C 61 CB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D4 D0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d4 d0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D4D0:
|
|
ldy #$0F ; PRG $14D0 | CPU $D4D0 | A0 0F
|
|
cmp #$3F ; PRG $14D2 | CPU $D4D2 | C9 3F
|
|
bne UpdateSideScrollingGameplay_D4D9 ; PRG $14D4 | CPU $D4D4 | D0 03
|
|
jsr UpdateSideScrollingGameplay_D6CC ; PRG $14D6 | CPU $D4D6 | 20 CC D6
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D4 D9.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d4 d9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D4D9:
|
|
cmp #$19 ; PRG $14D9 | CPU $D4D9 | C9 19
|
|
bne UpdateSideScrollingGameplay_D4E0 ; PRG $14DB | CPU $D4DB | D0 03
|
|
jsr UpdateSideScrollingGameplay_D17B ; PRG $14DD | CPU $D4DD | 20 7B D1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D4 E0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d4 e0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D4E0:
|
|
pla ; PRG $14E0 | CPU $D4E0 | 68
|
|
pla ; PRG $14E1 | CPU $D4E1 | 68
|
|
jsr UpdateSideScrollingGameplay_C139 ; PRG $14E2 | CPU $D4E2 | 20 39 C1
|
|
jmp UpdateSideScrollingGameplay_CB61 ; PRG $14E5 | CPU $D4E5 | 4C 61 CB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D4 E8.
|
|
; Local behavior: Executes the decoded update gameplay state field d4 e8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D4E8:
|
|
rts ; PRG $14E8 | CPU $D4E8 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D4 E9.
|
|
; Local behavior: Executes the decoded calculate and clamp value d4 e9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D4E9:
|
|
lda Zp_EC ; PRG $14E9 | CPU $D4E9 | A5 EC
|
|
ldx Zp_32 ; PRG $14EB | CPU $D4EB | A6 32
|
|
ldy Zp_58,x ; PRG $14ED | CPU $D4ED | B4 58
|
|
cmp GameplayConstantData_C8F7,y ; PRG $14EF | CPU $D4EF | D9 F7 C8
|
|
bcs UpdateGameplayStateField_D4E8 ; PRG $14F2 | CPU $D4F2 | B0 F4
|
|
lda Zp_DF ; PRG $14F4 | CPU $D4F4 | A5 DF
|
|
bne UpdateGameplayStateField_D4E8 ; PRG $14F6 | CPU $D4F6 | D0 F0
|
|
lda #$20 ; PRG $14F8 | CPU $D4F8 | A9 20
|
|
sta Zp_DF ; PRG $14FA | CPU $D4FA | 85 DF
|
|
lda Zp_1D ; PRG $14FC | CPU $D4FC | A5 1D
|
|
ldx Zp_32 ; PRG $14FE | CPU $D4FE | A6 32
|
|
ldy Zp_58,x ; PRG $1500 | CPU $D500 | B4 58
|
|
cmp GameplayConstantData_C8FF,y ; PRG $1502 | CPU $D502 | D9 FF C8
|
|
bcs UpdateGameplayStateField_D4E8 ; PRG $1505 | CPU $D505 | B0 E1
|
|
jsr UpdateSideScrollingGameplay_D6ED ; PRG $1507 | CPU $D507 | 20 ED D6
|
|
pha ; PRG $150A | CPU $D50A | 48
|
|
jsr UpdateSideScrollingGameplay_D6FB ; PRG $150B | CPU $D50B | 20 FB D6
|
|
sta ScratchValue0 ; PRG $150E | CPU $D50E | 85 00
|
|
pla ; PRG $1510 | CPU $D510 | 68
|
|
clc ; PRG $1511 | CPU $D511 | 18
|
|
adc ScratchValue0 ; PRG $1512 | CPU $D512 | 65 00
|
|
ldx Zp_32 ; PRG $1514 | CPU $D514 | A6 32
|
|
ldy Zp_58,x ; PRG $1516 | CPU $D516 | B4 58
|
|
cmp GameplayConstantData_C8FB,y ; PRG $1518 | CPU $D518 | D9 FB C8
|
|
bcs UpdateGameplayStateField_D4E8 ; PRG $151B | CPU $D51B | B0 CB
|
|
lda Zp_1E ; PRG $151D | CPU $D51D | A5 1E
|
|
cmp #$71 ; PRG $151F | CPU $D51F | C9 71
|
|
bcc UpdateSideScrollingGameplay_D58B ; PRG $1521 | CPU $D521 | 90 68
|
|
cmp #$C6 ; PRG $1523 | CPU $D523 | C9 C6
|
|
bcc UpdateSideScrollingGameplay_D583 ; PRG $1525 | CPU $D525 | 90 5C
|
|
lda Ram_05E0 ; PRG $1527 | CPU $D527 | AD E0 05
|
|
cmp #$F4 ; PRG $152A | CPU $D52A | C9 F4
|
|
bne UpdateGameplayStateField_D4E8 ; PRG $152C | CPU $D52C | D0 BA
|
|
lda Ram_0600 ; PRG $152E | CPU $D52E | AD 00 06
|
|
cmp #$F4 ; PRG $1531 | CPU $D531 | C9 F4
|
|
bne UpdateGameplayStateField_D4E8 ; PRG $1533 | CPU $D533 | D0 B3
|
|
lda Zp_58,x ; PRG $1535 | CPU $D535 | B5 58
|
|
cmp #$02 ; PRG $1537 | CPU $D537 | C9 02
|
|
bcc UpdateGameplayStateField_D4E8 ; PRG $1539 | CPU $D539 | 90 AD
|
|
ldx #$01 ; PRG $153B | CPU $D53B | A2 01
|
|
lda Ram_03C8 ; PRG $153D | CPU $D53D | AD C8 03
|
|
and #$10 ; PRG $1540 | CPU $D540 | 29 10
|
|
beq UpdateFlyingEntity_D546 ; PRG $1542 | CPU $D542 | F0 02
|
|
ldx #$04 ; PRG $1544 | CPU $D544 | A2 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Flying Entity D546.
|
|
; Local behavior: Executes the decoded update flying entity d546 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateFlyingEntity_D546:
|
|
stx Ram_05E0 ; PRG $1546 | CPU $D546 | 8E E0 05
|
|
stx Ram_0600 ; PRG $1549 | CPU $D549 | 8E 00 06
|
|
lda #$80 ; PRG $154C | CPU $D54C | A9 80
|
|
sta Ram_05E1 ; PRG $154E | CPU $D54E | 8D E1 05
|
|
sta Ram_05E2 ; PRG $1551 | CPU $D551 | 8D E2 05
|
|
sta Ram_05E3 ; PRG $1554 | CPU $D554 | 8D E3 05
|
|
sta Ram_05E4 ; PRG $1557 | CPU $D557 | 8D E4 05
|
|
lda #$98 ; PRG $155A | CPU $D55A | A9 98
|
|
sta Ram_0601 ; PRG $155C | CPU $D55C | 8D 01 06
|
|
sta Ram_0602 ; PRG $155F | CPU $D55F | 8D 02 06
|
|
sta Ram_0603 ; PRG $1562 | CPU $D562 | 8D 03 06
|
|
sta Ram_0604 ; PRG $1565 | CPU $D565 | 8D 04 06
|
|
lda #$00 ; PRG $1568 | CPU $D568 | A9 00
|
|
sta Ram_05F1 ; PRG $156A | CPU $D56A | 8D F1 05
|
|
sta Ram_05F2 ; PRG $156D | CPU $D56D | 8D F2 05
|
|
sta Ram_05F3 ; PRG $1570 | CPU $D570 | 8D F3 05
|
|
sta Ram_05F4 ; PRG $1573 | CPU $D573 | 8D F4 05
|
|
sta Ram_0611 ; PRG $1576 | CPU $D576 | 8D 11 06
|
|
sta Ram_0612 ; PRG $1579 | CPU $D579 | 8D 12 06
|
|
sta Ram_0613 ; PRG $157C | CPU $D57C | 8D 13 06
|
|
sta Ram_0614 ; PRG $157F | CPU $D57F | 8D 14 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D582.
|
|
; Local behavior: Executes the decoded update gameplay state field d582 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D582:
|
|
rts ; PRG $1582 | CPU $D582 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D583.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d583 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D583:
|
|
ldx #$0A ; PRG $1583 | CPU $D583 | A2 0A
|
|
lda Ram_0540 ; PRG $1585 | CPU $D585 | AD 40 05
|
|
jmp CalculateMovementAndClamp_D59C ; PRG $1588 | CPU $D588 | 4C 9C D5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D58 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d58 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D58B:
|
|
lda Zp_1E ; PRG $158B | CPU $D58B | A5 1E
|
|
ldx #$11 ; PRG $158D | CPU $D58D | A2 11
|
|
ldy #$00 ; PRG $158F | CPU $D58F | A0 00
|
|
and #$01 ; PRG $1591 | CPU $D591 | 29 01
|
|
beq UpdateSideScrollingGameplay_D599 ; PRG $1593 | CPU $D593 | F0 04
|
|
ldx #$12 ; PRG $1595 | CPU $D595 | A2 12
|
|
ldy #$20 ; PRG $1597 | CPU $D597 | A0 20
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D599.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d599 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D599:
|
|
lda Ram_0620,y ; PRG $1599 | CPU $D599 | B9 20 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D59 C.
|
|
; Local behavior: Executes the decoded calculate and clamp value d59 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D59C:
|
|
cmp #$F4 ; PRG $159C | CPU $D59C | C9 F4
|
|
bne UpdateGameplayStateField_D582 ; PRG $159E | CPU $D59E | D0 E2
|
|
stx ScratchValue2 ; PRG $15A0 | CPU $D5A0 | 86 02
|
|
lda Zp_1F ; PRG $15A2 | CPU $D5A2 | A5 1F
|
|
cmp #$48 ; PRG $15A4 | CPU $D5A4 | C9 48
|
|
bcs CalculateMovementAndClamp_D5AA ; PRG $15A6 | CPU $D5A6 | B0 02
|
|
adc #$48 ; PRG $15A8 | CPU $D5A8 | 69 48
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D5 AA.
|
|
; Local behavior: Executes the decoded calculate and clamp value d5 aa sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D5AA:
|
|
cmp #$B8 ; PRG $15AA | CPU $D5AA | C9 B8
|
|
bcc UpdateSideScrollingGameplay_D5B0 ; PRG $15AC | CPU $D5AC | 90 02
|
|
adc #$B8 ; PRG $15AE | CPU $D5AE | 69 B8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D5 B0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d5 b0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D5B0:
|
|
bpl UpdateSideScrollingGameplay_D5D8 ; PRG $15B0 | CPU $D5B0 | 10 26
|
|
ldx Ram_03C1 ; PRG $15B2 | CPU $D5B2 | AE C1 03
|
|
bpl UpdateSideScrollingGameplay_D5DD ; PRG $15B5 | CPU $D5B5 | 10 26
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D5 B7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d5 b7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D5B7:
|
|
eor #$FF ; PRG $15B7 | CPU $D5B7 | 49 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D5 B9.
|
|
; Local behavior: Executes the decoded calculate and clamp value d5 b9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D5B9:
|
|
sta ScratchIndex ; PRG $15B9 | CPU $D5B9 | 85 03
|
|
lda Zp_20 ; PRG $15BB | CPU $D5BB | A5 20
|
|
cmp #$20 ; PRG $15BD | CPU $D5BD | C9 20
|
|
bcs CalculateMovementAndClamp_D5C3 ; PRG $15BF | CPU $D5BF | B0 02
|
|
adc #$20 ; PRG $15C1 | CPU $D5C1 | 69 20
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D5 C3.
|
|
; Local behavior: Executes the decoded calculate and clamp value d5 c3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D5C3:
|
|
cmp #$E0 ; PRG $15C3 | CPU $D5C3 | C9 E0
|
|
bcc UpdateSideScrollingGameplay_D5C9 ; PRG $15C5 | CPU $D5C5 | 90 02
|
|
adc #$E0 ; PRG $15C7 | CPU $D5C7 | 69 E0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D5 C9.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d5 c9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D5C9:
|
|
bpl UpdateSideScrollingGameplay_D5E0 ; PRG $15C9 | CPU $D5C9 | 10 15
|
|
ldx Ram_03C3 ; PRG $15CB | CPU $D5CB | AE C3 03
|
|
bpl UpdateSideScrollingGameplay_D5E5 ; PRG $15CE | CPU $D5CE | 10 15
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D5 D0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d5 d0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D5D0:
|
|
eor #$FF ; PRG $15D0 | CPU $D5D0 | 49 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D5 D2.
|
|
; Local behavior: Executes the decoded update gameplay state field d5 d2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D5D2:
|
|
sta DataPointerLo ; PRG $15D2 | CPU $D5D2 | 85 04
|
|
jsr UpdateSideScrollingGameplay_DAD9 ; PRG $15D4 | CPU $D5D4 | 20 D9 DA
|
|
rts ; PRG $15D7 | CPU $D5D7 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D5 D8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d5 d8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D5D8:
|
|
ldx Ram_03C1 ; PRG $15D8 | CPU $D5D8 | AE C1 03
|
|
bpl UpdateSideScrollingGameplay_D5B7 ; PRG $15DB | CPU $D5DB | 10 DA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D5 DD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d5 dd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D5DD:
|
|
jmp CalculateMovementAndClamp_D5B9 ; PRG $15DD | CPU $D5DD | 4C B9 D5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D5 E0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d5 e0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D5E0:
|
|
ldx Ram_03C3 ; PRG $15E0 | CPU $D5E0 | AE C3 03
|
|
bpl UpdateSideScrollingGameplay_D5D0 ; PRG $15E3 | CPU $D5E3 | 10 EB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D5 E5.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d5 e5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D5E5:
|
|
jmp UpdateGameplayStateField_D5D2 ; PRG $15E5 | CPU $D5E5 | 4C D2 D5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D5 E8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d5 e8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D5E8:
|
|
lda Zp_B9 ; PRG $15E8 | CPU $D5E8 | A5 B9
|
|
bne UpdateSideScrollingGameplay_D655 ; PRG $15EA | CPU $D5EA | D0 69
|
|
ldx Zp_32 ; PRG $15EC | CPU $D5EC | A6 32
|
|
lda PreviousControllerButtons,x ; PRG $15EE | CPU $D5EE | B5 19
|
|
and #$40 ; PRG $15F0 | CPU $D5F0 | 29 40
|
|
beq UpdateGameplayStateField_D63E ; PRG $15F2 | CPU $D5F2 | F0 4A
|
|
lda Zp_3D ; PRG $15F4 | CPU $D5F4 | A5 3D
|
|
bne UpdateGameplayStateField_D63E ; PRG $15F6 | CPU $D5F6 | D0 46
|
|
lda Zp_56,x ; PRG $15F8 | CPU $D5F8 | B5 56
|
|
beq UpdateGameplayStateField_D63E ; PRG $15FA | CPU $D5FA | F0 42
|
|
dec Zp_56,x ; PRG $15FC | CPU $D5FC | D6 56
|
|
lda #$00 ; PRG $15FE | CPU $D5FE | A9 00
|
|
sta Zp_B7 ; PRG $1600 | CPU $D600 | 85 B7
|
|
lda #$04 ; PRG $1602 | CPU $D602 | A9 04
|
|
sta Zp_B8 ; PRG $1604 | CPU $D604 | 85 B8
|
|
lda #$13 ; PRG $1606 | CPU $D606 | A9 13
|
|
sta Zp_B9 ; PRG $1608 | CPU $D608 | 85 B9
|
|
lda Zp_A1 ; PRG $160A | CPU $D60A | A5 A1
|
|
bne UpdateSideScrollingGameplay_D632 ; PRG $160C | CPU $D60C | D0 24
|
|
lda #$CD ; PRG $160E | CPU $D60E | A9 CD
|
|
sta ScratchValue2 ; PRG $1610 | CPU $D610 | 85 02
|
|
lda #$C6 ; PRG $1612 | CPU $D612 | A9 C6
|
|
sta ScratchIndex ; PRG $1614 | CPU $D614 | 85 03
|
|
lda #$20 ; PRG $1616 | CPU $D616 | A9 20
|
|
sta ScratchValue1 ; PRG $1618 | CPU $D618 | 85 01
|
|
lda Zp_32 ; PRG $161A | CPU $D61A | A5 32
|
|
bne UpdateSideScrollingGameplay_D641 ; PRG $161C | CPU $D61C | D0 23
|
|
lda #$83 ; PRG $161E | CPU $D61E | A9 83
|
|
sta ScratchValue0 ; PRG $1620 | CPU $D620 | 85 00
|
|
jsr TransformFlightState_C1F8 ; PRG $1622 | CPU $D622 | 20 F8 C1
|
|
lda #$20 ; PRG $1625 | CPU $D625 | A9 20
|
|
sta ScratchValue2 ; PRG $1627 | CPU $D627 | 85 02
|
|
ldy #$83 ; PRG $1629 | CPU $D629 | A0 83
|
|
ldx #$3D ; PRG $162B | CPU $D62B | A2 3D
|
|
lda Zp_56 ; PRG $162D | CPU $D62D | A5 56
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D62 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d62 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D62F:
|
|
jsr UpdateSideScrollingGameplay_D1A8 ; PRG $162F | CPU $D62F | 20 A8 D1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D632.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d632 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D632:
|
|
lda #$0E ; PRG $1632 | CPU $D632 | A9 0E
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $1634 | CPU $D634 | 20 5B CE
|
|
ldy #$30 ; PRG $1637 | CPU $D637 | A0 30
|
|
jsr UpdateGameplayStateField_D6EA ; PRG $1639 | CPU $D639 | 20 EA D6
|
|
lda #$01 ; PRG $163C | CPU $D63C | A9 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D63 E.
|
|
; Local behavior: Executes the decoded update gameplay state field d63 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D63E:
|
|
sta Zp_3D ; PRG $163E | CPU $D63E | 85 3D
|
|
rts ; PRG $1640 | CPU $D640 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D641.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d641 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D641:
|
|
lda #$98 ; PRG $1641 | CPU $D641 | A9 98
|
|
sta ScratchValue0 ; PRG $1643 | CPU $D643 | 85 00
|
|
jsr TransformFlightState_C1F8 ; PRG $1645 | CPU $D645 | 20 F8 C1
|
|
lda #$20 ; PRG $1648 | CPU $D648 | A9 20
|
|
sta ScratchValue2 ; PRG $164A | CPU $D64A | 85 02
|
|
ldy #$98 ; PRG $164C | CPU $D64C | A0 98
|
|
ldx #$3D ; PRG $164E | CPU $D64E | A2 3D
|
|
lda Zp_57 ; PRG $1650 | CPU $D650 | A5 57
|
|
jmp UpdateSideScrollingGameplay_D62F ; PRG $1652 | CPU $D652 | 4C 2F D6
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D655.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d655 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D655:
|
|
lda Zp_DB ; PRG $1655 | CPU $D655 | A5 DB
|
|
bne UpdateGameplayStateField_D63E ; PRG $1657 | CPU $D657 | D0 E5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D659.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d659 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D659:
|
|
ldy #$00 ; PRG $1659 | CPU $D659 | A0 00
|
|
lda (Zp_B7),y ; PRG $165B | CPU $D65B | B1 B7
|
|
bne UpdateSideScrollingGameplay_D6BA ; PRG $165D | CPU $D65D | D0 5B
|
|
lda #$F4 ; PRG $165F | CPU $D65F | A9 F4
|
|
sta (Zp_B7),y ; PRG $1661 | CPU $D661 | 91 B7
|
|
iny ; PRG $1663 | CPU $D663 | C8
|
|
lda (Zp_B7),y ; PRG $1664 | CPU $D664 | B1 B7
|
|
sta Zp_A4 ; PRG $1666 | CPU $D666 | 85 A4
|
|
ldy #$03 ; PRG $1668 | CPU $D668 | A0 03
|
|
lda (Zp_B7),y ; PRG $166A | CPU $D66A | B1 B7
|
|
sta Zp_A5 ; PRG $166C | CPU $D66C | 85 A5
|
|
lda #$28 ; PRG $166E | CPU $D66E | A9 28
|
|
sta Zp_A3 ; PRG $1670 | CPU $D670 | 85 A3
|
|
lda #$00 ; PRG $1672 | CPU $D672 | A9 00
|
|
sta Zp_A7 ; PRG $1674 | CPU $D674 | 85 A7
|
|
lda #$04 ; PRG $1676 | CPU $D676 | A9 04
|
|
sta Zp_DB ; PRG $1678 | CPU $D678 | 85 DB
|
|
lda Zp_B9 ; PRG $167A | CPU $D67A | A5 B9
|
|
ldy #$03 ; PRG $167C | CPU $D67C | A0 03
|
|
cmp #$09 ; PRG $167E | CPU $D67E | C9 09
|
|
beq UpdateSideScrollingGameplay_D68B ; PRG $1680 | CPU $D680 | F0 09
|
|
dey ; PRG $1682 | CPU $D682 | 88
|
|
dey ; PRG $1683 | CPU $D683 | 88
|
|
bcs UpdateSideScrollingGameplay_D68B ; PRG $1684 | CPU $D684 | B0 05
|
|
cmp #$05 ; PRG $1686 | CPU $D686 | C9 05
|
|
bcs UpdateSideScrollingGameplay_D68B ; PRG $1688 | CPU $D688 | B0 01
|
|
iny ; PRG $168A | CPU $D68A | C8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D68 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d68 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D68B:
|
|
tya ; PRG $168B | CPU $D68B | 98
|
|
jsr UpdateSideScrollingGameplay_CE91 ; PRG $168C | CPU $D68C | 20 91 CE
|
|
lda #$0E ; PRG $168F | CPU $D68F | A9 0E
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $1691 | CPU $D691 | 20 5B CE
|
|
dec Zp_B9 ; PRG $1694 | CPU $D694 | C6 B9
|
|
ldy #$30 ; PRG $1696 | CPU $D696 | A0 30
|
|
jsr UpdateGameplayStateField_D6EA ; PRG $1698 | CPU $D698 | 20 EA D6
|
|
clc ; PRG $169B | CPU $D69B | 18
|
|
lda #$20 ; PRG $169C | CPU $D69C | A9 20
|
|
adc Zp_B7 ; PRG $169E | CPU $D69E | 65 B7
|
|
sta Zp_B7 ; PRG $16A0 | CPU $D6A0 | 85 B7
|
|
lda #$00 ; PRG $16A2 | CPU $D6A2 | A9 00
|
|
adc Zp_B8 ; PRG $16A4 | CPU $D6A4 | 65 B8
|
|
sta Zp_B8 ; PRG $16A6 | CPU $D6A6 | 85 B8
|
|
rts ; PRG $16A8 | CPU $D6A8 | 60
|
|
.byte $84,$0E,$A0,$10,$B1,$B7,$C9,$03,$D0,$02,$E6,$0E,$A4,$0E,$4C,$8B ; PRG $16A9 | CPU $D6A9
|
|
.byte $D6 ; PRG $16B9 | CPU $D6B9
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D6 BA.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d6 ba sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D6BA:
|
|
clc ; PRG $16BA | CPU $D6BA | 18
|
|
lda #$20 ; PRG $16BB | CPU $D6BB | A9 20
|
|
adc Zp_B7 ; PRG $16BD | CPU $D6BD | 65 B7
|
|
sta Zp_B7 ; PRG $16BF | CPU $D6BF | 85 B7
|
|
lda #$00 ; PRG $16C1 | CPU $D6C1 | A9 00
|
|
adc Zp_B8 ; PRG $16C3 | CPU $D6C3 | 65 B8
|
|
sta Zp_B8 ; PRG $16C5 | CPU $D6C5 | 85 B8
|
|
dec Zp_B9 ; PRG $16C7 | CPU $D6C7 | C6 B9
|
|
bne UpdateSideScrollingGameplay_D659 ; PRG $16C9 | CPU $D6C9 | D0 8E
|
|
rts ; PRG $16CB | CPU $D6CB | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D6 CC.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d6 cc sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D6CC:
|
|
lda #$10 ; PRG $16CC | CPU $D6CC | A9 10
|
|
sta ScratchValue0 ; PRG $16CE | CPU $D6CE | 85 00
|
|
lda #$3F ; PRG $16D0 | CPU $D6D0 | A9 3F
|
|
sta ScratchValue1 ; PRG $16D2 | CPU $D6D2 | 85 01
|
|
jsr UpdateSideScrollingGameplay_C3E2 ; PRG $16D4 | CPU $D6D4 | 20 E2 C3
|
|
rts ; PRG $16D7 | CPU $D6D7 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D6 D8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d6 d8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D6D8:
|
|
ldx #$00 ; PRG $16D8 | CPU $D6D8 | A2 00
|
|
ldy #$0F ; PRG $16DA | CPU $D6DA | A0 0F
|
|
lda Zp_3F ; PRG $16DC | CPU $D6DC | A5 3F
|
|
beq UpdateGameplayStateField_D6E9 ; PRG $16DE | CPU $D6DE | F0 09
|
|
bmi UpdateSideScrollingGameplay_D6E4 ; PRG $16E0 | CPU $D6E0 | 30 02
|
|
tay ; PRG $16E2 | CPU $D6E2 | A8
|
|
dex ; PRG $16E3 | CPU $D6E3 | CA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D6 E4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d6 e4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D6E4:
|
|
stx Zp_3F ; PRG $16E4 | CPU $D6E4 | 86 3F
|
|
jsr UpdateSideScrollingGameplay_D6CC ; PRG $16E6 | CPU $D6E6 | 20 CC D6
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D6 E9.
|
|
; Local behavior: Executes the decoded update gameplay state field d6 e9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D6E9:
|
|
rts ; PRG $16E9 | CPU $D6E9 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D6 EA.
|
|
; Local behavior: Executes the decoded update gameplay state field d6 ea sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D6EA:
|
|
sty Zp_3F ; PRG $16EA | CPU $D6EA | 84 3F
|
|
rts ; PRG $16EC | CPU $D6EC | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D6 ED.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d6 ed sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D6ED:
|
|
lda #$00 ; PRG $16ED | CPU $D6ED | A9 00
|
|
sta ScratchValue0 ; PRG $16EF | CPU $D6EF | 85 00
|
|
lda #$04 ; PRG $16F1 | CPU $D6F1 | A9 04
|
|
sta ScratchValue1 ; PRG $16F3 | CPU $D6F3 | 85 01
|
|
ldx #$0A ; PRG $16F5 | CPU $D6F5 | A2 0A
|
|
jsr UpdateSideScrollingGameplay_D709 ; PRG $16F7 | CPU $D6F7 | 20 09 D7
|
|
rts ; PRG $16FA | CPU $D6FA | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D6 FB.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d6 fb sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D6FB:
|
|
lda #$60 ; PRG $16FB | CPU $D6FB | A9 60
|
|
sta ScratchValue0 ; PRG $16FD | CPU $D6FD | 85 00
|
|
lda #$05 ; PRG $16FF | CPU $D6FF | A9 05
|
|
sta ScratchValue1 ; PRG $1701 | CPU $D701 | 85 01
|
|
ldx #$04 ; PRG $1703 | CPU $D703 | A2 04
|
|
jsr UpdateSideScrollingGameplay_D709 ; PRG $1705 | CPU $D705 | 20 09 D7
|
|
rts ; PRG $1708 | CPU $D708 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D709.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d709 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D709:
|
|
ldy #$00 ; PRG $1709 | CPU $D709 | A0 00
|
|
sty ScratchValue2 ; PRG $170B | CPU $D70B | 84 02
|
|
sty ScratchIndex ; PRG $170D | CPU $D70D | 84 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D70 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d70 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D70F:
|
|
lda (ScratchValue0),y ; PRG $170F | CPU $D70F | B1 00
|
|
bne UpdateSideScrollingGameplay_D715 ; PRG $1711 | CPU $D711 | D0 02
|
|
inc ScratchIndex ; PRG $1713 | CPU $D713 | E6 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D715.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d715 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D715:
|
|
cmp #$F4 ; PRG $1715 | CPU $D715 | C9 F4
|
|
beq UpdateSideScrollingGameplay_D71B ; PRG $1717 | CPU $D717 | F0 02
|
|
inc ScratchValue2 ; PRG $1719 | CPU $D719 | E6 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D71 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d71 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D71B:
|
|
jsr UpdateSideScrollingGameplay_DB1D ; PRG $171B | CPU $D71B | 20 1D DB
|
|
dex ; PRG $171E | CPU $D71E | CA
|
|
bne UpdateSideScrollingGameplay_D70F ; PRG $171F | CPU $D71F | D0 EE
|
|
lda ScratchValue2 ; PRG $1721 | CPU $D721 | A5 02
|
|
ldx ScratchIndex ; PRG $1723 | CPU $D723 | A6 03
|
|
rts ; PRG $1725 | CPU $D725 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D726.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d726 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D726:
|
|
lda #$20 ; PRG $1726 | CPU $D726 | A9 20
|
|
sta ScratchValue0 ; PRG $1728 | CPU $D728 | 85 00
|
|
lda #$06 ; PRG $172A | CPU $D72A | A9 06
|
|
sta ScratchValue1 ; PRG $172C | CPU $D72C | 85 01
|
|
ldx #$06 ; PRG $172E | CPU $D72E | A2 06
|
|
jsr CalculateMovementAndClamp_D73C ; PRG $1730 | CPU $D730 | 20 3C D7
|
|
jsr UpdateSideScrollingGameplay_DB1D ; PRG $1733 | CPU $D733 | 20 1D DB
|
|
ldx #$07 ; PRG $1736 | CPU $D736 | A2 07
|
|
jsr CalculateMovementAndClamp_D73C ; PRG $1738 | CPU $D738 | 20 3C D7
|
|
rts ; PRG $173B | CPU $D73B | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D73 C.
|
|
; Local behavior: Executes the decoded calculate and clamp value d73 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D73C:
|
|
stx ScratchValue2 ; PRG $173C | CPU $D73C | 86 02
|
|
ldy #$00 ; PRG $173E | CPU $D73E | A0 00
|
|
lda (ScratchValue0),y ; PRG $1740 | CPU $D740 | B1 00
|
|
cmp #$F4 ; PRG $1742 | CPU $D742 | C9 F4
|
|
beq UpdateGameplayStateField_D7A1 ; PRG $1744 | CPU $D744 | F0 5B
|
|
lda Zp_E0,x ; PRG $1746 | CPU $D746 | B5 E0
|
|
bne UpdateSideScrollingGameplay_D7A2 ; PRG $1748 | CPU $D748 | D0 58
|
|
lda #$06 ; PRG $174A | CPU $D74A | A9 06
|
|
sta Zp_E0,x ; PRG $174C | CPU $D74C | 95 E0
|
|
lda Zp_1D,x ; PRG $174E | CPU $D74E | B5 1D
|
|
cmp #$30 ; PRG $1750 | CPU $D750 | C9 30
|
|
bcc CalculateMovementAndClamp_D76F ; PRG $1752 | CPU $D752 | 90 1B
|
|
ldy #$15 ; PRG $1754 | CPU $D754 | A0 15
|
|
lda (ScratchValue0),y ; PRG $1756 | CPU $D756 | B1 00
|
|
sec ; PRG $1758 | CPU $D758 | 38
|
|
ldy #$01 ; PRG $1759 | CPU $D759 | A0 01
|
|
sbc (ScratchValue0),y ; PRG $175B | CPU $D75B | F1 00
|
|
lda #$00 ; PRG $175D | CPU $D75D | A9 00
|
|
ldx #$40 ; PRG $175F | CPU $D75F | A2 40
|
|
bcs UpdateSideScrollingGameplay_D767 ; PRG $1761 | CPU $D761 | B0 04
|
|
lda #$FF ; PRG $1763 | CPU $D763 | A9 FF
|
|
ldx #$C0 ; PRG $1765 | CPU $D765 | A2 C0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D767.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d767 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D767:
|
|
ldy #$11 ; PRG $1767 | CPU $D767 | A0 11
|
|
sta (ScratchValue0),y ; PRG $1769 | CPU $D769 | 91 00
|
|
txa ; PRG $176B | CPU $D76B | 8A
|
|
iny ; PRG $176C | CPU $D76C | C8
|
|
sta (ScratchValue0),y ; PRG $176D | CPU $D76D | 91 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D76 F.
|
|
; Local behavior: Executes the decoded calculate and clamp value d76 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D76F:
|
|
ldx ScratchValue2 ; PRG $176F | CPU $D76F | A6 02
|
|
lda Zp_1C,x ; PRG $1771 | CPU $D771 | B5 1C
|
|
cmp #$30 ; PRG $1773 | CPU $D773 | C9 30
|
|
bcc UpdateGameplayStateField_D7A1 ; PRG $1775 | CPU $D775 | 90 2A
|
|
ldy #$00 ; PRG $1777 | CPU $D777 | A0 00
|
|
lda (ScratchValue0),y ; PRG $1779 | CPU $D779 | B1 00
|
|
bne UpdateSideScrollingGameplay_D7B4 ; PRG $177B | CPU $D77B | D0 37
|
|
ldy #$16 ; PRG $177D | CPU $D77D | A0 16
|
|
lda (ScratchValue0),y ; PRG $177F | CPU $D77F | B1 00
|
|
sec ; PRG $1781 | CPU $D781 | 38
|
|
ldy #$03 ; PRG $1782 | CPU $D782 | A0 03
|
|
sbc (ScratchValue0),y ; PRG $1784 | CPU $D784 | F1 00
|
|
ldy #$13 ; PRG $1786 | CPU $D786 | A0 13
|
|
lda Zp_16 ; PRG $1788 | CPU $D788 | A5 16
|
|
bcs UpdateSideScrollingGameplay_D7C1 ; PRG $178A | CPU $D78A | B0 35
|
|
bpl UpdateSideScrollingGameplay_D7C3 ; PRG $178C | CPU $D78C | 10 35
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D78 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d78 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D78E:
|
|
sta (ScratchValue0),y ; PRG $178E | CPU $D78E | 91 00
|
|
bne UpdateSideScrollingGameplay_D7CB ; PRG $1790 | CPU $D790 | D0 39
|
|
ldx ScratchValue2 ; PRG $1792 | CPU $D792 | A6 02
|
|
lda Zp_1A,x ; PRG $1794 | CPU $D794 | B5 1A
|
|
bpl UpdateSideScrollingGameplay_D79C ; PRG $1796 | CPU $D796 | 10 04
|
|
lda #$FF ; PRG $1798 | CPU $D798 | A9 FF
|
|
sta (ScratchValue0),y ; PRG $179A | CPU $D79A | 91 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D79 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d79 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D79C:
|
|
lda CurrentControllerButtons,x ; PRG $179C | CPU $D79C | B5 1B
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D79 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d79 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D79E:
|
|
iny ; PRG $179E | CPU $D79E | C8
|
|
sta (ScratchValue0),y ; PRG $179F | CPU $D79F | 91 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D7 A1.
|
|
; Local behavior: Executes the decoded update gameplay state field d7 a1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D7A1:
|
|
rts ; PRG $17A1 | CPU $D7A1 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D7 A2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d7 a2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D7A2:
|
|
iny ; PRG $17A2 | CPU $D7A2 | C8
|
|
lda (ScratchValue0),y ; PRG $17A3 | CPU $D7A3 | B1 00
|
|
cmp #$30 ; PRG $17A5 | CPU $D7A5 | C9 30
|
|
bcs UpdateSideScrollingGameplay_D7AB ; PRG $17A7 | CPU $D7A7 | B0 02
|
|
lda #$D4 ; PRG $17A9 | CPU $D7A9 | A9 D4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D7 AB.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d7 ab sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D7AB:
|
|
cmp #$D8 ; PRG $17AB | CPU $D7AB | C9 D8
|
|
bcc UpdateGameplayStateField_D7B1 ; PRG $17AD | CPU $D7AD | 90 02
|
|
lda #$34 ; PRG $17AF | CPU $D7AF | A9 34
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D7 B1.
|
|
; Local behavior: Executes the decoded update gameplay state field d7 b1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D7B1:
|
|
sta (ScratchValue0),y ; PRG $17B1 | CPU $D7B1 | 91 00
|
|
rts ; PRG $17B3 | CPU $D7B3 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D7 B4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d7 b4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D7B4:
|
|
ldy #$13 ; PRG $17B4 | CPU $D7B4 | A0 13
|
|
cmp #$03 ; PRG $17B6 | CPU $D7B6 | C9 03
|
|
lda #$03 ; PRG $17B8 | CPU $D7B8 | A9 03
|
|
bcs UpdateSideScrollingGameplay_D78E ; PRG $17BA | CPU $D7BA | B0 D2
|
|
lda #$FD ; PRG $17BC | CPU $D7BC | A9 FD
|
|
jmp UpdateSideScrollingGameplay_D78E ; PRG $17BE | CPU $D7BE | 4C 8E D7
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D7 C1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d7 c1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D7C1:
|
|
bpl UpdateSideScrollingGameplay_D78E ; PRG $17C1 | CPU $D7C1 | 10 CB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D7 C3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d7 c3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D7C3:
|
|
eor #$FF ; PRG $17C3 | CPU $D7C3 | 49 FF
|
|
clc ; PRG $17C5 | CPU $D7C5 | 18
|
|
adc #$01 ; PRG $17C6 | CPU $D7C6 | 69 01
|
|
jmp UpdateSideScrollingGameplay_D78E ; PRG $17C8 | CPU $D7C8 | 4C 8E D7
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D7 CB.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d7 cb sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D7CB:
|
|
lda Zp_17 ; PRG $17CB | CPU $D7CB | A5 17
|
|
jmp UpdateSideScrollingGameplay_D79E ; PRG $17CD | CPU $D7CD | 4C 9E D7
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D7 D0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d7 d0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D7D0:
|
|
lda #$E0 ; PRG $17D0 | CPU $D7D0 | A9 E0
|
|
sta ScratchValue0 ; PRG $17D2 | CPU $D7D2 | 85 00
|
|
lda #$05 ; PRG $17D4 | CPU $D7D4 | A9 05
|
|
sta ScratchValue1 ; PRG $17D6 | CPU $D7D6 | 85 01
|
|
jsr CalculateMovementAndClamp_D7EA ; PRG $17D8 | CPU $D7D8 | 20 EA D7
|
|
jsr UpdateSideScrollingGameplay_DB1D ; PRG $17DB | CPU $D7DB | 20 1D DB
|
|
jsr CalculateMovementAndClamp_D7EA ; PRG $17DE | CPU $D7DE | 20 EA D7
|
|
lda Zp_E8 ; PRG $17E1 | CPU $D7E1 | A5 E8
|
|
bne UpdateGameplayStateField_D7E9 ; PRG $17E3 | CPU $D7E3 | D0 04
|
|
lda #$04 ; PRG $17E5 | CPU $D7E5 | A9 04
|
|
sta Zp_E8 ; PRG $17E7 | CPU $D7E7 | 85 E8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D7 E9.
|
|
; Local behavior: Executes the decoded update gameplay state field d7 e9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D7E9:
|
|
rts ; PRG $17E9 | CPU $D7E9 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D7 EA.
|
|
; Local behavior: Executes the decoded calculate and clamp value d7 ea sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D7EA:
|
|
ldy #$00 ; PRG $17EA | CPU $D7EA | A0 00
|
|
lda (ScratchValue0),y ; PRG $17EC | CPU $D7EC | B1 00
|
|
cmp #$F4 ; PRG $17EE | CPU $D7EE | C9 F4
|
|
beq UpdateGameplayStateField_D84B ; PRG $17F0 | CPU $D7F0 | F0 59
|
|
lda Zp_E8 ; PRG $17F2 | CPU $D7F2 | A5 E8
|
|
bne UpdateSideScrollingGameplay_D7A2 ; PRG $17F4 | CPU $D7F4 | D0 AC
|
|
lda Zp_1D ; PRG $17F6 | CPU $D7F6 | A5 1D
|
|
cmp #$30 ; PRG $17F8 | CPU $D7F8 | C9 30
|
|
bcc CalculateMovementAndClamp_D817 ; PRG $17FA | CPU $D7FA | 90 1B
|
|
ldy #$15 ; PRG $17FC | CPU $D7FC | A0 15
|
|
lda (ScratchValue0),y ; PRG $17FE | CPU $D7FE | B1 00
|
|
sec ; PRG $1800 | CPU $D800 | 38
|
|
ldy #$01 ; PRG $1801 | CPU $D801 | A0 01
|
|
sbc (ScratchValue0),y ; PRG $1803 | CPU $D803 | F1 00
|
|
lda #$00 ; PRG $1805 | CPU $D805 | A9 00
|
|
ldx #$30 ; PRG $1807 | CPU $D807 | A2 30
|
|
bcs UpdateSideScrollingGameplay_D80F ; PRG $1809 | CPU $D809 | B0 04
|
|
lda #$FF ; PRG $180B | CPU $D80B | A9 FF
|
|
ldx #$D0 ; PRG $180D | CPU $D80D | A2 D0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D80 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d80 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D80F:
|
|
ldy #$11 ; PRG $180F | CPU $D80F | A0 11
|
|
sta (ScratchValue0),y ; PRG $1811 | CPU $D811 | 91 00
|
|
txa ; PRG $1813 | CPU $D813 | 8A
|
|
iny ; PRG $1814 | CPU $D814 | C8
|
|
sta (ScratchValue0),y ; PRG $1815 | CPU $D815 | 91 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D817.
|
|
; Local behavior: Executes the decoded calculate and clamp value d817 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D817:
|
|
lda Zp_1E ; PRG $1817 | CPU $D817 | A5 1E
|
|
cmp #$30 ; PRG $1819 | CPU $D819 | C9 30
|
|
bcc UpdateGameplayStateField_D84B ; PRG $181B | CPU $D81B | 90 2E
|
|
ldy #$00 ; PRG $181D | CPU $D81D | A0 00
|
|
lda (ScratchValue0),y ; PRG $181F | CPU $D81F | B1 00
|
|
bne UpdateSideScrollingGameplay_D84C ; PRG $1821 | CPU $D821 | D0 29
|
|
ldy #$16 ; PRG $1823 | CPU $D823 | A0 16
|
|
lda (ScratchValue0),y ; PRG $1825 | CPU $D825 | B1 00
|
|
sec ; PRG $1827 | CPU $D827 | 38
|
|
ldy #$03 ; PRG $1828 | CPU $D828 | A0 03
|
|
sbc (ScratchValue0),y ; PRG $182A | CPU $D82A | F1 00
|
|
php ; PRG $182C | CPU $D82C | 08
|
|
bcs UpdateSideScrollingGameplay_D834 ; PRG $182D | CPU $D82D | B0 05
|
|
eor #$FF ; PRG $182F | CPU $D82F | 49 FF
|
|
clc ; PRG $1831 | CPU $D831 | 18
|
|
adc #$01 ; PRG $1832 | CPU $D832 | 69 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D834.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d834 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D834:
|
|
cmp #$40 ; PRG $1834 | CPU $D834 | C9 40
|
|
bcc UpdateSideScrollingGameplay_D859 ; PRG $1836 | CPU $D836 | 90 21
|
|
plp ; PRG $1838 | CPU $D838 | 28
|
|
lda #$02 ; PRG $1839 | CPU $D839 | A9 02
|
|
ldx #$80 ; PRG $183B | CPU $D83B | A2 80
|
|
bcs UpdateSideScrollingGameplay_D843 ; PRG $183D | CPU $D83D | B0 04
|
|
lda #$FD ; PRG $183F | CPU $D83F | A9 FD
|
|
ldx #$80 ; PRG $1841 | CPU $D841 | A2 80
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D843.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d843 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D843:
|
|
ldy #$13 ; PRG $1843 | CPU $D843 | A0 13
|
|
sta (ScratchValue0),y ; PRG $1845 | CPU $D845 | 91 00
|
|
txa ; PRG $1847 | CPU $D847 | 8A
|
|
iny ; PRG $1848 | CPU $D848 | C8
|
|
sta (ScratchValue0),y ; PRG $1849 | CPU $D849 | 91 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D84 B.
|
|
; Local behavior: Executes the decoded update gameplay state field d84 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D84B:
|
|
rts ; PRG $184B | CPU $D84B | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D84 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d84 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D84C:
|
|
ldx #$00 ; PRG $184C | CPU $D84C | A2 00
|
|
cmp #$03 ; PRG $184E | CPU $D84E | C9 03
|
|
lda #$02 ; PRG $1850 | CPU $D850 | A9 02
|
|
bcs UpdateSideScrollingGameplay_D843 ; PRG $1852 | CPU $D852 | B0 EF
|
|
lda #$FE ; PRG $1854 | CPU $D854 | A9 FE
|
|
jmp UpdateSideScrollingGameplay_D843 ; PRG $1856 | CPU $D856 | 4C 43 D8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D859.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d859 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D859:
|
|
plp ; PRG $1859 | CPU $D859 | 28
|
|
lda #$01 ; PRG $185A | CPU $D85A | A9 01
|
|
ldx #$40 ; PRG $185C | CPU $D85C | A2 40
|
|
bcs UpdateSideScrollingGameplay_D843 ; PRG $185E | CPU $D85E | B0 E3
|
|
lda #$FE ; PRG $1860 | CPU $D860 | A9 FE
|
|
ldx #$C0 ; PRG $1862 | CPU $D862 | A2 C0
|
|
jmp UpdateSideScrollingGameplay_D843 ; PRG $1864 | CPU $D864 | 4C 43 D8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D867.
|
|
; Local behavior: Executes the decoded calculate and clamp value d867 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D867:
|
|
lda Ram_0540 ; PRG $1867 | CPU $D867 | AD 40 05
|
|
cmp #$F4 ; PRG $186A | CPU $D86A | C9 F4
|
|
beq UpdateGameplayStateField_D8AE ; PRG $186C | CPU $D86C | F0 40
|
|
lda Zp_E5 ; PRG $186E | CPU $D86E | A5 E5
|
|
bne UpdateSideScrollingGameplay_D8AF ; PRG $1870 | CPU $D870 | D0 3D
|
|
lda #$04 ; PRG $1872 | CPU $D872 | A9 04
|
|
sta Zp_E5 ; PRG $1874 | CPU $D874 | 85 E5
|
|
lda Zp_1D ; PRG $1876 | CPU $D876 | A5 1D
|
|
cmp #$30 ; PRG $1878 | CPU $D878 | C9 30
|
|
bcc CalculateMovementAndClamp_D893 ; PRG $187A | CPU $D87A | 90 17
|
|
lda Ram_03C1 ; PRG $187C | CPU $D87C | AD C1 03
|
|
sec ; PRG $187F | CPU $D87F | 38
|
|
sbc Ram_0541 ; PRG $1880 | CPU $D880 | ED 41 05
|
|
lda #$00 ; PRG $1883 | CPU $D883 | A9 00
|
|
ldx #$A0 ; PRG $1885 | CPU $D885 | A2 A0
|
|
bcs UpdateSideScrollingGameplay_D88D ; PRG $1887 | CPU $D887 | B0 04
|
|
lda #$FF ; PRG $1889 | CPU $D889 | A9 FF
|
|
ldx #$60 ; PRG $188B | CPU $D88B | A2 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D88 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d88 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D88D:
|
|
sta Ram_0551 ; PRG $188D | CPU $D88D | 8D 51 05
|
|
stx Ram_0552 ; PRG $1890 | CPU $D890 | 8E 52 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value D893.
|
|
; Local behavior: Executes the decoded calculate and clamp value d893 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_D893:
|
|
lda Zp_1E ; PRG $1893 | CPU $D893 | A5 1E
|
|
cmp #$30 ; PRG $1895 | CPU $D895 | C9 30
|
|
bcc UpdateGameplayStateField_D8AE ; PRG $1897 | CPU $D897 | 90 15
|
|
lda Ram_0540 ; PRG $1899 | CPU $D899 | AD 40 05
|
|
bne UpdateSideScrollingGameplay_D8C2 ; PRG $189C | CPU $D89C | D0 24
|
|
lda Ram_03C3 ; PRG $189E | CPU $D89E | AD C3 03
|
|
sec ; PRG $18A1 | CPU $D8A1 | 38
|
|
sbc Ram_0543 ; PRG $18A2 | CPU $D8A2 | ED 43 05
|
|
lda #$02 ; PRG $18A5 | CPU $D8A5 | A9 02
|
|
bcs UpdateSideScrollingGameplay_D8AB ; PRG $18A7 | CPU $D8A7 | B0 02
|
|
lda #$FE ; PRG $18A9 | CPU $D8A9 | A9 FE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D8 AB.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d8 ab sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D8AB:
|
|
sta Ram_0553 ; PRG $18AB | CPU $D8AB | 8D 53 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D8 AE.
|
|
; Local behavior: Executes the decoded update gameplay state field d8 ae sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D8AE:
|
|
rts ; PRG $18AE | CPU $D8AE | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D8 AF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d8 af sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D8AF:
|
|
lda Ram_0541 ; PRG $18AF | CPU $D8AF | AD 41 05
|
|
cmp #$30 ; PRG $18B2 | CPU $D8B2 | C9 30
|
|
bcs UpdateSideScrollingGameplay_D8B8 ; PRG $18B4 | CPU $D8B4 | B0 02
|
|
lda #$D4 ; PRG $18B6 | CPU $D8B6 | A9 D4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D8 B8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d8 b8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D8B8:
|
|
cmp #$D8 ; PRG $18B8 | CPU $D8B8 | C9 D8
|
|
bcc UpdateGameplayStateField_D8BE ; PRG $18BA | CPU $D8BA | 90 02
|
|
lda #$34 ; PRG $18BC | CPU $D8BC | A9 34
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D8 BE.
|
|
; Local behavior: Executes the decoded update gameplay state field d8 be sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D8BE:
|
|
sta Ram_0541 ; PRG $18BE | CPU $D8BE | 8D 41 05
|
|
rts ; PRG $18C1 | CPU $D8C1 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D8 C2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d8 c2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D8C2:
|
|
cmp #$03 ; PRG $18C2 | CPU $D8C2 | C9 03
|
|
lda #$03 ; PRG $18C4 | CPU $D8C4 | A9 03
|
|
bcs UpdateSideScrollingGameplay_D8AB ; PRG $18C6 | CPU $D8C6 | B0 E3
|
|
lda #$FD ; PRG $18C8 | CPU $D8C8 | A9 FD
|
|
jmp UpdateSideScrollingGameplay_D8AB ; PRG $18CA | CPU $D8CA | 4C AB D8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D8 CD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d8 cd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D8CD:
|
|
lda Zp_DA ; PRG $18CD | CPU $D8CD | A5 DA
|
|
bne UpdateGameplayStateField_D90C ; PRG $18CF | CPU $D8CF | D0 3B
|
|
lda #$03 ; PRG $18D1 | CPU $D8D1 | A9 03
|
|
sta Zp_DA ; PRG $18D3 | CPU $D8D3 | 85 DA
|
|
dec Zp_B5 ; PRG $18D5 | CPU $D8D5 | C6 B5
|
|
bpl UpdateSideScrollingGameplay_D8DD ; PRG $18D7 | CPU $D8D7 | 10 04
|
|
lda #$03 ; PRG $18D9 | CPU $D8D9 | A9 03
|
|
sta Zp_B5 ; PRG $18DB | CPU $D8DB | 85 B5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D8 DD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d8 dd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D8DD:
|
|
lda Zp_B5 ; PRG $18DD | CPU $D8DD | A5 B5
|
|
sta Ram_0545 ; PRG $18DF | CPU $D8DF | 8D 45 05
|
|
dec Zp_B6 ; PRG $18E2 | CPU $D8E2 | C6 B6
|
|
bpl UpdateSideScrollingGameplay_D8EA ; PRG $18E4 | CPU $D8E4 | 10 04
|
|
lda #$02 ; PRG $18E6 | CPU $D8E6 | A9 02
|
|
sta Zp_B6 ; PRG $18E8 | CPU $D8E8 | 85 B6
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D8 EA.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d8 ea sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D8EA:
|
|
lda Zp_B6 ; PRG $18EA | CPU $D8EA | A5 B6
|
|
sta Ram_0625 ; PRG $18EC | CPU $D8EC | 8D 25 06
|
|
sta Ram_0645 ; PRG $18EF | CPU $D8EF | 8D 45 06
|
|
sta Ram_05E5 ; PRG $18F2 | CPU $D8F2 | 8D E5 05
|
|
sta Ram_0605 ; PRG $18F5 | CPU $D8F5 | 8D 05 06
|
|
ldy #$00 ; PRG $18F8 | CPU $D8F8 | A0 00
|
|
jsr UpdateSideScrollingGameplay_D90D ; PRG $18FA | CPU $D8FA | 20 0D D9
|
|
ldy #$20 ; PRG $18FD | CPU $D8FD | A0 20
|
|
jsr UpdateSideScrollingGameplay_D90D ; PRG $18FF | CPU $D8FF | 20 0D D9
|
|
ldy #$40 ; PRG $1902 | CPU $D902 | A0 40
|
|
jsr UpdateSideScrollingGameplay_D90D ; PRG $1904 | CPU $D904 | 20 0D D9
|
|
ldy #$60 ; PRG $1907 | CPU $D907 | A0 60
|
|
jsr UpdateSideScrollingGameplay_D90D ; PRG $1909 | CPU $D909 | 20 0D D9
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D90 C.
|
|
; Local behavior: Executes the decoded update gameplay state field d90 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D90C:
|
|
rts ; PRG $190C | CPU $D90C | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D90 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d90 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D90D:
|
|
lda #$00 ; PRG $190D | CPU $D90D | A9 00
|
|
ldx Ram_05F3,y ; PRG $190F | CPU $D90F | BE F3 05
|
|
bpl UpdateGameplayStateField_D916 ; PRG $1912 | CPU $D912 | 10 02
|
|
lda #$10 ; PRG $1914 | CPU $D914 | A9 10
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D916.
|
|
; Local behavior: Executes the decoded update gameplay state field d916 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D916:
|
|
sta Ram_05E8,y ; PRG $1916 | CPU $D916 | 99 E8 05
|
|
rts ; PRG $1919 | CPU $D919 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D91 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d91 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D91A:
|
|
lda #$40 ; PRG $191A | CPU $D91A | A9 40
|
|
sta ScratchValue0 ; PRG $191C | CPU $D91C | 85 00
|
|
lda #$05 ; PRG $191E | CPU $D91E | A9 05
|
|
sta ScratchValue1 ; PRG $1920 | CPU $D920 | 85 01
|
|
jsr TransformFlightState_C47C ; PRG $1922 | CPU $D922 | 20 7C C4
|
|
lda #$E0 ; PRG $1925 | CPU $D925 | A9 E0
|
|
sta ScratchValue0 ; PRG $1927 | CPU $D927 | 85 00
|
|
lda #$05 ; PRG $1929 | CPU $D929 | A9 05
|
|
sta ScratchValue1 ; PRG $192B | CPU $D92B | 85 01
|
|
jsr TransformFlightState_C47C ; PRG $192D | CPU $D92D | 20 7C C4
|
|
jsr UpdateSideScrollingGameplay_DB1D ; PRG $1930 | CPU $D930 | 20 1D DB
|
|
jsr TransformFlightState_C47C ; PRG $1933 | CPU $D933 | 20 7C C4
|
|
jsr UpdateSideScrollingGameplay_DB1D ; PRG $1936 | CPU $D936 | 20 1D DB
|
|
jsr TransformFlightState_C47C ; PRG $1939 | CPU $D939 | 20 7C C4
|
|
jsr UpdateSideScrollingGameplay_DB1D ; PRG $193C | CPU $D93C | 20 1D DB
|
|
jsr TransformFlightState_C47C ; PRG $193F | CPU $D93F | 20 7C C4
|
|
rts ; PRG $1942 | CPU $D942 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D943.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d943 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D943:
|
|
ldx #$00 ; PRG $1943 | CPU $D943 | A2 00
|
|
stx ScratchValue1 ; PRG $1945 | CPU $D945 | 86 01
|
|
jsr UpdateSideScrollingGameplay_DA03 ; PRG $1947 | CPU $D947 | 20 03 DA
|
|
ldx #$03 ; PRG $194A | CPU $D94A | A2 03
|
|
jsr UpdateSideScrollingGameplay_DA03 ; PRG $194C | CPU $D94C | 20 03 DA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field D94 F.
|
|
; Local behavior: Executes the decoded update gameplay state field d94 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_D94F:
|
|
rts ; PRG $194F | CPU $D94F | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D950.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d950 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D950:
|
|
lda Zp_B1 ; PRG $1950 | CPU $D950 | A5 B1
|
|
beq UpdateGameplayStateField_D94F ; PRG $1952 | CPU $D952 | F0 FB
|
|
inc Zp_B1 ; PRG $1954 | CPU $D954 | E6 B1
|
|
lda Zp_B1 ; PRG $1956 | CPU $D956 | A5 B1
|
|
cmp #$02 ; PRG $1958 | CPU $D958 | C9 02
|
|
beq UpdateSideScrollingGameplay_D9A8 ; PRG $195A | CPU $D95A | F0 4C
|
|
cmp #$13 ; PRG $195C | CPU $D95C | C9 13
|
|
bne UpdateSideScrollingGameplay_D943 ; PRG $195E | CPU $D95E | D0 E3
|
|
lda #$00 ; PRG $1960 | CPU $D960 | A9 00
|
|
sta Zp_B1 ; PRG $1962 | CPU $D962 | 85 B1
|
|
lda #$F4 ; PRG $1964 | CPU $D964 | A9 F4
|
|
ldy #$00 ; PRG $1966 | CPU $D966 | A0 00
|
|
jsr UpdateSideScrollingGameplay_E9BA ; PRG $1968 | CPU $D968 | 20 BA E9
|
|
lda #$00 ; PRG $196B | CPU $D96B | A9 00
|
|
sta ScratchValue0 ; PRG $196D | CPU $D96D | 85 00
|
|
lda #$04 ; PRG $196F | CPU $D96F | A9 04
|
|
sta ScratchValue1 ; PRG $1971 | CPU $D971 | 85 01
|
|
ldx Zp_B4 ; PRG $1973 | CPU $D973 | A6 B4
|
|
beq UpdateSideScrollingGameplay_D97D ; PRG $1975 | CPU $D975 | F0 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D977.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d977 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D977:
|
|
jsr UpdateSideScrollingGameplay_DB1D ; PRG $1977 | CPU $D977 | 20 1D DB
|
|
dex ; PRG $197A | CPU $D97A | CA
|
|
bne UpdateSideScrollingGameplay_D977 ; PRG $197B | CPU $D97B | D0 FA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D97 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d97 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D97D:
|
|
lda #$00 ; PRG $197D | CPU $D97D | A9 00
|
|
ldy #$00 ; PRG $197F | CPU $D97F | A0 00
|
|
sta (ScratchValue0),y ; PRG $1981 | CPU $D981 | 91 00
|
|
lda Zp_B2 ; PRG $1983 | CPU $D983 | A5 B2
|
|
iny ; PRG $1985 | CPU $D985 | C8
|
|
sta (ScratchValue0),y ; PRG $1986 | CPU $D986 | 91 00
|
|
lda #$00 ; PRG $1988 | CPU $D988 | A9 00
|
|
iny ; PRG $198A | CPU $D98A | C8
|
|
sta (ScratchValue0),y ; PRG $198B | CPU $D98B | 91 00
|
|
lda Zp_B3 ; PRG $198D | CPU $D98D | A5 B3
|
|
iny ; PRG $198F | CPU $D98F | C8
|
|
sta (ScratchValue0),y ; PRG $1990 | CPU $D990 | 91 00
|
|
lda #$00 ; PRG $1992 | CPU $D992 | A9 00
|
|
iny ; PRG $1994 | CPU $D994 | C8
|
|
sta (ScratchValue0),y ; PRG $1995 | CPU $D995 | 91 00
|
|
ldy #$10 ; PRG $1997 | CPU $D997 | A0 10
|
|
sta (ScratchValue0),y ; PRG $1999 | CPU $D999 | 91 00
|
|
iny ; PRG $199B | CPU $D99B | C8
|
|
sta (ScratchValue0),y ; PRG $199C | CPU $D99C | 91 00
|
|
iny ; PRG $199E | CPU $D99E | C8
|
|
sta (ScratchValue0),y ; PRG $199F | CPU $D99F | 91 00
|
|
iny ; PRG $19A1 | CPU $D9A1 | C8
|
|
sta (ScratchValue0),y ; PRG $19A2 | CPU $D9A2 | 91 00
|
|
iny ; PRG $19A4 | CPU $D9A4 | C8
|
|
sta (ScratchValue0),y ; PRG $19A5 | CPU $D9A5 | 91 00
|
|
rts ; PRG $19A7 | CPU $D9A7 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D9 A8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d9 a8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D9A8:
|
|
jsr UpdateSideScrollingGameplay_DA40 ; PRG $19A8 | CPU $D9A8 | 20 40 DA
|
|
lda #$30 ; PRG $19AB | CPU $D9AB | A9 30
|
|
sta Ram_029C ; PRG $19AD | CPU $D9AD | 8D 9C 02
|
|
sta Ram_02A0 ; PRG $19B0 | CPU $D9B0 | 8D A0 02
|
|
sta Ram_02A4 ; PRG $19B3 | CPU $D9B3 | 8D A4 02
|
|
lda #$D8 ; PRG $19B6 | CPU $D9B6 | A9 D8
|
|
sta Ram_02AC ; PRG $19B8 | CPU $D9B8 | 8D AC 02
|
|
sta Ram_02B0 ; PRG $19BB | CPU $D9BB | 8D B0 02
|
|
sta Ram_02B4 ; PRG $19BE | CPU $D9BE | 8D B4 02
|
|
lda #$80 ; PRG $19C1 | CPU $D9C1 | A9 80
|
|
sta Ram_02A8 ; PRG $19C3 | CPU $D9C3 | 8D A8 02
|
|
sta Ram_02B8 ; PRG $19C6 | CPU $D9C6 | 8D B8 02
|
|
sta Ram_02A3 ; PRG $19C9 | CPU $D9C9 | 8D A3 02
|
|
sta Ram_02B3 ; PRG $19CC | CPU $D9CC | 8D B3 02
|
|
lda #$F7 ; PRG $19CF | CPU $D9CF | A9 F7
|
|
sta Ram_02A7 ; PRG $19D1 | CPU $D9D1 | 8D A7 02
|
|
sta Ram_02AB ; PRG $19D4 | CPU $D9D4 | 8D AB 02
|
|
sta Ram_02AF ; PRG $19D7 | CPU $D9D7 | 8D AF 02
|
|
lda #$01 ; PRG $19DA | CPU $D9DA | A9 01
|
|
sta Ram_029F ; PRG $19DC | CPU $D9DC | 8D 9F 02
|
|
sta Ram_02B7 ; PRG $19DF | CPU $D9DF | 8D B7 02
|
|
sta Ram_02BB ; PRG $19E2 | CPU $D9E2 | 8D BB 02
|
|
lda #$F6 ; PRG $19E5 | CPU $D9E5 | A9 F6
|
|
ldy #$01 ; PRG $19E7 | CPU $D9E7 | A0 01
|
|
jsr UpdateSideScrollingGameplay_E9BA ; PRG $19E9 | CPU $D9E9 | 20 BA E9
|
|
lda #$01 ; PRG $19EC | CPU $D9EC | A9 01
|
|
ldy #$02 ; PRG $19EE | CPU $D9EE | A0 02
|
|
jsr UpdateSideScrollingGameplay_E9BA ; PRG $19F0 | CPU $D9F0 | 20 BA E9
|
|
ldx #$1F ; PRG $19F3 | CPU $D9F3 | A2 1F
|
|
lda #$00 ; PRG $19F5 | CPU $D9F5 | A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay D9 F7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay d9 f7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_D9F7:
|
|
sta Ram_0380,x ; PRG $19F7 | CPU $D9F7 | 9D 80 03
|
|
dex ; PRG $19FA | CPU $D9FA | CA
|
|
bpl UpdateSideScrollingGameplay_D9F7 ; PRG $19FB | CPU $D9FB | 10 FA
|
|
lda #$03 ; PRG $19FD | CPU $D9FD | A9 03
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $19FF | CPU $D9FF | 20 5B CE
|
|
rts ; PRG $1A02 | CPU $DA02 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DA03.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay da03 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DA03:
|
|
lda #$08 ; PRG $1A03 | CPU $DA03 | A9 08
|
|
sta ScratchValue0 ; PRG $1A05 | CPU $DA05 | 85 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DA07.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay da07 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DA07:
|
|
ldy ScratchValue1 ; PRG $1A07 | CPU $DA07 | A4 01
|
|
lda GameplayLookupTable_DA30,y ; PRG $1A09 | CPU $DA09 | B9 30 DA
|
|
tay ; PRG $1A0C | CPU $DA0C | A8
|
|
jsr UpdateSideScrollingGameplay_DA1B ; PRG $1A0D | CPU $DA0D | 20 1B DA
|
|
inx ; PRG $1A10 | CPU $DA10 | E8
|
|
inx ; PRG $1A11 | CPU $DA11 | E8
|
|
inx ; PRG $1A12 | CPU $DA12 | E8
|
|
inx ; PRG $1A13 | CPU $DA13 | E8
|
|
inc ScratchValue1 ; PRG $1A14 | CPU $DA14 | E6 01
|
|
dec ScratchValue0 ; PRG $1A16 | CPU $DA16 | C6 00
|
|
bne UpdateSideScrollingGameplay_DA07 ; PRG $1A18 | CPU $DA18 | D0 ED
|
|
rts ; PRG $1A1A | CPU $DA1A | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DA1 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay da1 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DA1B:
|
|
lda Ram_0380,x ; PRG $1A1B | CPU $DA1B | BD 80 03
|
|
clc ; PRG $1A1E | CPU $DA1E | 18
|
|
adc Ram_03A0,y ; PRG $1A1F | CPU $DA1F | 79 A0 03
|
|
sta Ram_0380,x ; PRG $1A22 | CPU $DA22 | 9D 80 03
|
|
dey ; PRG $1A25 | CPU $DA25 | 88
|
|
lda Ram_029C,x ; PRG $1A26 | CPU $DA26 | BD 9C 02
|
|
adc Ram_03A0,y ; PRG $1A29 | CPU $DA29 | 79 A0 03
|
|
sta Ram_029C,x ; PRG $1A2C | CPU $DA2C | 9D 9C 02
|
|
rts ; PRG $1A2F | CPU $DA2F | 60
|
|
|
|
GameplayLookupTable_DA30:
|
|
.byte $01,$01,$01,$05,$03,$03,$03,$05,$07,$0B,$09,$09,$09,$0B,$07,$07 ; PRG $1A30 | CPU $DA30
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DA40.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay da40 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DA40:
|
|
lda #$00 ; PRG $1A40 | CPU $DA40 | A9 00
|
|
sta ScratchValue0 ; PRG $1A42 | CPU $DA42 | 85 00
|
|
ldx #$00 ; PRG $1A44 | CPU $DA44 | A2 00
|
|
lda #$30 ; PRG $1A46 | CPU $DA46 | A9 30
|
|
sta ScratchValue2 ; PRG $1A48 | CPU $DA48 | 85 02
|
|
lda Zp_B2 ; PRG $1A4A | CPU $DA4A | A5 B2
|
|
jsr UpdateGameplayStateField_DAA7 ; PRG $1A4C | CPU $DA4C | 20 A7 DA
|
|
lda Zp_B2 ; PRG $1A4F | CPU $DA4F | A5 B2
|
|
sta ScratchValue2 ; PRG $1A51 | CPU $DA51 | 85 02
|
|
lda #$D8 ; PRG $1A53 | CPU $DA53 | A9 D8
|
|
jsr UpdateSideScrollingGameplay_DAB1 ; PRG $1A55 | CPU $DA55 | 20 B1 DA
|
|
lda Zp_B2 ; PRG $1A58 | CPU $DA58 | A5 B2
|
|
jsr UpdateSideScrollingGameplay_DABE ; PRG $1A5A | CPU $DA5A | 20 BE DA
|
|
lda #$01 ; PRG $1A5D | CPU $DA5D | A9 01
|
|
sta ScratchValue2 ; PRG $1A5F | CPU $DA5F | 85 02
|
|
lda Zp_B3 ; PRG $1A61 | CPU $DA61 | A5 B3
|
|
jsr UpdateGameplayStateField_DAA7 ; PRG $1A63 | CPU $DA63 | 20 A7 DA
|
|
lda Zp_B3 ; PRG $1A66 | CPU $DA66 | A5 B3
|
|
sta ScratchValue2 ; PRG $1A68 | CPU $DA68 | 85 02
|
|
lda #$F7 ; PRG $1A6A | CPU $DA6A | A9 F7
|
|
jsr UpdateSideScrollingGameplay_DAB1 ; PRG $1A6C | CPU $DA6C | 20 B1 DA
|
|
lda Zp_B3 ; PRG $1A6F | CPU $DA6F | A5 B3
|
|
jsr UpdateSideScrollingGameplay_DABE ; PRG $1A71 | CPU $DA71 | 20 BE DA
|
|
rts ; PRG $1A74 | CPU $DA74 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State DA75.
|
|
; Local behavior: Executes the decoded transform flight state da75 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_DA75:
|
|
lsr a ; PRG $1A75 | CPU $DA75 | 4A
|
|
ror ScratchValue0 ; PRG $1A76 | CPU $DA76 | 66 00
|
|
lsr a ; PRG $1A78 | CPU $DA78 | 4A
|
|
ror ScratchValue0 ; PRG $1A79 | CPU $DA79 | 66 00
|
|
lsr a ; PRG $1A7B | CPU $DA7B | 4A
|
|
ror ScratchValue0 ; PRG $1A7C | CPU $DA7C | 66 00
|
|
lsr a ; PRG $1A7E | CPU $DA7E | 4A
|
|
ror ScratchValue0 ; PRG $1A7F | CPU $DA7F | 66 00
|
|
nop ; PRG $1A81 | CPU $DA81 | EA
|
|
nop ; PRG $1A82 | CPU $DA82 | EA
|
|
nop ; PRG $1A83 | CPU $DA83 | EA
|
|
nop ; PRG $1A84 | CPU $DA84 | EA
|
|
nop ; PRG $1A85 | CPU $DA85 | EA
|
|
nop ; PRG $1A86 | CPU $DA86 | EA
|
|
nop ; PRG $1A87 | CPU $DA87 | EA
|
|
nop ; PRG $1A88 | CPU $DA88 | EA
|
|
rts ; PRG $1A89 | CPU $DA89 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DA8 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay da8 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DA8A:
|
|
sta ScratchValue1 ; PRG $1A8A | CPU $DA8A | 85 01
|
|
lda #$00 ; PRG $1A8C | CPU $DA8C | A9 00
|
|
sec ; PRG $1A8E | CPU $DA8E | 38
|
|
sbc ScratchValue0 ; PRG $1A8F | CPU $DA8F | E5 00
|
|
sta ScratchValue0 ; PRG $1A91 | CPU $DA91 | 85 00
|
|
lda #$00 ; PRG $1A93 | CPU $DA93 | A9 00
|
|
sbc ScratchValue1 ; PRG $1A95 | CPU $DA95 | E5 01
|
|
rts ; PRG $1A97 | CPU $DA97 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DA98.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay da98 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DA98:
|
|
sta Ram_03A0,x ; PRG $1A98 | CPU $DA98 | 9D A0 03
|
|
lda ScratchValue0 ; PRG $1A9B | CPU $DA9B | A5 00
|
|
inx ; PRG $1A9D | CPU $DA9D | E8
|
|
sta Ram_03A0,x ; PRG $1A9E | CPU $DA9E | 9D A0 03
|
|
inx ; PRG $1AA1 | CPU $DAA1 | E8
|
|
lda #$00 ; PRG $1AA2 | CPU $DAA2 | A9 00
|
|
sta ScratchValue0 ; PRG $1AA4 | CPU $DAA4 | 85 00
|
|
rts ; PRG $1AA6 | CPU $DAA6 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DAA7.
|
|
; Local behavior: Executes the decoded update gameplay state field daa7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DAA7:
|
|
sec ; PRG $1AA7 | CPU $DAA7 | 38
|
|
sbc ScratchValue2 ; PRG $1AA8 | CPU $DAA8 | E5 02
|
|
jsr TransformFlightState_DA75 ; PRG $1AAA | CPU $DAAA | 20 75 DA
|
|
jsr UpdateSideScrollingGameplay_DA98 ; PRG $1AAD | CPU $DAAD | 20 98 DA
|
|
rts ; PRG $1AB0 | CPU $DAB0 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DAB1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dab1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DAB1:
|
|
sec ; PRG $1AB1 | CPU $DAB1 | 38
|
|
sbc ScratchValue2 ; PRG $1AB2 | CPU $DAB2 | E5 02
|
|
jsr TransformFlightState_DA75 ; PRG $1AB4 | CPU $DAB4 | 20 75 DA
|
|
jsr UpdateSideScrollingGameplay_DA8A ; PRG $1AB7 | CPU $DAB7 | 20 8A DA
|
|
jsr UpdateSideScrollingGameplay_DA98 ; PRG $1ABA | CPU $DABA | 20 98 DA
|
|
rts ; PRG $1ABD | CPU $DABD | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DABE.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dabe sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DABE:
|
|
sec ; PRG $1ABE | CPU $DABE | 38
|
|
sbc #$80 ; PRG $1ABF | CPU $DABF | E9 80
|
|
bcs UpdateGameplayStateField_DAD2 ; PRG $1AC1 | CPU $DAC1 | B0 0F
|
|
eor #$FF ; PRG $1AC3 | CPU $DAC3 | 49 FF
|
|
clc ; PRG $1AC5 | CPU $DAC5 | 18
|
|
adc #$01 ; PRG $1AC6 | CPU $DAC6 | 69 01
|
|
jsr TransformFlightState_DA75 ; PRG $1AC8 | CPU $DAC8 | 20 75 DA
|
|
jsr UpdateSideScrollingGameplay_DA8A ; PRG $1ACB | CPU $DACB | 20 8A DA
|
|
jsr UpdateSideScrollingGameplay_DA98 ; PRG $1ACE | CPU $DACE | 20 98 DA
|
|
rts ; PRG $1AD1 | CPU $DAD1 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DAD2.
|
|
; Local behavior: Executes the decoded update gameplay state field dad2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DAD2:
|
|
jsr TransformFlightState_DA75 ; PRG $1AD2 | CPU $DAD2 | 20 75 DA
|
|
jsr UpdateSideScrollingGameplay_DA98 ; PRG $1AD5 | CPU $DAD5 | 20 98 DA
|
|
rts ; PRG $1AD8 | CPU $DAD8 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DAD9.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dad9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DAD9:
|
|
lda Zp_B1 ; PRG $1AD9 | CPU $DAD9 | A5 B1
|
|
bne UpdateGameplayStateField_DB03 ; PRG $1ADB | CPU $DADB | D0 26
|
|
lda Zp_A3 ; PRG $1ADD | CPU $DADD | A5 A3
|
|
cmp #$E8 ; PRG $1ADF | CPU $DADF | C9 E8
|
|
bne UpdateGameplayStateField_DB03 ; PRG $1AE1 | CPU $DAE1 | D0 20
|
|
lda Ram_03E0 ; PRG $1AE3 | CPU $DAE3 | AD E0 03
|
|
cmp #$F4 ; PRG $1AE6 | CPU $DAE6 | C9 F4
|
|
bne UpdateSideScrollingGameplay_DB05 ; PRG $1AE8 | CPU $DAE8 | D0 1B
|
|
lda Ram_03F0 ; PRG $1AEA | CPU $DAEA | AD F0 03
|
|
cmp #$F4 ; PRG $1AED | CPU $DAED | C9 F4
|
|
bne UpdateSideScrollingGameplay_DB05 ; PRG $1AEF | CPU $DAEF | D0 14
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DAF1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay daf1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DAF1:
|
|
lda #$01 ; PRG $1AF1 | CPU $DAF1 | A9 01
|
|
sta Zp_B1 ; PRG $1AF3 | CPU $DAF3 | 85 B1
|
|
lda ScratchIndex ; PRG $1AF5 | CPU $DAF5 | A5 03
|
|
sta Zp_B2 ; PRG $1AF7 | CPU $DAF7 | 85 B2
|
|
lda DataPointerLo ; PRG $1AF9 | CPU $DAF9 | A5 04
|
|
sta Zp_B3 ; PRG $1AFB | CPU $DAFB | 85 B3
|
|
lda ScratchValue2 ; PRG $1AFD | CPU $DAFD | A5 02
|
|
sta Zp_B4 ; PRG $1AFF | CPU $DAFF | 85 B4
|
|
sec ; PRG $1B01 | CPU $DB01 | 38
|
|
rts ; PRG $1B02 | CPU $DB02 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DB03.
|
|
; Local behavior: Executes the decoded update gameplay state field db03 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DB03:
|
|
clc ; PRG $1B03 | CPU $DB03 | 18
|
|
rts ; PRG $1B04 | CPU $DB04 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DB05.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay db05 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DB05:
|
|
lda #$00 ; PRG $1B05 | CPU $DB05 | A9 00
|
|
sta ScratchValue0 ; PRG $1B07 | CPU $DB07 | 85 00
|
|
lda #$04 ; PRG $1B09 | CPU $DB09 | A9 04
|
|
sta ScratchValue1 ; PRG $1B0B | CPU $DB0B | 85 01
|
|
ldx #$14 ; PRG $1B0D | CPU $DB0D | A2 14
|
|
ldy #$00 ; PRG $1B0F | CPU $DB0F | A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DB11.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay db11 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DB11:
|
|
lda (ScratchValue0),y ; PRG $1B11 | CPU $DB11 | B1 00
|
|
beq UpdateGameplayStateField_DB03 ; PRG $1B13 | CPU $DB13 | F0 EE
|
|
jsr UpdateSideScrollingGameplay_DB1D ; PRG $1B15 | CPU $DB15 | 20 1D DB
|
|
dex ; PRG $1B18 | CPU $DB18 | CA
|
|
bne UpdateSideScrollingGameplay_DB11 ; PRG $1B19 | CPU $DB19 | D0 F6
|
|
beq UpdateSideScrollingGameplay_DAF1 ; PRG $1B1B | CPU $DB1B | F0 D4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DB1 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay db1 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DB1D:
|
|
clc ; PRG $1B1D | CPU $DB1D | 18
|
|
lda #$20 ; PRG $1B1E | CPU $DB1E | A9 20
|
|
adc ScratchValue0 ; PRG $1B20 | CPU $DB20 | 65 00
|
|
sta ScratchValue0 ; PRG $1B22 | CPU $DB22 | 85 00
|
|
lda #$00 ; PRG $1B24 | CPU $DB24 | A9 00
|
|
adc ScratchValue1 ; PRG $1B26 | CPU $DB26 | 65 01
|
|
sta ScratchValue1 ; PRG $1B28 | CPU $DB28 | 85 01
|
|
rts ; PRG $1B2A | CPU $DB2A | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DB2 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay db2 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DB2B:
|
|
lda #$A0 ; PRG $1B2B | CPU $DB2B | A9 A0
|
|
sta ScratchValue0 ; PRG $1B2D | CPU $DB2D | 85 00
|
|
lda #$05 ; PRG $1B2F | CPU $DB2F | A9 05
|
|
sta ScratchValue1 ; PRG $1B31 | CPU $DB31 | 85 01
|
|
ldx Zp_1E ; PRG $1B33 | CPU $DB33 | A6 1E
|
|
jsr UpdateSideScrollingGameplay_DB46 ; PRG $1B35 | CPU $DB35 | 20 46 DB
|
|
lda #$C0 ; PRG $1B38 | CPU $DB38 | A9 C0
|
|
sta ScratchValue0 ; PRG $1B3A | CPU $DB3A | 85 00
|
|
lda #$05 ; PRG $1B3C | CPU $DB3C | A9 05
|
|
sta ScratchValue1 ; PRG $1B3E | CPU $DB3E | 85 01
|
|
ldx Zp_1F ; PRG $1B40 | CPU $DB40 | A6 1F
|
|
jsr UpdateSideScrollingGameplay_DB46 ; PRG $1B42 | CPU $DB42 | 20 46 DB
|
|
rts ; PRG $1B45 | CPU $DB45 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DB46.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay db46 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DB46:
|
|
ldy #$00 ; PRG $1B46 | CPU $DB46 | A0 00
|
|
lda (ScratchValue0),y ; PRG $1B48 | CPU $DB48 | B1 00
|
|
cmp #$F4 ; PRG $1B4A | CPU $DB4A | C9 F4
|
|
beq UpdateGameplayStateField_DB99 ; PRG $1B4C | CPU $DB4C | F0 4B
|
|
ldy #$01 ; PRG $1B4E | CPU $DB4E | A0 01
|
|
lda (ScratchValue0),y ; PRG $1B50 | CPU $DB50 | B1 00
|
|
cmp #$30 ; PRG $1B52 | CPU $DB52 | C9 30
|
|
bcs UpdateSideScrollingGameplay_DB60 ; PRG $1B54 | CPU $DB54 | B0 0A
|
|
lda Zp_1D ; PRG $1B56 | CPU $DB56 | A5 1D
|
|
bpl UpdateSideScrollingGameplay_DB9E ; PRG $1B58 | CPU $DB58 | 10 44
|
|
lda #$D4 ; PRG $1B5A | CPU $DB5A | A9 D4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DB5 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay db5 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DB5C:
|
|
ldy #$01 ; PRG $1B5C | CPU $DB5C | A0 01
|
|
sta (ScratchValue0),y ; PRG $1B5E | CPU $DB5E | 91 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DB60.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay db60 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DB60:
|
|
cmp #$D8 ; PRG $1B60 | CPU $DB60 | C9 D8
|
|
bcc CalculateMovementAndClamp_DB6E ; PRG $1B62 | CPU $DB62 | 90 0A
|
|
lda Zp_1D ; PRG $1B64 | CPU $DB64 | A5 1D
|
|
bpl UpdateSideScrollingGameplay_DBA8 ; PRG $1B66 | CPU $DB66 | 10 40
|
|
lda #$34 ; PRG $1B68 | CPU $DB68 | A9 34
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DB6 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay db6 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DB6A:
|
|
ldy #$01 ; PRG $1B6A | CPU $DB6A | A0 01
|
|
sta (ScratchValue0),y ; PRG $1B6C | CPU $DB6C | 91 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value DB6 E.
|
|
; Local behavior: Executes the decoded calculate and clamp value db6 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_DB6E:
|
|
lda Ram_03C1 ; PRG $1B6E | CPU $DB6E | AD C1 03
|
|
sec ; PRG $1B71 | CPU $DB71 | 38
|
|
sbc #$14 ; PRG $1B72 | CPU $DB72 | E9 14
|
|
cmp (ScratchValue0),y ; PRG $1B74 | CPU $DB74 | D1 00
|
|
bcs UpdateSideScrollingGameplay_DB8F ; PRG $1B76 | CPU $DB76 | B0 17
|
|
clc ; PRG $1B78 | CPU $DB78 | 18
|
|
adc #$20 ; PRG $1B79 | CPU $DB79 | 69 20
|
|
cmp (ScratchValue0),y ; PRG $1B7B | CPU $DB7B | D1 00
|
|
bcc UpdateSideScrollingGameplay_DB8F ; PRG $1B7D | CPU $DB7D | 90 10
|
|
sec ; PRG $1B7F | CPU $DB7F | 38
|
|
sbc #$08 ; PRG $1B80 | CPU $DB80 | E9 08
|
|
cmp (ScratchValue0),y ; PRG $1B82 | CPU $DB82 | D1 00
|
|
ldy #$12 ; PRG $1B84 | CPU $DB84 | A0 12
|
|
lda (ScratchValue0),y ; PRG $1B86 | CPU $DB86 | B1 00
|
|
bcs UpdateSideScrollingGameplay_DB9A ; PRG $1B88 | CPU $DB88 | B0 10
|
|
bpl UpdateSideScrollingGameplay_DB8F ; PRG $1B8A | CPU $DB8A | 10 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DB8 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay db8 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DB8C:
|
|
jsr UpdateSideScrollingGameplay_DBB2 ; PRG $1B8C | CPU $DB8C | 20 B2 DB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DB8 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay db8 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DB8F:
|
|
txa ; PRG $1B8F | CPU $DB8F | 8A
|
|
cmp #$10 ; PRG $1B90 | CPU $DB90 | C9 10
|
|
bcs UpdateGameplayStateField_DB99 ; PRG $1B92 | CPU $DB92 | B0 05
|
|
ldy #$14 ; PRG $1B94 | CPU $DB94 | A0 14
|
|
jsr UpdateSideScrollingGameplay_DBB2 ; PRG $1B96 | CPU $DB96 | 20 B2 DB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DB99.
|
|
; Local behavior: Executes the decoded update gameplay state field db99 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DB99:
|
|
rts ; PRG $1B99 | CPU $DB99 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DB9 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay db9 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DB9A:
|
|
bmi UpdateSideScrollingGameplay_DB8F ; PRG $1B9A | CPU $DB9A | 30 F3
|
|
bpl UpdateSideScrollingGameplay_DB8C ; PRG $1B9C | CPU $DB9C | 10 EE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DB9 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay db9 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DB9E:
|
|
ldy #$12 ; PRG $1B9E | CPU $DB9E | A0 12
|
|
jsr UpdateSideScrollingGameplay_DBB2 ; PRG $1BA0 | CPU $DBA0 | 20 B2 DB
|
|
lda #$30 ; PRG $1BA3 | CPU $DBA3 | A9 30
|
|
jmp UpdateSideScrollingGameplay_DB5C ; PRG $1BA5 | CPU $DBA5 | 4C 5C DB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DBA8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dba8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DBA8:
|
|
ldy #$12 ; PRG $1BA8 | CPU $DBA8 | A0 12
|
|
jsr UpdateSideScrollingGameplay_DBB2 ; PRG $1BAA | CPU $DBAA | 20 B2 DB
|
|
lda #$D8 ; PRG $1BAD | CPU $DBAD | A9 D8
|
|
jmp UpdateSideScrollingGameplay_DB6A ; PRG $1BAF | CPU $DBAF | 4C 6A DB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DBB2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dbb2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DBB2:
|
|
sec ; PRG $1BB2 | CPU $DBB2 | 38
|
|
lda #$00 ; PRG $1BB3 | CPU $DBB3 | A9 00
|
|
sbc (ScratchValue0),y ; PRG $1BB5 | CPU $DBB5 | F1 00
|
|
sta (ScratchValue0),y ; PRG $1BB7 | CPU $DBB7 | 91 00
|
|
lda #$00 ; PRG $1BB9 | CPU $DBB9 | A9 00
|
|
dey ; PRG $1BBB | CPU $DBBB | 88
|
|
sbc (ScratchValue0),y ; PRG $1BBC | CPU $DBBC | F1 00
|
|
sta (ScratchValue0),y ; PRG $1BBE | CPU $DBBE | 91 00
|
|
rts ; PRG $1BC0 | CPU $DBC0 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DBC1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dbc1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DBC1:
|
|
lda #$60 ; PRG $1BC1 | CPU $DBC1 | A9 60
|
|
sta ScratchValue0 ; PRG $1BC3 | CPU $DBC3 | 85 00
|
|
lda #$05 ; PRG $1BC5 | CPU $DBC5 | A9 05
|
|
sta ScratchValue1 ; PRG $1BC7 | CPU $DBC7 | 85 01
|
|
ldx #$00 ; PRG $1BC9 | CPU $DBC9 | A2 00
|
|
jsr UpdateSideScrollingGameplay_DBF1 ; PRG $1BCB | CPU $DBCB | 20 F1 DB
|
|
lda #$80 ; PRG $1BCE | CPU $DBCE | A9 80
|
|
sta ScratchValue0 ; PRG $1BD0 | CPU $DBD0 | 85 00
|
|
lda #$05 ; PRG $1BD2 | CPU $DBD2 | A9 05
|
|
sta ScratchValue1 ; PRG $1BD4 | CPU $DBD4 | 85 01
|
|
ldx #$02 ; PRG $1BD6 | CPU $DBD6 | A2 02
|
|
jsr UpdateSideScrollingGameplay_DBF1 ; PRG $1BD8 | CPU $DBD8 | 20 F1 DB
|
|
ldx #$04 ; PRG $1BDB | CPU $DBDB | A2 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DBDD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dbdd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DBDD:
|
|
lda Zp_E0,x ; PRG $1BDD | CPU $DBDD | B5 E0
|
|
bne UpdateSideScrollingGameplay_DBE3 ; PRG $1BDF | CPU $DBDF | D0 02
|
|
lda #$FF ; PRG $1BE1 | CPU $DBE1 | A9 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DBE3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dbe3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DBE3:
|
|
sta Zp_E0,x ; PRG $1BE3 | CPU $DBE3 | 95 E0
|
|
lda Zp_1D,x ; PRG $1BE5 | CPU $DBE5 | B5 1D
|
|
cmp #$03 ; PRG $1BE7 | CPU $DBE7 | C9 03
|
|
bcs UpdateGameplayStateField_DBED ; PRG $1BE9 | CPU $DBE9 | B0 02
|
|
inc Zp_E0,x ; PRG $1BEB | CPU $DBEB | F6 E0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DBED.
|
|
; Local behavior: Executes the decoded update gameplay state field dbed sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DBED:
|
|
dex ; PRG $1BED | CPU $DBED | CA
|
|
bne UpdateSideScrollingGameplay_DBDD ; PRG $1BEE | CPU $DBEE | D0 ED
|
|
rts ; PRG $1BF0 | CPU $DBF0 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DBF1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dbf1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DBF1:
|
|
ldy #$00 ; PRG $1BF1 | CPU $DBF1 | A0 00
|
|
lda (ScratchValue0),y ; PRG $1BF3 | CPU $DBF3 | B1 00
|
|
cmp #$F4 ; PRG $1BF5 | CPU $DBF5 | C9 F4
|
|
beq UpdateGameplayStateField_DC16 ; PRG $1BF7 | CPU $DBF7 | F0 1D
|
|
ldy #$01 ; PRG $1BF9 | CPU $DBF9 | A0 01
|
|
lda (ScratchValue0),y ; PRG $1BFB | CPU $DBFB | B1 00
|
|
cmp #$30 ; PRG $1BFD | CPU $DBFD | C9 30
|
|
bcs UpdateSideScrollingGameplay_DC03 ; PRG $1BFF | CPU $DBFF | B0 02
|
|
lda #$D4 ; PRG $1C01 | CPU $DC01 | A9 D4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DC03.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dc03 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DC03:
|
|
cmp #$D8 ; PRG $1C03 | CPU $DC03 | C9 D8
|
|
bcc UpdateSideScrollingGameplay_DC09 ; PRG $1C05 | CPU $DC05 | 90 02
|
|
lda #$34 ; PRG $1C07 | CPU $DC07 | A9 34
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DC09.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dc09 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DC09:
|
|
sta (ScratchValue0),y ; PRG $1C09 | CPU $DC09 | 91 00
|
|
ldy #$11 ; PRG $1C0B | CPU $DC0B | A0 11
|
|
jsr CalculateMovementAndClamp_DC17 ; PRG $1C0D | CPU $DC0D | 20 17 DC
|
|
inx ; PRG $1C10 | CPU $DC10 | E8
|
|
ldy #$13 ; PRG $1C11 | CPU $DC11 | A0 13
|
|
jsr CalculateMovementAndClamp_DC17 ; PRG $1C13 | CPU $DC13 | 20 17 DC
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DC16.
|
|
; Local behavior: Executes the decoded update gameplay state field dc16 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DC16:
|
|
rts ; PRG $1C16 | CPU $DC16 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value DC17.
|
|
; Local behavior: Executes the decoded calculate and clamp value dc17 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_DC17:
|
|
lda Zp_E1,x ; PRG $1C17 | CPU $DC17 | B5 E1
|
|
and #$10 ; PRG $1C19 | CPU $DC19 | 29 10
|
|
beq CalculateMovementAndClamp_DC33 ; PRG $1C1B | CPU $DC1B | F0 16
|
|
lda (ScratchValue0),y ; PRG $1C1D | CPU $DC1D | B1 00
|
|
cmp #$02 ; PRG $1C1F | CPU $DC1F | C9 02
|
|
beq UpdateGameplayStateField_DC32 ; PRG $1C21 | CPU $DC21 | F0 0F
|
|
clc ; PRG $1C23 | CPU $DC23 | 18
|
|
lda #$01 ; PRG $1C24 | CPU $DC24 | A9 01
|
|
iny ; PRG $1C26 | CPU $DC26 | C8
|
|
adc (ScratchValue0),y ; PRG $1C27 | CPU $DC27 | 71 00
|
|
sta (ScratchValue0),y ; PRG $1C29 | CPU $DC29 | 91 00
|
|
lda #$00 ; PRG $1C2B | CPU $DC2B | A9 00
|
|
dey ; PRG $1C2D | CPU $DC2D | 88
|
|
adc (ScratchValue0),y ; PRG $1C2E | CPU $DC2E | 71 00
|
|
sta (ScratchValue0),y ; PRG $1C30 | CPU $DC30 | 91 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DC32.
|
|
; Local behavior: Executes the decoded update gameplay state field dc32 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DC32:
|
|
rts ; PRG $1C32 | CPU $DC32 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value DC33.
|
|
; Local behavior: Executes the decoded calculate and clamp value dc33 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_DC33:
|
|
lda (ScratchValue0),y ; PRG $1C33 | CPU $DC33 | B1 00
|
|
cmp #$FE ; PRG $1C35 | CPU $DC35 | C9 FE
|
|
beq UpdateGameplayStateField_DC32 ; PRG $1C37 | CPU $DC37 | F0 F9
|
|
sec ; PRG $1C39 | CPU $DC39 | 38
|
|
iny ; PRG $1C3A | CPU $DC3A | C8
|
|
lda (ScratchValue0),y ; PRG $1C3B | CPU $DC3B | B1 00
|
|
sbc #$01 ; PRG $1C3D | CPU $DC3D | E9 01
|
|
sta (ScratchValue0),y ; PRG $1C3F | CPU $DC3F | 91 00
|
|
dey ; PRG $1C41 | CPU $DC41 | 88
|
|
lda (ScratchValue0),y ; PRG $1C42 | CPU $DC42 | B1 00
|
|
sbc #$00 ; PRG $1C44 | CPU $DC44 | E9 00
|
|
sta (ScratchValue0),y ; PRG $1C46 | CPU $DC46 | 91 00
|
|
rts ; PRG $1C48 | CPU $DC48 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DC49.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dc49 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DC49:
|
|
lda Zp_D9 ; PRG $1C49 | CPU $DC49 | A5 D9
|
|
bne UpdateGameplayStateField_DC61 ; PRG $1C4B | CPU $DC4B | D0 14
|
|
lda #$01 ; PRG $1C4D | CPU $DC4D | A9 01
|
|
sta Zp_D9 ; PRG $1C4F | CPU $DC4F | 85 D9
|
|
dec Zp_AF ; PRG $1C51 | CPU $DC51 | C6 AF
|
|
bpl UpdateSideScrollingGameplay_DC59 ; PRG $1C53 | CPU $DC53 | 10 04
|
|
lda #$03 ; PRG $1C55 | CPU $DC55 | A9 03
|
|
sta Zp_AF ; PRG $1C57 | CPU $DC57 | 85 AF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DC59.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dc59 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DC59:
|
|
lda Zp_AF ; PRG $1C59 | CPU $DC59 | A5 AF
|
|
sta Ram_05A5 ; PRG $1C5B | CPU $DC5B | 8D A5 05
|
|
sta Ram_05C5 ; PRG $1C5E | CPU $DC5E | 8D C5 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DC61.
|
|
; Local behavior: Executes the decoded update gameplay state field dc61 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DC61:
|
|
rts ; PRG $1C61 | CPU $DC61 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DC62.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dc62 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DC62:
|
|
lda Zp_D8 ; PRG $1C62 | CPU $DC62 | A5 D8
|
|
bne UpdateGameplayStateField_DC7A ; PRG $1C64 | CPU $DC64 | D0 14
|
|
lda #$01 ; PRG $1C66 | CPU $DC66 | A9 01
|
|
sta Zp_D8 ; PRG $1C68 | CPU $DC68 | 85 D8
|
|
dec Zp_B0 ; PRG $1C6A | CPU $DC6A | C6 B0
|
|
bpl UpdateSideScrollingGameplay_DC72 ; PRG $1C6C | CPU $DC6C | 10 04
|
|
lda #$03 ; PRG $1C6E | CPU $DC6E | A9 03
|
|
sta Zp_B0 ; PRG $1C70 | CPU $DC70 | 85 B0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DC72.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dc72 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DC72:
|
|
lda Zp_B0 ; PRG $1C72 | CPU $DC72 | A5 B0
|
|
sta Ram_0565 ; PRG $1C74 | CPU $DC74 | 8D 65 05
|
|
sta Ram_0585 ; PRG $1C77 | CPU $DC77 | 8D 85 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DC7 A.
|
|
; Local behavior: Executes the decoded update gameplay state field dc7 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DC7A:
|
|
rts ; PRG $1C7A | CPU $DC7A | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DC7 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dc7 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DC7B:
|
|
lda #$60 ; PRG $1C7B | CPU $DC7B | A9 60
|
|
sta ScratchValue0 ; PRG $1C7D | CPU $DC7D | 85 00
|
|
lda #$05 ; PRG $1C7F | CPU $DC7F | A9 05
|
|
sta ScratchValue1 ; PRG $1C81 | CPU $DC81 | 85 01
|
|
ldx #$04 ; PRG $1C83 | CPU $DC83 | A2 04
|
|
lda #$44 ; PRG $1C85 | CPU $DC85 | A9 44
|
|
sta ScratchValue2 ; PRG $1C87 | CPU $DC87 | 85 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value DC89.
|
|
; Local behavior: Executes the decoded calculate and clamp value dc89 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_DC89:
|
|
ldy #$00 ; PRG $1C89 | CPU $DC89 | A0 00
|
|
lda (ScratchValue0),y ; PRG $1C8B | CPU $DC8B | B1 00
|
|
bne UpdateSideScrollingGameplay_DCA0 ; PRG $1C8D | CPU $DC8D | D0 11
|
|
ldy #$0B ; PRG $1C8F | CPU $DC8F | A0 0B
|
|
lda ScratchValue2 ; PRG $1C91 | CPU $DC91 | A5 02
|
|
sta (ScratchValue0),y ; PRG $1C93 | CPU $DC93 | 91 00
|
|
clc ; PRG $1C95 | CPU $DC95 | 18
|
|
adc #$10 ; PRG $1C96 | CPU $DC96 | 69 10
|
|
cmp #$64 ; PRG $1C98 | CPU $DC98 | C9 64
|
|
bne UpdateSideScrollingGameplay_DC9E ; PRG $1C9A | CPU $DC9A | D0 02
|
|
lda #$44 ; PRG $1C9C | CPU $DC9C | A9 44
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DC9 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dc9 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DC9E:
|
|
sta ScratchValue2 ; PRG $1C9E | CPU $DC9E | 85 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DCA0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dca0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DCA0:
|
|
clc ; PRG $1CA0 | CPU $DCA0 | 18
|
|
lda #$20 ; PRG $1CA1 | CPU $DCA1 | A9 20
|
|
adc ScratchValue0 ; PRG $1CA3 | CPU $DCA3 | 65 00
|
|
sta ScratchValue0 ; PRG $1CA5 | CPU $DCA5 | 85 00
|
|
lda #$00 ; PRG $1CA7 | CPU $DCA7 | A9 00
|
|
adc ScratchValue1 ; PRG $1CA9 | CPU $DCA9 | 65 01
|
|
sta ScratchValue1 ; PRG $1CAB | CPU $DCAB | 85 01
|
|
dex ; PRG $1CAD | CPU $DCAD | CA
|
|
bne CalculateMovementAndClamp_DC89 ; PRG $1CAE | CPU $DCAE | D0 D9
|
|
lda #$F4 ; PRG $1CB0 | CPU $DCB0 | A9 F4
|
|
ldy #$1C ; PRG $1CB2 | CPU $DCB2 | A0 1C
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DCB4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dcb4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DCB4:
|
|
sta Ram_0244,y ; PRG $1CB4 | CPU $DCB4 | 99 44 02
|
|
dey ; PRG $1CB7 | CPU $DCB7 | 88
|
|
dey ; PRG $1CB8 | CPU $DCB8 | 88
|
|
dey ; PRG $1CB9 | CPU $DCB9 | 88
|
|
dey ; PRG $1CBA | CPU $DCBA | 88
|
|
bpl UpdateSideScrollingGameplay_DCB4 ; PRG $1CBB | CPU $DCBB | 10 F7
|
|
lda #$60 ; PRG $1CBD | CPU $DCBD | A9 60
|
|
sta ScratchValue0 ; PRG $1CBF | CPU $DCBF | 85 00
|
|
lda #$05 ; PRG $1CC1 | CPU $DCC1 | A9 05
|
|
sta ScratchValue1 ; PRG $1CC3 | CPU $DCC3 | 85 01
|
|
ldx #$04 ; PRG $1CC5 | CPU $DCC5 | A2 04
|
|
jmp UpdateSideScrollingGameplay_E7F6 ; PRG $1CC7 | CPU $DCC7 | 4C F6 E7
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DCCA.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dcca sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DCCA:
|
|
lda #$00 ; PRG $1CCA | CPU $DCCA | A9 00
|
|
sta ScratchValue0 ; PRG $1CCC | CPU $DCCC | 85 00
|
|
lda #$04 ; PRG $1CCE | CPU $DCCE | A9 04
|
|
sta ScratchValue1 ; PRG $1CD0 | CPU $DCD0 | 85 01
|
|
lda #$80 ; PRG $1CD2 | CPU $DCD2 | A9 80
|
|
sta ScratchValue2 ; PRG $1CD4 | CPU $DCD4 | 85 02
|
|
lda #$06 ; PRG $1CD6 | CPU $DCD6 | A9 06
|
|
sta ScratchIndex ; PRG $1CD8 | CPU $DCD8 | 85 03
|
|
ldx Zp_32 ; PRG $1CDA | CPU $DCDA | A6 32
|
|
ldy Zp_58,x ; PRG $1CDC | CPU $DCDC | B4 58
|
|
lda GameplayLookupTable_C8EF,y ; PRG $1CDE | CPU $DCDE | B9 EF C8
|
|
beq UpdateGameplayStateField_DD23 ; PRG $1CE1 | CPU $DCE1 | F0 40
|
|
sta TemporaryPointerLo ; PRG $1CE3 | CPU $DCE3 | 85 06
|
|
sta TemporaryPointerHi ; PRG $1CE5 | CPU $DCE5 | 85 07
|
|
lda Zp_E0 ; PRG $1CE7 | CPU $DCE7 | A5 E0
|
|
bne CalculateMovementAndClamp_DCEF ; PRG $1CE9 | CPU $DCE9 | D0 04
|
|
lda #$28 ; PRG $1CEB | CPU $DCEB | A9 28
|
|
sta Zp_E0 ; PRG $1CED | CPU $DCED | 85 E0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value DCEF.
|
|
; Local behavior: Executes the decoded calculate and clamp value dcef sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_DCEF:
|
|
ldy #$00 ; PRG $1CEF | CPU $DCEF | A0 00
|
|
lda (ScratchValue2),y ; PRG $1CF1 | CPU $DCF1 | B1 02
|
|
bne UpdateSideScrollingGameplay_DD24 ; PRG $1CF3 | CPU $DCF3 | D0 2F
|
|
ldy #$17 ; PRG $1CF5 | CPU $DCF5 | A0 17
|
|
lda (ScratchValue2),y ; PRG $1CF7 | CPU $DCF7 | B1 02
|
|
sec ; PRG $1CF9 | CPU $DCF9 | 38
|
|
sbc #$01 ; PRG $1CFA | CPU $DCFA | E9 01
|
|
sta (ScratchValue2),y ; PRG $1CFC | CPU $DCFC | 91 02
|
|
beq UpdateSideScrollingGameplay_DD0C ; PRG $1CFE | CPU $DCFE | F0 0C
|
|
ldy #$01 ; PRG $1D00 | CPU $DD00 | A0 01
|
|
lda (ScratchValue2),y ; PRG $1D02 | CPU $DD02 | B1 02
|
|
cmp #$30 ; PRG $1D04 | CPU $DD04 | C9 30
|
|
bcc UpdateSideScrollingGameplay_DD0C ; PRG $1D06 | CPU $DD06 | 90 04
|
|
cmp #$D8 ; PRG $1D08 | CPU $DD08 | C9 D8
|
|
bcc UpdateSideScrollingGameplay_DD12 ; PRG $1D0A | CPU $DD0A | 90 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DD0 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dd0 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DD0C:
|
|
lda #$F4 ; PRG $1D0C | CPU $DD0C | A9 F4
|
|
ldy #$00 ; PRG $1D0E | CPU $DD0E | A0 00
|
|
sta (ScratchValue2),y ; PRG $1D10 | CPU $DD10 | 91 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DD12.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dd12 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DD12:
|
|
lda #$20 ; PRG $1D12 | CPU $DD12 | A9 20
|
|
clc ; PRG $1D14 | CPU $DD14 | 18
|
|
adc ScratchValue2 ; PRG $1D15 | CPU $DD15 | 65 02
|
|
sta ScratchValue2 ; PRG $1D17 | CPU $DD17 | 85 02
|
|
lda #$00 ; PRG $1D19 | CPU $DD19 | A9 00
|
|
adc ScratchIndex ; PRG $1D1B | CPU $DD1B | 65 03
|
|
sta ScratchIndex ; PRG $1D1D | CPU $DD1D | 85 03
|
|
dec TemporaryPointerLo ; PRG $1D1F | CPU $DD1F | C6 06
|
|
bne CalculateMovementAndClamp_DCEF ; PRG $1D21 | CPU $DD21 | D0 CC
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DD23.
|
|
; Local behavior: Executes the decoded update gameplay state field dd23 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DD23:
|
|
rts ; PRG $1D23 | CPU $DD23 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DD24.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dd24 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DD24:
|
|
cmp #$F4 ; PRG $1D24 | CPU $DD24 | C9 F4
|
|
bne UpdateSideScrollingGameplay_DD0C ; PRG $1D26 | CPU $DD26 | D0 E4
|
|
lda TemporaryPointerHi ; PRG $1D28 | CPU $DD28 | A5 07
|
|
beq UpdateSideScrollingGameplay_DD12 ; PRG $1D2A | CPU $DD2A | F0 E6
|
|
lda Zp_E0 ; PRG $1D2C | CPU $DD2C | A5 E0
|
|
cmp #$1F ; PRG $1D2E | CPU $DD2E | C9 1F
|
|
bcs UpdateSideScrollingGameplay_DD12 ; PRG $1D30 | CPU $DD30 | B0 E0
|
|
and #$01 ; PRG $1D32 | CPU $DD32 | 29 01
|
|
bne UpdateSideScrollingGameplay_DD12 ; PRG $1D34 | CPU $DD34 | D0 DC
|
|
dec Zp_AC ; PRG $1D36 | CPU $DD36 | C6 AC
|
|
beq UpdateSideScrollingGameplay_DD52 ; PRG $1D38 | CPU $DD38 | F0 18
|
|
bpl UpdateSideScrollingGameplay_DD40 ; PRG $1D3A | CPU $DD3A | 10 04
|
|
ldx #$0C ; PRG $1D3C | CPU $DD3C | A2 0C
|
|
stx Zp_AC ; PRG $1D3E | CPU $DD3E | 86 AC
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DD40.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dd40 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DD40:
|
|
ldx Zp_AC ; PRG $1D40 | CPU $DD40 | A6 AC
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DD42.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dd42 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DD42:
|
|
clc ; PRG $1D42 | CPU $DD42 | 18
|
|
lda #$20 ; PRG $1D43 | CPU $DD43 | A9 20
|
|
adc ScratchValue0 ; PRG $1D45 | CPU $DD45 | 65 00
|
|
sta ScratchValue0 ; PRG $1D47 | CPU $DD47 | 85 00
|
|
lda #$00 ; PRG $1D49 | CPU $DD49 | A9 00
|
|
adc ScratchValue1 ; PRG $1D4B | CPU $DD4B | 65 01
|
|
sta ScratchValue1 ; PRG $1D4D | CPU $DD4D | 85 01
|
|
dex ; PRG $1D4F | CPU $DD4F | CA
|
|
bne UpdateSideScrollingGameplay_DD42 ; PRG $1D50 | CPU $DD50 | D0 F0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DD52.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dd52 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DD52:
|
|
ldy #$00 ; PRG $1D52 | CPU $DD52 | A0 00
|
|
lda (ScratchValue0),y ; PRG $1D54 | CPU $DD54 | B1 00
|
|
bne UpdateSideScrollingGameplay_DDB8 ; PRG $1D56 | CPU $DD56 | D0 60
|
|
lda Zp_AC ; PRG $1D58 | CPU $DD58 | A5 AC
|
|
cmp #$0A ; PRG $1D5A | CPU $DD5A | C9 0A
|
|
bcs CalculateMovementAndClamp_DD6C ; PRG $1D5C | CPU $DD5C | B0 0E
|
|
and #$07 ; PRG $1D5E | CPU $DD5E | 29 07
|
|
ldx Zp_32 ; PRG $1D60 | CPU $DD60 | A6 32
|
|
ldy Zp_58,x ; PRG $1D62 | CPU $DD62 | B4 58
|
|
tax ; PRG $1D64 | CPU $DD64 | AA
|
|
lda GameplayLookupTable_C8EB,y ; PRG $1D65 | CPU $DD65 | B9 EB C8
|
|
cmp Zp_1D,x ; PRG $1D68 | CPU $DD68 | D5 1D
|
|
bcc UpdateSideScrollingGameplay_DDB8 ; PRG $1D6A | CPU $DD6A | 90 4C
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value DD6 C.
|
|
; Local behavior: Executes the decoded calculate and clamp value dd6 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_DD6C:
|
|
jsr UpdateSideScrollingGameplay_DDC3 ; PRG $1D6C | CPU $DD6C | 20 C3 DD
|
|
ldy #$00 ; PRG $1D6F | CPU $DD6F | A0 00
|
|
lda #$00 ; PRG $1D71 | CPU $DD71 | A9 00
|
|
sta (ScratchValue2),y ; PRG $1D73 | CPU $DD73 | 91 02
|
|
iny ; PRG $1D75 | CPU $DD75 | C8
|
|
lda (ScratchValue0),y ; PRG $1D76 | CPU $DD76 | B1 00
|
|
sta (ScratchValue2),y ; PRG $1D78 | CPU $DD78 | 91 02
|
|
ldy #$03 ; PRG $1D7A | CPU $DD7A | A0 03
|
|
lda (ScratchValue0),y ; PRG $1D7C | CPU $DD7C | B1 00
|
|
clc ; PRG $1D7E | CPU $DD7E | 18
|
|
adc #$04 ; PRG $1D7F | CPU $DD7F | 69 04
|
|
sta (ScratchValue2),y ; PRG $1D81 | CPU $DD81 | 91 02
|
|
lda Zp_AC ; PRG $1D83 | CPU $DD83 | A5 AC
|
|
cmp #$0B ; PRG $1D85 | CPU $DD85 | C9 0B
|
|
lda #$99 ; PRG $1D87 | CPU $DD87 | A9 99
|
|
bcc UpdateSideScrollingGameplay_DD8D ; PRG $1D89 | CPU $DD89 | 90 02
|
|
lda #$9B ; PRG $1D8B | CPU $DD8B | A9 9B
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DD8 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dd8 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DD8D:
|
|
ldy #$07 ; PRG $1D8D | CPU $DD8D | A0 07
|
|
sta (ScratchValue2),y ; PRG $1D8F | CPU $DD8F | 91 02
|
|
lda #$00 ; PRG $1D91 | CPU $DD91 | A9 00
|
|
sta TemporaryPointerHi ; PRG $1D93 | CPU $DD93 | 85 07
|
|
ldy #$17 ; PRG $1D95 | CPU $DD95 | A0 17
|
|
lda #$80 ; PRG $1D97 | CPU $DD97 | A9 80
|
|
sta (ScratchValue2),y ; PRG $1D99 | CPU $DD99 | 91 02
|
|
ldy #$10 ; PRG $1D9B | CPU $DD9B | A0 10
|
|
lda (ScratchValue0),y ; PRG $1D9D | CPU $DD9D | B1 00
|
|
cmp #$03 ; PRG $1D9F | CPU $DD9F | C9 03
|
|
ldx #$07 ; PRG $1DA1 | CPU $DDA1 | A2 07
|
|
bcc UpdateSideScrollingGameplay_DDA7 ; PRG $1DA3 | CPU $DDA3 | 90 02
|
|
ldx #$06 ; PRG $1DA5 | CPU $DDA5 | A2 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DDA7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dda7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DDA7:
|
|
lda Zp_AC ; PRG $1DA7 | CPU $DDA7 | A5 AC
|
|
cmp #$0A ; PRG $1DA9 | CPU $DDA9 | C9 0A
|
|
bcc UpdateSideScrollingGameplay_DDB5 ; PRG $1DAB | CPU $DDAB | 90 08
|
|
ldx #$07 ; PRG $1DAD | CPU $DDAD | A2 07
|
|
cmp #$0A ; PRG $1DAF | CPU $DDAF | C9 0A
|
|
beq UpdateSideScrollingGameplay_DDB5 ; PRG $1DB1 | CPU $DDB1 | F0 02
|
|
ldx #$05 ; PRG $1DB3 | CPU $DDB3 | A2 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DDB5.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ddb5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DDB5:
|
|
jsr UpdateSideScrollingGameplay_CE51 ; PRG $1DB5 | CPU $DDB5 | 20 51 CE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DDB8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ddb8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DDB8:
|
|
lda #$00 ; PRG $1DB8 | CPU $DDB8 | A9 00
|
|
sta ScratchValue0 ; PRG $1DBA | CPU $DDBA | 85 00
|
|
lda #$04 ; PRG $1DBC | CPU $DDBC | A9 04
|
|
sta ScratchValue1 ; PRG $1DBE | CPU $DDBE | 85 01
|
|
jmp UpdateSideScrollingGameplay_DD12 ; PRG $1DC0 | CPU $DDC0 | 4C 12 DD
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DDC3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ddc3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DDC3:
|
|
lda #$12 ; PRG $1DC3 | CPU $DDC3 | A9 12
|
|
ldx #$01 ; PRG $1DC5 | CPU $DDC5 | A2 01
|
|
ldy #$15 ; PRG $1DC7 | CPU $DDC7 | A0 15
|
|
jsr UpdateSideScrollingGameplay_DDD6 ; PRG $1DC9 | CPU $DDC9 | 20 D6 DD
|
|
lda #$14 ; PRG $1DCC | CPU $DDCC | A9 14
|
|
ldx #$03 ; PRG $1DCE | CPU $DDCE | A2 03
|
|
ldy #$16 ; PRG $1DD0 | CPU $DDD0 | A0 16
|
|
jsr UpdateSideScrollingGameplay_DDD6 ; PRG $1DD2 | CPU $DDD2 | 20 D6 DD
|
|
rts ; PRG $1DD5 | CPU $DDD5 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DDD6.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ddd6 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DDD6:
|
|
pha ; PRG $1DD6 | CPU $DDD6 | 48
|
|
lda #$00 ; PRG $1DD7 | CPU $DDD7 | A9 00
|
|
sta DataPointerLo ; PRG $1DD9 | CPU $DDD9 | 85 04
|
|
lda (ScratchValue2),y ; PRG $1DDB | CPU $DDDB | B1 02
|
|
sec ; PRG $1DDD | CPU $DDDD | 38
|
|
stx DataPointerHi ; PRG $1DDE | CPU $DDDE | 86 05
|
|
ldy DataPointerHi ; PRG $1DE0 | CPU $DDE0 | A4 05
|
|
sbc (ScratchValue0),y ; PRG $1DE2 | CPU $DDE2 | F1 00
|
|
bcs UpdateSideScrollingGameplay_DDFF ; PRG $1DE4 | CPU $DDE4 | B0 19
|
|
eor #$FF ; PRG $1DE6 | CPU $DDE6 | 49 FF
|
|
clc ; PRG $1DE8 | CPU $DDE8 | 18
|
|
adc #$01 ; PRG $1DE9 | CPU $DDE9 | 69 01
|
|
jsr TransformFlightState_DE0E ; PRG $1DEB | CPU $DDEB | 20 0E DE
|
|
pla ; PRG $1DEE | CPU $DDEE | 68
|
|
tay ; PRG $1DEF | CPU $DDEF | A8
|
|
lda #$00 ; PRG $1DF0 | CPU $DDF0 | A9 00
|
|
sec ; PRG $1DF2 | CPU $DDF2 | 38
|
|
sbc DataPointerLo ; PRG $1DF3 | CPU $DDF3 | E5 04
|
|
sta (ScratchValue2),y ; PRG $1DF5 | CPU $DDF5 | 91 02
|
|
lda #$00 ; PRG $1DF7 | CPU $DDF7 | A9 00
|
|
sbc DataPointerHi ; PRG $1DF9 | CPU $DDF9 | E5 05
|
|
dey ; PRG $1DFB | CPU $DDFB | 88
|
|
sta (ScratchValue2),y ; PRG $1DFC | CPU $DDFC | 91 02
|
|
rts ; PRG $1DFE | CPU $DDFE | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DDFF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ddff sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DDFF:
|
|
jsr TransformFlightState_DE0E ; PRG $1DFF | CPU $DDFF | 20 0E DE
|
|
pla ; PRG $1E02 | CPU $DE02 | 68
|
|
tay ; PRG $1E03 | CPU $DE03 | A8
|
|
lda DataPointerLo ; PRG $1E04 | CPU $DE04 | A5 04
|
|
sta (ScratchValue2),y ; PRG $1E06 | CPU $DE06 | 91 02
|
|
dey ; PRG $1E08 | CPU $DE08 | 88
|
|
lda DataPointerHi ; PRG $1E09 | CPU $DE09 | A5 05
|
|
sta (ScratchValue2),y ; PRG $1E0B | CPU $DE0B | 91 02
|
|
rts ; PRG $1E0D | CPU $DE0D | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State DE0 E.
|
|
; Local behavior: Executes the decoded transform flight state de0 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_DE0E:
|
|
lsr a ; PRG $1E0E | CPU $DE0E | 4A
|
|
ror DataPointerLo ; PRG $1E0F | CPU $DE0F | 66 04
|
|
cmp #$02 ; PRG $1E11 | CPU $DE11 | C9 02
|
|
bcs TransformFlightState_DE0E ; PRG $1E13 | CPU $DE13 | B0 F9
|
|
sta DataPointerHi ; PRG $1E15 | CPU $DE15 | 85 05
|
|
lda Zp_1D ; PRG $1E17 | CPU $DE17 | A5 1D
|
|
cmp #$C0 ; PRG $1E19 | CPU $DE19 | C9 C0
|
|
bcs UpdateGameplayStateField_DE21 ; PRG $1E1B | CPU $DE1B | B0 04
|
|
lsr DataPointerHi ; PRG $1E1D | CPU $DE1D | 46 05
|
|
ror DataPointerLo ; PRG $1E1F | CPU $DE1F | 66 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DE21.
|
|
; Local behavior: Executes the decoded update gameplay state field de21 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DE21:
|
|
rts ; PRG $1E21 | CPU $DE21 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DE22.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay de22 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DE22:
|
|
lda #$00 ; PRG $1E22 | CPU $DE22 | A9 00
|
|
sta ScratchValue0 ; PRG $1E24 | CPU $DE24 | 85 00
|
|
lda #$E0 ; PRG $1E26 | CPU $DE26 | A9 E0
|
|
sta ScratchValue2 ; PRG $1E28 | CPU $DE28 | 85 02
|
|
lda #$05 ; PRG $1E2A | CPU $DE2A | A9 05
|
|
sta ScratchIndex ; PRG $1E2C | CPU $DE2C | 85 03
|
|
ldx Zp_AB ; PRG $1E2E | CPU $DE2E | A6 AB
|
|
dex ; PRG $1E30 | CPU $DE30 | CA
|
|
bpl CalculateMovementAndClamp_DE35 ; PRG $1E31 | CPU $DE31 | 10 02
|
|
ldx #$08 ; PRG $1E33 | CPU $DE33 | A2 08
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value DE35.
|
|
; Local behavior: Executes the decoded calculate and clamp value de35 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_DE35:
|
|
stx Zp_AB ; PRG $1E35 | CPU $DE35 | 86 AB
|
|
txa ; PRG $1E37 | CPU $DE37 | 8A
|
|
asl a ; PRG $1E38 | CPU $DE38 | 0A
|
|
rol ScratchValue0 ; PRG $1E39 | CPU $DE39 | 26 00
|
|
asl a ; PRG $1E3B | CPU $DE3B | 0A
|
|
rol ScratchValue0 ; PRG $1E3C | CPU $DE3C | 26 00
|
|
asl a ; PRG $1E3E | CPU $DE3E | 0A
|
|
rol ScratchValue0 ; PRG $1E3F | CPU $DE3F | 26 00
|
|
asl a ; PRG $1E41 | CPU $DE41 | 0A
|
|
rol ScratchValue0 ; PRG $1E42 | CPU $DE42 | 26 00
|
|
asl a ; PRG $1E44 | CPU $DE44 | 0A
|
|
rol ScratchValue0 ; PRG $1E45 | CPU $DE45 | 26 00
|
|
clc ; PRG $1E47 | CPU $DE47 | 18
|
|
adc ScratchValue2 ; PRG $1E48 | CPU $DE48 | 65 02
|
|
sta ScratchValue2 ; PRG $1E4A | CPU $DE4A | 85 02
|
|
lda ScratchValue0 ; PRG $1E4C | CPU $DE4C | A5 00
|
|
adc ScratchIndex ; PRG $1E4E | CPU $DE4E | 65 03
|
|
sta ScratchIndex ; PRG $1E50 | CPU $DE50 | 85 03
|
|
ldy #$15 ; PRG $1E52 | CPU $DE52 | A0 15
|
|
lda Zp_1D ; PRG $1E54 | CPU $DE54 | A5 1D
|
|
cmp #$10 ; PRG $1E56 | CPU $DE56 | C9 10
|
|
bcc CalculateMovementAndClamp_DE60 ; PRG $1E58 | CPU $DE58 | 90 06
|
|
cmp #$F0 ; PRG $1E5A | CPU $DE5A | C9 F0
|
|
bcs CalculateMovementAndClamp_DE60 ; PRG $1E5C | CPU $DE5C | B0 02
|
|
lda #$00 ; PRG $1E5E | CPU $DE5E | A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value DE60.
|
|
; Local behavior: Executes the decoded calculate and clamp value de60 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_DE60:
|
|
adc Ram_03C1 ; PRG $1E60 | CPU $DE60 | 6D C1 03
|
|
sta (ScratchValue2),y ; PRG $1E63 | CPU $DE63 | 91 02
|
|
iny ; PRG $1E65 | CPU $DE65 | C8
|
|
lda Zp_1E ; PRG $1E66 | CPU $DE66 | A5 1E
|
|
cmp #$10 ; PRG $1E68 | CPU $DE68 | C9 10
|
|
bcc UpdateGameplayStateField_DE72 ; PRG $1E6A | CPU $DE6A | 90 06
|
|
cmp #$F0 ; PRG $1E6C | CPU $DE6C | C9 F0
|
|
bcs UpdateGameplayStateField_DE72 ; PRG $1E6E | CPU $DE6E | B0 02
|
|
lda #$00 ; PRG $1E70 | CPU $DE70 | A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DE72.
|
|
; Local behavior: Executes the decoded update gameplay state field de72 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DE72:
|
|
adc Ram_03C3 ; PRG $1E72 | CPU $DE72 | 6D C3 03
|
|
sta (ScratchValue2),y ; PRG $1E75 | CPU $DE75 | 91 02
|
|
rts ; PRG $1E77 | CPU $DE77 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DE78.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay de78 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DE78:
|
|
lda #$80 ; PRG $1E78 | CPU $DE78 | A9 80
|
|
sta ScratchValue0 ; PRG $1E7A | CPU $DE7A | 85 00
|
|
lda #$06 ; PRG $1E7C | CPU $DE7C | A9 06
|
|
sta ScratchValue1 ; PRG $1E7E | CPU $DE7E | 85 01
|
|
lda #$04 ; PRG $1E80 | CPU $DE80 | A9 04
|
|
sta Zp_0D ; PRG $1E82 | CPU $DE82 | 85 0D
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DE84.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay de84 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DE84:
|
|
jsr TransformFlightState_C47C ; PRG $1E84 | CPU $DE84 | 20 7C C4
|
|
clc ; PRG $1E87 | CPU $DE87 | 18
|
|
lda #$20 ; PRG $1E88 | CPU $DE88 | A9 20
|
|
adc ScratchValue0 ; PRG $1E8A | CPU $DE8A | 65 00
|
|
sta ScratchValue0 ; PRG $1E8C | CPU $DE8C | 85 00
|
|
lda #$00 ; PRG $1E8E | CPU $DE8E | A9 00
|
|
adc ScratchValue1 ; PRG $1E90 | CPU $DE90 | 65 01
|
|
sta ScratchValue1 ; PRG $1E92 | CPU $DE92 | 85 01
|
|
dec Zp_0D ; PRG $1E94 | CPU $DE94 | C6 0D
|
|
bne UpdateSideScrollingGameplay_DE84 ; PRG $1E96 | CPU $DE96 | D0 EC
|
|
rts ; PRG $1E98 | CPU $DE98 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DE99.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay de99 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DE99:
|
|
lda Zp_D7 ; PRG $1E99 | CPU $DE99 | A5 D7
|
|
bne UpdateGameplayStateField_DEB2 ; PRG $1E9B | CPU $DE9B | D0 15
|
|
lda #$03 ; PRG $1E9D | CPU $DE9D | A9 03
|
|
sta Zp_D7 ; PRG $1E9F | CPU $DE9F | 85 D7
|
|
lda Ram_0685 ; PRG $1EA1 | CPU $DEA1 | AD 85 06
|
|
eor #$01 ; PRG $1EA4 | CPU $DEA4 | 49 01
|
|
sta Ram_0685 ; PRG $1EA6 | CPU $DEA6 | 8D 85 06
|
|
sta Ram_06A5 ; PRG $1EA9 | CPU $DEA9 | 8D A5 06
|
|
sta Ram_06C5 ; PRG $1EAC | CPU $DEAC | 8D C5 06
|
|
sta Ram_06E5 ; PRG $1EAF | CPU $DEAF | 8D E5 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DEB2.
|
|
; Local behavior: Executes the decoded update gameplay state field deb2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DEB2:
|
|
rts ; PRG $1EB2 | CPU $DEB2 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DEB3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay deb3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DEB3:
|
|
lda Zp_D5 ; PRG $1EB3 | CPU $DEB3 | A5 D5
|
|
bne UpdateGameplayStateField_DEDE ; PRG $1EB5 | CPU $DEB5 | D0 27
|
|
lda #$00 ; PRG $1EB7 | CPU $DEB7 | A9 00
|
|
sta ScratchValue0 ; PRG $1EB9 | CPU $DEB9 | 85 00
|
|
lda #$04 ; PRG $1EBB | CPU $DEBB | A9 04
|
|
sta ScratchValue1 ; PRG $1EBD | CPU $DEBD | 85 01
|
|
lda #$C0 ; PRG $1EBF | CPU $DEBF | A9 C0
|
|
sta ScratchValue2 ; PRG $1EC1 | CPU $DEC1 | 85 02
|
|
lda #$03 ; PRG $1EC3 | CPU $DEC3 | A9 03
|
|
sta ScratchIndex ; PRG $1EC5 | CPU $DEC5 | 85 03
|
|
ldx #$18 ; PRG $1EC7 | CPU $DEC7 | A2 18
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DEC9.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dec9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DEC9:
|
|
jsr CalculateMovementAndClamp_C59C ; PRG $1EC9 | CPU $DEC9 | 20 9C C5
|
|
bcs UpdateGameplayStateField_DEDF ; PRG $1ECC | CPU $DECC | B0 11
|
|
lda #$20 ; PRG $1ECE | CPU $DECE | A9 20
|
|
clc ; PRG $1ED0 | CPU $DED0 | 18
|
|
adc ScratchValue0 ; PRG $1ED1 | CPU $DED1 | 65 00
|
|
sta ScratchValue0 ; PRG $1ED3 | CPU $DED3 | 85 00
|
|
lda #$00 ; PRG $1ED5 | CPU $DED5 | A9 00
|
|
adc ScratchValue1 ; PRG $1ED7 | CPU $DED7 | 65 01
|
|
sta ScratchValue1 ; PRG $1ED9 | CPU $DED9 | 85 01
|
|
dex ; PRG $1EDB | CPU $DEDB | CA
|
|
bne UpdateSideScrollingGameplay_DEC9 ; PRG $1EDC | CPU $DEDC | D0 EB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DEDE.
|
|
; Local behavior: Executes the decoded update gameplay state field dede sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DEDE:
|
|
rts ; PRG $1EDE | CPU $DEDE | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DEDF.
|
|
; Local behavior: Executes the decoded update gameplay state field dedf sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DEDF:
|
|
lda #$FF ; PRG $1EDF | CPU $DEDF | A9 FF
|
|
sta Zp_D5 ; PRG $1EE1 | CPU $DEE1 | 85 D5
|
|
lda #$09 ; PRG $1EE3 | CPU $DEE3 | A9 09
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $1EE5 | CPU $DEE5 | 20 5B CE
|
|
rts ; PRG $1EE8 | CPU $DEE8 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DEE9.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dee9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DEE9:
|
|
lda Zp_D5 ; PRG $1EE9 | CPU $DEE9 | A5 D5
|
|
beq UpdateGameplayStateField_DF11 ; PRG $1EEB | CPU $DEEB | F0 24
|
|
cmp #$E0 ; PRG $1EED | CPU $DEED | C9 E0
|
|
bcs UpdateSideScrollingGameplay_DF3C ; PRG $1EEF | CPU $DEEF | B0 4B
|
|
cmp #$D9 ; PRG $1EF1 | CPU $DEF1 | C9 D9
|
|
beq UpdateSideScrollingGameplay_DF12 ; PRG $1EF3 | CPU $DEF3 | F0 1D
|
|
cmp #$D0 ; PRG $1EF5 | CPU $DEF5 | C9 D0
|
|
beq UpdateSideScrollingGameplay_DF17 ; PRG $1EF7 | CPU $DEF7 | F0 1E
|
|
cmp #$C3 ; PRG $1EF9 | CPU $DEF9 | C9 C3
|
|
beq UpdateSideScrollingGameplay_DF17 ; PRG $1EFB | CPU $DEFB | F0 1A
|
|
cmp #$B0 ; PRG $1EFD | CPU $DEFD | C9 B0
|
|
beq UpdateSideScrollingGameplay_DF17 ; PRG $1EFF | CPU $DEFF | F0 16
|
|
cmp #$40 ; PRG $1F01 | CPU $DF01 | C9 40
|
|
bne UpdateSideScrollingGameplay_DF09 ; PRG $1F03 | CPU $DF03 | D0 04
|
|
lda #$01 ; PRG $1F05 | CPU $DF05 | A9 01
|
|
sta Zp_36 ; PRG $1F07 | CPU $DF07 | 85 36
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DF09.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay df09 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DF09:
|
|
pla ; PRG $1F09 | CPU $DF09 | 68
|
|
pla ; PRG $1F0A | CPU $DF0A | 68
|
|
jsr UpdateSideScrollingGameplay_C139 ; PRG $1F0B | CPU $DF0B | 20 39 C1
|
|
jmp UpdateSideScrollingGameplay_CB61 ; PRG $1F0E | CPU $DF0E | 4C 61 CB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DF11.
|
|
; Local behavior: Executes the decoded update gameplay state field df11 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DF11:
|
|
rts ; PRG $1F11 | CPU $DF11 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DF12.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay df12 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DF12:
|
|
lda #$F4 ; PRG $1F12 | CPU $DF12 | A9 F4
|
|
sta Ram_03C0 ; PRG $1F14 | CPU $DF14 | 8D C0 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DF17.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay df17 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DF17:
|
|
lda Ram_03C1 ; PRG $1F17 | CPU $DF17 | AD C1 03
|
|
clc ; PRG $1F1A | CPU $DF1A | 18
|
|
adc Ram_03CC ; PRG $1F1B | CPU $DF1B | 6D CC 03
|
|
sta Zp_A4 ; PRG $1F1E | CPU $DF1E | 85 A4
|
|
lda Ram_03C3 ; PRG $1F20 | CPU $DF20 | AD C3 03
|
|
clc ; PRG $1F23 | CPU $DF23 | 18
|
|
adc Ram_03CD ; PRG $1F24 | CPU $DF24 | 6D CD 03
|
|
sta Zp_A5 ; PRG $1F27 | CPU $DF27 | 85 A5
|
|
lda #$28 ; PRG $1F29 | CPU $DF29 | A9 28
|
|
sta Zp_A3 ; PRG $1F2B | CPU $DF2B | 85 A3
|
|
lda #$01 ; PRG $1F2D | CPU $DF2D | A9 01
|
|
sta Zp_A7 ; PRG $1F2F | CPU $DF2F | 85 A7
|
|
jsr UpdateSideScrollingGameplay_E6D5 ; PRG $1F31 | CPU $DF31 | 20 D5 E6
|
|
lda #$0F ; PRG $1F34 | CPU $DF34 | A9 0F
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $1F36 | CPU $DF36 | 20 5B CE
|
|
jmp UpdateSideScrollingGameplay_DF09 ; PRG $1F39 | CPU $DF39 | 4C 09 DF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DF3 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay df3 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DF3C:
|
|
lda Ram_03C5 ; PRG $1F3C | CPU $DF3C | AD C5 03
|
|
tax ; PRG $1F3F | CPU $DF3F | AA
|
|
cmp #$08 ; PRG $1F40 | CPU $DF40 | C9 08
|
|
bcs UpdateSideScrollingGameplay_DF4F ; PRG $1F42 | CPU $DF42 | B0 0B
|
|
cmp #$06 ; PRG $1F44 | CPU $DF44 | C9 06
|
|
bcs UpdateSideScrollingGameplay_DF53 ; PRG $1F46 | CPU $DF46 | B0 0B
|
|
cmp #$03 ; PRG $1F48 | CPU $DF48 | C9 03
|
|
lda #$01 ; PRG $1F4A | CPU $DF4A | A9 01
|
|
sta Ram_03C9 ; PRG $1F4C | CPU $DF4C | 8D C9 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DF4 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay df4 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DF4F:
|
|
ldx #$08 ; PRG $1F4F | CPU $DF4F | A2 08
|
|
bcs UpdateSideScrollingGameplay_DF55 ; PRG $1F51 | CPU $DF51 | B0 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DF53.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay df53 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DF53:
|
|
ldx #$06 ; PRG $1F53 | CPU $DF53 | A2 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DF55.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay df55 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DF55:
|
|
ldy #$25 ; PRG $1F55 | CPU $DF55 | A0 25
|
|
lda Zp_D5 ; PRG $1F57 | CPU $DF57 | A5 D5
|
|
and #$02 ; PRG $1F59 | CPU $DF59 | 29 02
|
|
beq UpdateSideScrollingGameplay_DF60 ; PRG $1F5B | CPU $DF5B | F0 03
|
|
ldy #$0F ; PRG $1F5D | CPU $DF5D | A0 0F
|
|
inx ; PRG $1F5F | CPU $DF5F | E8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DF60.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay df60 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DF60:
|
|
stx Ram_03C5 ; PRG $1F60 | CPU $DF60 | 8E C5 03
|
|
jsr UpdateGameplayStateField_D6EA ; PRG $1F63 | CPU $DF63 | 20 EA D6
|
|
jsr UpdateSideScrollingGameplay_E6D5 ; PRG $1F66 | CPU $DF66 | 20 D5 E6
|
|
lda #$F4 ; PRG $1F69 | CPU $DF69 | A9 F4
|
|
sta Ram_03E0 ; PRG $1F6B | CPU $DF6B | 8D E0 03
|
|
sta Ram_03F0 ; PRG $1F6E | CPU $DF6E | 8D F0 03
|
|
jsr UpdateSideScrollingGameplay_E6E1 ; PRG $1F71 | CPU $DF71 | 20 E1 E6
|
|
jmp UpdateSideScrollingGameplay_DF09 ; PRG $1F74 | CPU $DF74 | 4C 09 DF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DF77.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay df77 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DF77:
|
|
lda Zp_D4 ; PRG $1F77 | CPU $DF77 | A5 D4
|
|
bne UpdateGameplayStateField_DFC7 ; PRG $1F79 | CPU $DF79 | D0 4C
|
|
lda #$03 ; PRG $1F7B | CPU $DF7B | A9 03
|
|
sta Zp_D4 ; PRG $1F7D | CPU $DF7D | 85 D4
|
|
inc Zp_AA ; PRG $1F7F | CPU $DF7F | E6 AA
|
|
lda #$00 ; PRG $1F81 | CPU $DF81 | A9 00
|
|
sta ScratchValue0 ; PRG $1F83 | CPU $DF83 | 85 00
|
|
lda #$04 ; PRG $1F85 | CPU $DF85 | A9 04
|
|
sta ScratchValue1 ; PRG $1F87 | CPU $DF87 | 85 01
|
|
lda #$0A ; PRG $1F89 | CPU $DF89 | A9 0A
|
|
sta ScratchValue2 ; PRG $1F8B | CPU $DF8B | 85 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DF8 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay df8 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DF8D:
|
|
ldy #$00 ; PRG $1F8D | CPU $DF8D | A0 00
|
|
lda (ScratchValue0),y ; PRG $1F8F | CPU $DF8F | B1 00
|
|
cmp #$F4 ; PRG $1F91 | CPU $DF91 | C9 F4
|
|
beq UpdateSideScrollingGameplay_DFB6 ; PRG $1F93 | CPU $DF93 | F0 21
|
|
lda Zp_AA ; PRG $1F95 | CPU $DF95 | A5 AA
|
|
and #$03 ; PRG $1F97 | CPU $DF97 | 29 03
|
|
ldy #$05 ; PRG $1F99 | CPU $DF99 | A0 05
|
|
sta (ScratchValue0),y ; PRG $1F9B | CPU $DF9B | 91 00
|
|
ldy #$10 ; PRG $1F9D | CPU $DF9D | A0 10
|
|
lda (ScratchValue0),y ; PRG $1F9F | CPU $DF9F | B1 00
|
|
cmp #$03 ; PRG $1FA1 | CPU $DFA1 | C9 03
|
|
lda #$BC ; PRG $1FA3 | CPU $DFA3 | A9 BC
|
|
ldx #$03 ; PRG $1FA5 | CPU $DFA5 | A2 03
|
|
bcs UpdateSideScrollingGameplay_DFAD ; PRG $1FA7 | CPU $DFA7 | B0 04
|
|
lda #$A0 ; PRG $1FA9 | CPU $DFA9 | A9 A0
|
|
ldx #$02 ; PRG $1FAB | CPU $DFAB | A2 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DFAD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dfad sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DFAD:
|
|
ldy #$07 ; PRG $1FAD | CPU $DFAD | A0 07
|
|
sta (ScratchValue0),y ; PRG $1FAF | CPU $DFAF | 91 00
|
|
txa ; PRG $1FB1 | CPU $DFB1 | 8A
|
|
ldy #$09 ; PRG $1FB2 | CPU $DFB2 | A0 09
|
|
sta (ScratchValue0),y ; PRG $1FB4 | CPU $DFB4 | 91 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DFB6.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dfb6 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DFB6:
|
|
clc ; PRG $1FB6 | CPU $DFB6 | 18
|
|
lda #$20 ; PRG $1FB7 | CPU $DFB7 | A9 20
|
|
adc ScratchValue0 ; PRG $1FB9 | CPU $DFB9 | 65 00
|
|
sta ScratchValue0 ; PRG $1FBB | CPU $DFBB | 85 00
|
|
lda #$00 ; PRG $1FBD | CPU $DFBD | A9 00
|
|
adc ScratchValue1 ; PRG $1FBF | CPU $DFBF | 65 01
|
|
sta ScratchValue1 ; PRG $1FC1 | CPU $DFC1 | 85 01
|
|
dec ScratchValue2 ; PRG $1FC3 | CPU $DFC3 | C6 02
|
|
bne UpdateSideScrollingGameplay_DF8D ; PRG $1FC5 | CPU $DFC5 | D0 C6
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DFC7.
|
|
; Local behavior: Executes the decoded update gameplay state field dfc7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DFC7:
|
|
rts ; PRG $1FC7 | CPU $DFC7 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value DFC8.
|
|
; Local behavior: Executes the decoded calculate and clamp value dfc8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_DFC8:
|
|
lda Ram_0660 ; PRG $1FC8 | CPU $DFC8 | AD 60 06
|
|
cmp #$F4 ; PRG $1FCB | CPU $DFCB | C9 F4
|
|
beq UpdateGameplayStateField_DFFC ; PRG $1FCD | CPU $DFCD | F0 2D
|
|
lda Ram_0661 ; PRG $1FCF | CPU $DFCF | AD 61 06
|
|
cmp #$D0 ; PRG $1FD2 | CPU $DFD2 | C9 D0
|
|
bcs UpdateGameplayStateField_E023 ; PRG $1FD4 | CPU $DFD4 | B0 4D
|
|
lda #$C0 ; PRG $1FD6 | CPU $DFD6 | A9 C0
|
|
sta ScratchValue0 ; PRG $1FD8 | CPU $DFD8 | 85 00
|
|
lda #$03 ; PRG $1FDA | CPU $DFDA | A9 03
|
|
sta ScratchValue1 ; PRG $1FDC | CPU $DFDC | 85 01
|
|
lda #$60 ; PRG $1FDE | CPU $DFDE | A9 60
|
|
sta ScratchValue2 ; PRG $1FE0 | CPU $DFE0 | 85 02
|
|
lda #$06 ; PRG $1FE2 | CPU $DFE2 | A9 06
|
|
sta ScratchIndex ; PRG $1FE4 | CPU $DFE4 | 85 03
|
|
jsr CalculateMovementAndClamp_C59C ; PRG $1FE6 | CPU $DFE6 | 20 9C C5
|
|
bcs UpdateSideScrollingGameplay_DFFD ; PRG $1FE9 | CPU $DFE9 | B0 12
|
|
clc ; PRG $1FEB | CPU $DFEB | 18
|
|
lda #$02 ; PRG $1FEC | CPU $DFEC | A9 02
|
|
adc Ram_0672 ; PRG $1FEE | CPU $DFEE | 6D 72 06
|
|
sta Ram_0672 ; PRG $1FF1 | CPU $DFF1 | 8D 72 06
|
|
lda #$00 ; PRG $1FF4 | CPU $DFF4 | A9 00
|
|
adc Ram_0671 ; PRG $1FF6 | CPU $DFF6 | 6D 71 06
|
|
sta Ram_0671 ; PRG $1FF9 | CPU $DFF9 | 8D 71 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field DFFC.
|
|
; Local behavior: Executes the decoded update gameplay state field dffc sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_DFFC:
|
|
rts ; PRG $1FFC | CPU $DFFC | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay DFFD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay dffd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_DFFD:
|
|
lda #$05 ; PRG $1FFD | CPU $DFFD | A9 05
|
|
ldx Zp_1D ; PRG $1FFF | CPU $DFFF | A6 1D
|
|
bmi UpdateSideScrollingGameplay_E005 ; PRG $2001 | CPU $E001 | 30 02
|
|
lda #$06 ; PRG $2003 | CPU $E003 | A9 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E005.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e005 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E005:
|
|
sta Zp_A6 ; PRG $2005 | CPU $E005 | 85 A6
|
|
sec ; PRG $2007 | CPU $E007 | 38
|
|
sbc #$01 ; PRG $2008 | CPU $E008 | E9 01
|
|
jsr UpdateSideScrollingGameplay_CE91 ; PRG $200A | CPU $E00A | 20 91 CE
|
|
lda #$00 ; PRG $200D | CPU $E00D | A9 00
|
|
sta Zp_A3 ; PRG $200F | CPU $E00F | 85 A3
|
|
lda Ram_0661 ; PRG $2011 | CPU $E011 | AD 61 06
|
|
sec ; PRG $2014 | CPU $E014 | 38
|
|
sbc #$04 ; PRG $2015 | CPU $E015 | E9 04
|
|
sta Zp_A4 ; PRG $2017 | CPU $E017 | 85 A4
|
|
lda #$08 ; PRG $2019 | CPU $E019 | A9 08
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $201B | CPU $E01B | 20 5B CE
|
|
lda Ram_0663 ; PRG $201E | CPU $E01E | AD 63 06
|
|
sta Zp_A5 ; PRG $2021 | CPU $E021 | 85 A5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E023.
|
|
; Local behavior: Executes the decoded update gameplay state field e023 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E023:
|
|
lda #$F4 ; PRG $2023 | CPU $E023 | A9 F4
|
|
sta Ram_0660 ; PRG $2025 | CPU $E025 | 8D 60 06
|
|
rts ; PRG $2028 | CPU $E028 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E029.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e029 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E029:
|
|
lda #$60 ; PRG $2029 | CPU $E029 | A9 60
|
|
sta ScratchValue0 ; PRG $202B | CPU $E02B | 85 00
|
|
lda #$06 ; PRG $202D | CPU $E02D | A9 06
|
|
sta ScratchValue1 ; PRG $202F | CPU $E02F | 85 01
|
|
jmp TransformFlightState_C47C ; PRG $2031 | CPU $E031 | 4C 7C C4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E034.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e034 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E034:
|
|
lda #$20 ; PRG $2034 | CPU $E034 | A9 20
|
|
clc ; PRG $2036 | CPU $E036 | 18
|
|
adc ScratchValue0 ; PRG $2037 | CPU $E037 | 65 00
|
|
sta ScratchValue0 ; PRG $2039 | CPU $E039 | 85 00
|
|
lda #$00 ; PRG $203B | CPU $E03B | A9 00
|
|
adc ScratchValue1 ; PRG $203D | CPU $E03D | 65 01
|
|
sta ScratchValue1 ; PRG $203F | CPU $E03F | 85 01
|
|
dec ScratchValue2 ; PRG $2041 | CPU $E041 | C6 02
|
|
bne UpdateSideScrollingGameplay_E059 ; PRG $2043 | CPU $E043 | D0 14
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E045.
|
|
; Local behavior: Executes the decoded update gameplay state field e045 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E045:
|
|
rts ; PRG $2045 | CPU $E045 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E046.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e046 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E046:
|
|
lda #$00 ; PRG $2046 | CPU $E046 | A9 00
|
|
sta ScratchValue0 ; PRG $2048 | CPU $E048 | 85 00
|
|
lda #$04 ; PRG $204A | CPU $E04A | A9 04
|
|
sta ScratchValue1 ; PRG $204C | CPU $E04C | 85 01
|
|
lda #$0A ; PRG $204E | CPU $E04E | A9 0A
|
|
sta ScratchValue2 ; PRG $2050 | CPU $E050 | 85 02
|
|
lda Ram_0660 ; PRG $2052 | CPU $E052 | AD 60 06
|
|
cmp #$F4 ; PRG $2055 | CPU $E055 | C9 F4
|
|
bne UpdateGameplayStateField_E045 ; PRG $2057 | CPU $E057 | D0 EC
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E059.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e059 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E059:
|
|
ldy #$10 ; PRG $2059 | CPU $E059 | A0 10
|
|
lda (ScratchValue0),y ; PRG $205B | CPU $E05B | B1 00
|
|
cmp #$01 ; PRG $205D | CPU $E05D | C9 01
|
|
bne UpdateSideScrollingGameplay_E034 ; PRG $205F | CPU $E05F | D0 D3
|
|
ldy #$01 ; PRG $2061 | CPU $E061 | A0 01
|
|
lda (ScratchValue0),y ; PRG $2063 | CPU $E063 | B1 00
|
|
cmp #$C0 ; PRG $2065 | CPU $E065 | C9 C0
|
|
bcc UpdateSideScrollingGameplay_E034 ; PRG $2067 | CPU $E067 | 90 CB
|
|
ldx #$0F ; PRG $2069 | CPU $E069 | A2 0F
|
|
ldy #$00 ; PRG $206B | CPU $E06B | A0 00
|
|
lda (ScratchValue0),y ; PRG $206D | CPU $E06D | B1 00
|
|
beq UpdateSideScrollingGameplay_E0A4 ; PRG $206F | CPU $E06F | F0 33
|
|
cmp #$F4 ; PRG $2071 | CPU $E071 | C9 F4
|
|
beq UpdateSideScrollingGameplay_E034 ; PRG $2073 | CPU $E073 | F0 BF
|
|
lda Zp_1D ; PRG $2075 | CPU $E075 | A5 1D
|
|
cmp #$A0 ; PRG $2077 | CPU $E077 | C9 A0
|
|
bcc UpdateSideScrollingGameplay_E034 ; PRG $2079 | CPU $E079 | 90 B9
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E07 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e07 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E07B:
|
|
sec ; PRG $207B | CPU $E07B | 38
|
|
lda Ram_03B0,x ; PRG $207C | CPU $E07C | BD B0 03
|
|
sbc VerticalScroll ; PRG $207F | CPU $E07F | E5 13
|
|
dex ; PRG $2081 | CPU $E081 | CA
|
|
php ; PRG $2082 | CPU $E082 | 08
|
|
lda Ram_03B0,x ; PRG $2083 | CPU $E083 | BD B0 03
|
|
bne UpdateSideScrollingGameplay_E08F ; PRG $2086 | CPU $E086 | D0 07
|
|
ldy HorizontalScroll ; PRG $2088 | CPU $E088 | A4 12
|
|
beq UpdateSideScrollingGameplay_E08F ; PRG $208A | CPU $E08A | F0 03
|
|
clc ; PRG $208C | CPU $E08C | 18
|
|
adc #$02 ; PRG $208D | CPU $E08D | 69 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E08 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e08 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E08F:
|
|
plp ; PRG $208F | CPU $E08F | 28
|
|
sbc HorizontalScroll ; PRG $2090 | CPU $E090 | E5 12
|
|
bcs UpdateSideScrollingGameplay_E099 ; PRG $2092 | CPU $E092 | B0 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E094.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e094 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E094:
|
|
bmi UpdateSideScrollingGameplay_E09B ; PRG $2094 | CPU $E094 | 30 05
|
|
jmp UpdateSideScrollingGameplay_E0D2 ; PRG $2096 | CPU $E096 | 4C D2 E0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E099.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e099 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E099:
|
|
bne UpdateSideScrollingGameplay_E094 ; PRG $2099 | CPU $E099 | D0 F9
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E09 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e09 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E09B:
|
|
dex ; PRG $209B | CPU $E09B | CA
|
|
bpl UpdateSideScrollingGameplay_E07B ; PRG $209C | CPU $E09C | 10 DD
|
|
jmp UpdateSideScrollingGameplay_E034 ; PRG $209E | CPU $E09E | 4C 34 E0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E0 A1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e0 a1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E0A1:
|
|
dex ; PRG $20A1 | CPU $E0A1 | CA
|
|
bmi UpdateSideScrollingGameplay_E034 ; PRG $20A2 | CPU $E0A2 | 30 90
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E0 A4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e0 a4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E0A4:
|
|
lda Ram_03B0,x ; PRG $20A4 | CPU $E0A4 | BD B0 03
|
|
sbc VerticalScroll ; PRG $20A7 | CPU $E0A7 | E5 13
|
|
sta ScratchIndex ; PRG $20A9 | CPU $E0A9 | 85 03
|
|
dex ; PRG $20AB | CPU $E0AB | CA
|
|
php ; PRG $20AC | CPU $E0AC | 08
|
|
lda Ram_03B0,x ; PRG $20AD | CPU $E0AD | BD B0 03
|
|
bne CalculateMovementAndClamp_E0B9 ; PRG $20B0 | CPU $E0B0 | D0 07
|
|
ldy HorizontalScroll ; PRG $20B2 | CPU $E0B2 | A4 12
|
|
beq CalculateMovementAndClamp_E0B9 ; PRG $20B4 | CPU $E0B4 | F0 03
|
|
clc ; PRG $20B6 | CPU $E0B6 | 18
|
|
adc #$02 ; PRG $20B7 | CPU $E0B7 | 69 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value E0 B9.
|
|
; Local behavior: Executes the decoded calculate and clamp value e0 b9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_E0B9:
|
|
plp ; PRG $20B9 | CPU $E0B9 | 28
|
|
sbc HorizontalScroll ; PRG $20BA | CPU $E0BA | E5 12
|
|
bcc UpdateSideScrollingGameplay_E0A1 ; PRG $20BC | CPU $E0BC | 90 E3
|
|
bne UpdateSideScrollingGameplay_E0A1 ; PRG $20BE | CPU $E0BE | D0 E1
|
|
ldy #$03 ; PRG $20C0 | CPU $E0C0 | A0 03
|
|
lda (ScratchValue0),y ; PRG $20C2 | CPU $E0C2 | B1 00
|
|
clc ; PRG $20C4 | CPU $E0C4 | 18
|
|
adc #$02 ; PRG $20C5 | CPU $E0C5 | 69 02
|
|
cmp ScratchIndex ; PRG $20C7 | CPU $E0C7 | C5 03
|
|
bcs UpdateSideScrollingGameplay_E0A1 ; PRG $20C9 | CPU $E0C9 | B0 D6
|
|
clc ; PRG $20CB | CPU $E0CB | 18
|
|
adc #$04 ; PRG $20CC | CPU $E0CC | 69 04
|
|
cmp ScratchIndex ; PRG $20CE | CPU $E0CE | C5 03
|
|
bcc UpdateSideScrollingGameplay_E0A1 ; PRG $20D0 | CPU $E0D0 | 90 CF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E0 D2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e0 d2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E0D2:
|
|
ldy #$03 ; PRG $20D2 | CPU $E0D2 | A0 03
|
|
lda (ScratchValue0),y ; PRG $20D4 | CPU $E0D4 | B1 00
|
|
cmp #$10 ; PRG $20D6 | CPU $E0D6 | C9 10
|
|
bcc UpdateGameplayStateField_E13F ; PRG $20D8 | CPU $E0D8 | 90 65
|
|
cmp #$F0 ; PRG $20DA | CPU $E0DA | C9 F0
|
|
bcs UpdateGameplayStateField_E13F ; PRG $20DC | CPU $E0DC | B0 61
|
|
ldy #$04 ; PRG $20DE | CPU $E0DE | A0 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State E0 E0.
|
|
; Local behavior: Executes the decoded transform flight state e0 e0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_E0E0:
|
|
lda (ScratchValue0),y ; PRG $20E0 | CPU $E0E0 | B1 00
|
|
sta Ram_0660,y ; PRG $20E2 | CPU $E0E2 | 99 60 06
|
|
dey ; PRG $20E5 | CPU $E0E5 | 88
|
|
bpl TransformFlightState_E0E0 ; PRG $20E6 | CPU $E0E6 | 10 F8
|
|
ldy #$03 ; PRG $20E8 | CPU $E0E8 | A0 03
|
|
lda #$04 ; PRG $20EA | CPU $E0EA | A9 04
|
|
clc ; PRG $20EC | CPU $E0EC | 18
|
|
adc Ram_0660,y ; PRG $20ED | CPU $E0ED | 79 60 06
|
|
sta Ram_0660,y ; PRG $20F0 | CPU $E0F0 | 99 60 06
|
|
ldy #$01 ; PRG $20F3 | CPU $E0F3 | A0 01
|
|
lda #$08 ; PRG $20F5 | CPU $E0F5 | A9 08
|
|
clc ; PRG $20F7 | CPU $E0F7 | 18
|
|
adc Ram_0660,y ; PRG $20F8 | CPU $E0F8 | 79 60 06
|
|
sta Ram_0660,y ; PRG $20FB | CPU $E0FB | 99 60 06
|
|
ldy #$10 ; PRG $20FE | CPU $E0FE | A0 10
|
|
lda #$02 ; PRG $2100 | CPU $E100 | A9 02
|
|
sta (ScratchValue0),y ; PRG $2102 | CPU $E102 | 91 00
|
|
iny ; PRG $2104 | CPU $E104 | C8
|
|
lda #$FF ; PRG $2105 | CPU $E105 | A9 FF
|
|
sta (ScratchValue0),y ; PRG $2107 | CPU $E107 | 91 00
|
|
iny ; PRG $2109 | CPU $E109 | C8
|
|
lda #$80 ; PRG $210A | CPU $E10A | A9 80
|
|
sta (ScratchValue0),y ; PRG $210C | CPU $E10C | 91 00
|
|
iny ; PRG $210E | CPU $E10E | C8
|
|
lda #$00 ; PRG $210F | CPU $E10F | A9 00
|
|
sta (ScratchValue0),y ; PRG $2111 | CPU $E111 | 91 00
|
|
iny ; PRG $2113 | CPU $E113 | C8
|
|
sta (ScratchValue0),y ; PRG $2114 | CPU $E114 | 91 00
|
|
lda #$F4 ; PRG $2116 | CPU $E116 | A9 F4
|
|
sta Ram_03B0,x ; PRG $2118 | CPU $E118 | 9D B0 03
|
|
txa ; PRG $211B | CPU $E11B | 8A
|
|
asl a ; PRG $211C | CPU $E11C | 0A
|
|
tay ; PRG $211D | CPU $E11D | A8
|
|
lda GameplayConstantData_C690 ; PRG $211E | CPU $E11E | AD 90 C6
|
|
sta ScratchIndex ; PRG $2121 | CPU $E121 | 85 03
|
|
lda GameplayConstantData_C68F ; PRG $2123 | CPU $E123 | AD 8F C6
|
|
sta ScratchValue2 ; PRG $2126 | CPU $E126 | 85 02
|
|
lda (ScratchValue2),y ; PRG $2128 | CPU $E128 | B1 02
|
|
sta ScratchValue1 ; PRG $212A | CPU $E12A | 85 01
|
|
iny ; PRG $212C | CPU $E12C | C8
|
|
lda (ScratchValue2),y ; PRG $212D | CPU $E12D | B1 02
|
|
sta ScratchValue0 ; PRG $212F | CPU $E12F | 85 00
|
|
ldy #$24 ; PRG $2131 | CPU $E131 | A0 24
|
|
jsr UpdateSideScrollingGameplay_C3E2 ; PRG $2133 | CPU $E133 | 20 E2 C3
|
|
ldx Zp_32 ; PRG $2136 | CPU $E136 | A6 32
|
|
dec Zp_5C,x ; PRG $2138 | CPU $E138 | D6 5C
|
|
lda #$04 ; PRG $213A | CPU $E13A | A9 04
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $213C | CPU $E13C | 20 5B CE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E13 F.
|
|
; Local behavior: Executes the decoded update gameplay state field e13 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E13F:
|
|
rts ; PRG $213F | CPU $E13F | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E140.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e140 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E140:
|
|
ldx Zp_32 ; PRG $2140 | CPU $E140 | A6 32
|
|
lda Zp_58,x ; PRG $2142 | CPU $E142 | B5 58
|
|
bcs TransformFlightState_E149 ; PRG $2144 | CPU $E144 | B0 03
|
|
clc ; PRG $2146 | CPU $E146 | 18
|
|
adc #$04 ; PRG $2147 | CPU $E147 | 69 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State E149.
|
|
; Local behavior: Executes the decoded transform flight state e149 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_E149:
|
|
asl a ; PRG $2149 | CPU $E149 | 0A
|
|
tax ; PRG $214A | CPU $E14A | AA
|
|
rts ; PRG $214B | CPU $E14B | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E14 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e14 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E14C:
|
|
ldy #$16 ; PRG $214C | CPU $E14C | A0 16
|
|
lda (ScratchValue0),y ; PRG $214E | CPU $E14E | B1 00
|
|
clc ; PRG $2150 | CPU $E150 | 18
|
|
adc #$01 ; PRG $2151 | CPU $E151 | 69 01
|
|
sta (ScratchValue0),y ; PRG $2153 | CPU $E153 | 91 00
|
|
rts ; PRG $2155 | CPU $E155 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E156.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e156 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E156:
|
|
lda Zp_1D ; PRG $2156 | CPU $E156 | A5 1D
|
|
and #$03 ; PRG $2158 | CPU $E158 | 29 03
|
|
beq UpdateSideScrollingGameplay_E177 ; PRG $215A | CPU $E15A | F0 1B
|
|
bne UpdateSideScrollingGameplay_E1BF ; PRG $215C | CPU $E15C | D0 61
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E15 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e15 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E15E:
|
|
lda #$01 ; PRG $215E | CPU $E15E | A9 01
|
|
ldx #$80 ; PRG $2160 | CPU $E160 | A2 80
|
|
jmp UpdateSideScrollingGameplay_E1FB ; PRG $2162 | CPU $E162 | 4C FB E1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value E165.
|
|
; Local behavior: Executes the decoded calculate and clamp value e165 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_E165:
|
|
sty Zp_A9 ; PRG $2165 | CPU $E165 | 84 A9
|
|
lda Ram_03C3 ; PRG $2167 | CPU $E167 | AD C3 03
|
|
ldy #$03 ; PRG $216A | CPU $E16A | A0 03
|
|
cmp (ScratchValue0),y ; PRG $216C | CPU $E16C | D1 00
|
|
bcs UpdateSideScrollingGameplay_E156 ; PRG $216E | CPU $E16E | B0 E6
|
|
clc ; PRG $2170 | CPU $E170 | 18
|
|
adc #$0A ; PRG $2171 | CPU $E171 | 69 0A
|
|
cmp (ScratchValue0),y ; PRG $2173 | CPU $E173 | D1 00
|
|
bcc UpdateSideScrollingGameplay_E156 ; PRG $2175 | CPU $E175 | 90 DF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E177.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e177 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E177:
|
|
lda Ram_03C1 ; PRG $2177 | CPU $E177 | AD C1 03
|
|
ldy #$01 ; PRG $217A | CPU $E17A | A0 01
|
|
cmp (ScratchValue0),y ; PRG $217C | CPU $E17C | D1 00
|
|
jsr UpdateSideScrollingGameplay_E140 ; PRG $217E | CPU $E17E | 20 40 E1
|
|
ldy #$11 ; PRG $2181 | CPU $E181 | A0 11
|
|
lda GameplayLookupTable_C8DB,x ; PRG $2183 | CPU $E183 | BD DB C8
|
|
sta (ScratchValue0),y ; PRG $2186 | CPU $E186 | 91 00
|
|
iny ; PRG $2188 | CPU $E188 | C8
|
|
inx ; PRG $2189 | CPU $E189 | E8
|
|
lda GameplayLookupTable_C8DB,x ; PRG $218A | CPU $E18A | BD DB C8
|
|
sta (ScratchValue0),y ; PRG $218D | CPU $E18D | 91 00
|
|
ldy ScratchValue2 ; PRG $218F | CPU $E18F | A4 02
|
|
lda Zp_1D,y ; PRG $2191 | CPU $E191 | B9 1D 00
|
|
cmp #$40 ; PRG $2194 | CPU $E194 | C9 40
|
|
bcc UpdateSideScrollingGameplay_E19B ; PRG $2196 | CPU $E196 | 90 03
|
|
jsr UpdateSideScrollingGameplay_E14C ; PRG $2198 | CPU $E198 | 20 4C E1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E19 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e19 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E19B:
|
|
ldy #$13 ; PRG $219B | CPU $E19B | A0 13
|
|
and #$02 ; PRG $219D | CPU $E19D | 29 02
|
|
beq UpdateSideScrollingGameplay_E15E ; PRG $219F | CPU $E19F | F0 BD
|
|
lda #$FE ; PRG $21A1 | CPU $E1A1 | A9 FE
|
|
ldx #$80 ; PRG $21A3 | CPU $E1A3 | A2 80
|
|
jmp UpdateSideScrollingGameplay_E1FB ; PRG $21A5 | CPU $E1A5 | 4C FB E1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E1 A8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e1 a8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E1A8:
|
|
lda (ScratchValue0),y ; PRG $21A8 | CPU $E1A8 | B1 00
|
|
cmp #$30 ; PRG $21AA | CPU $E1AA | C9 30
|
|
bcc UpdateSideScrollingGameplay_E1F5 ; PRG $21AC | CPU $E1AC | 90 47
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E1 AE.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e1 ae sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E1AE:
|
|
ldy #$11 ; PRG $21AE | CPU $E1AE | A0 11
|
|
lda #$FF ; PRG $21B0 | CPU $E1B0 | A9 FF
|
|
ldx #$00 ; PRG $21B2 | CPU $E1B2 | A2 00
|
|
jmp UpdateSideScrollingGameplay_E1FB ; PRG $21B4 | CPU $E1B4 | 4C FB E1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E1 B7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e1 b7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E1B7:
|
|
ldy #$00 ; PRG $21B7 | CPU $E1B7 | A0 00
|
|
lda (ScratchValue0),y ; PRG $21B9 | CPU $E1B9 | B1 00
|
|
beq CalculateMovementAndClamp_E165 ; PRG $21BB | CPU $E1BB | F0 A8
|
|
cmp #$03 ; PRG $21BD | CPU $E1BD | C9 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E1 BF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e1 bf sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E1BF:
|
|
jsr UpdateSideScrollingGameplay_E140 ; PRG $21BF | CPU $E1BF | 20 40 E1
|
|
ldy #$13 ; PRG $21C2 | CPU $E1C2 | A0 13
|
|
lda GameplayLookupTable_C8CB,x ; PRG $21C4 | CPU $E1C4 | BD CB C8
|
|
sta (ScratchValue0),y ; PRG $21C7 | CPU $E1C7 | 91 00
|
|
iny ; PRG $21C9 | CPU $E1C9 | C8
|
|
inx ; PRG $21CA | CPU $E1CA | E8
|
|
lda GameplayLookupTable_C8CB,x ; PRG $21CB | CPU $E1CB | BD CB C8
|
|
sta (ScratchValue0),y ; PRG $21CE | CPU $E1CE | 91 00
|
|
lda Zp_A9 ; PRG $21D0 | CPU $E1D0 | A5 A9
|
|
beq UpdateSideScrollingGameplay_E1DD ; PRG $21D2 | CPU $E1D2 | F0 09
|
|
ldy #$13 ; PRG $21D4 | CPU $E1D4 | A0 13
|
|
lda #$00 ; PRG $21D6 | CPU $E1D6 | A9 00
|
|
ldx #$00 ; PRG $21D8 | CPU $E1D8 | A2 00
|
|
jsr UpdateSideScrollingGameplay_E1FB ; PRG $21DA | CPU $E1DA | 20 FB E1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E1 DD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e1 dd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E1DD:
|
|
ldy ScratchValue2 ; PRG $21DD | CPU $E1DD | A4 02
|
|
lda Zp_1D,y ; PRG $21DF | CPU $E1DF | B9 1D 00
|
|
cmp #$20 ; PRG $21E2 | CPU $E1E2 | C9 20
|
|
bcc UpdateSideScrollingGameplay_E1E9 ; PRG $21E4 | CPU $E1E4 | 90 03
|
|
jsr UpdateSideScrollingGameplay_E14C ; PRG $21E6 | CPU $E1E6 | 20 4C E1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E1 E9.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e1 e9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E1E9:
|
|
ldy #$01 ; PRG $21E9 | CPU $E1E9 | A0 01
|
|
and #$02 ; PRG $21EB | CPU $E1EB | 29 02
|
|
beq UpdateSideScrollingGameplay_E1A8 ; PRG $21ED | CPU $E1ED | F0 B9
|
|
lda (ScratchValue0),y ; PRG $21EF | CPU $E1EF | B1 00
|
|
cmp #$C8 ; PRG $21F1 | CPU $E1F1 | C9 C8
|
|
bcs UpdateSideScrollingGameplay_E1AE ; PRG $21F3 | CPU $E1F3 | B0 B9
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E1 F5.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e1 f5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E1F5:
|
|
ldy #$11 ; PRG $21F5 | CPU $E1F5 | A0 11
|
|
lda #$01 ; PRG $21F7 | CPU $E1F7 | A9 01
|
|
ldx #$00 ; PRG $21F9 | CPU $E1F9 | A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E1 FB.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e1 fb sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E1FB:
|
|
sta (ScratchValue0),y ; PRG $21FB | CPU $E1FB | 91 00
|
|
iny ; PRG $21FD | CPU $E1FD | C8
|
|
txa ; PRG $21FE | CPU $E1FE | 8A
|
|
sta (ScratchValue0),y ; PRG $21FF | CPU $E1FF | 91 00
|
|
jmp UpdateSideScrollingGameplay_E2ED ; PRG $2201 | CPU $E201 | 4C ED E2
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E204.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e204 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E204:
|
|
jmp UpdateSideScrollingGameplay_E294 ; PRG $2204 | CPU $E204 | 4C 94 E2
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E207.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e207 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E207:
|
|
cmp #$01 ; PRG $2207 | CPU $E207 | C9 01
|
|
beq UpdateSideScrollingGameplay_E204 ; PRG $2209 | CPU $E209 | F0 F9
|
|
cmp #$02 ; PRG $220B | CPU $E20B | C9 02
|
|
bne UpdateSideScrollingGameplay_E1B7 ; PRG $220D | CPU $E20D | D0 A8
|
|
ldy #$14 ; PRG $220F | CPU $E20F | A0 14
|
|
ldx #$04 ; PRG $2211 | CPU $E211 | A2 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E213.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e213 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E213:
|
|
lda (ScratchValue0),y ; PRG $2213 | CPU $E213 | B1 00
|
|
sta Ram_0660,y ; PRG $2215 | CPU $E215 | 99 60 06
|
|
dey ; PRG $2218 | CPU $E218 | 88
|
|
dex ; PRG $2219 | CPU $E219 | CA
|
|
bne UpdateSideScrollingGameplay_E213 ; PRG $221A | CPU $E21A | D0 F7
|
|
lda Ram_0660 ; PRG $221C | CPU $E21C | AD 60 06
|
|
cmp #$F4 ; PRG $221F | CPU $E21F | C9 F4
|
|
lda #$00 ; PRG $2221 | CPU $E221 | A9 00
|
|
bcs UpdateSideScrollingGameplay_E239 ; PRG $2223 | CPU $E223 | B0 14
|
|
ldy #$01 ; PRG $2225 | CPU $E225 | A0 01
|
|
lda (ScratchValue0),y ; PRG $2227 | CPU $E227 | B1 00
|
|
cmp #$34 ; PRG $2229 | CPU $E229 | C9 34
|
|
bcs UpdateSideScrollingGameplay_E23D ; PRG $222B | CPU $E22B | B0 10
|
|
lda #$F4 ; PRG $222D | CPU $E22D | A9 F4
|
|
sta Ram_0660 ; PRG $222F | CPU $E22F | 8D 60 06
|
|
lda #$0D ; PRG $2232 | CPU $E232 | A9 0D
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $2234 | CPU $E234 | 20 5B CE
|
|
lda #$03 ; PRG $2237 | CPU $E237 | A9 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E239.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e239 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E239:
|
|
ldy #$10 ; PRG $2239 | CPU $E239 | A0 10
|
|
sta (ScratchValue0),y ; PRG $223B | CPU $E23B | 91 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E23 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e23 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E23D:
|
|
jmp UpdateSideScrollingGameplay_E2ED ; PRG $223D | CPU $E23D | 4C ED E2
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E240.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e240 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E240:
|
|
lda #$00 ; PRG $2240 | CPU $E240 | A9 00
|
|
sta ScratchValue0 ; PRG $2242 | CPU $E242 | 85 00
|
|
lda #$04 ; PRG $2244 | CPU $E244 | A9 04
|
|
sta ScratchValue1 ; PRG $2246 | CPU $E246 | 85 01
|
|
lda #$0A ; PRG $2248 | CPU $E248 | A9 0A
|
|
sta ScratchValue2 ; PRG $224A | CPU $E24A | 85 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E24 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e24 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E24C:
|
|
ldy #$00 ; PRG $224C | CPU $E24C | A0 00
|
|
lda (ScratchValue0),y ; PRG $224E | CPU $E24E | B1 00
|
|
cmp #$F4 ; PRG $2250 | CPU $E250 | C9 F4
|
|
beq UpdateSideScrollingGameplay_E23D ; PRG $2252 | CPU $E252 | F0 E9
|
|
ldy #$10 ; PRG $2254 | CPU $E254 | A0 10
|
|
lda (ScratchValue0),y ; PRG $2256 | CPU $E256 | B1 00
|
|
bne UpdateSideScrollingGameplay_E207 ; PRG $2258 | CPU $E258 | D0 AD
|
|
lda #$01 ; PRG $225A | CPU $E25A | A9 01
|
|
sta (ScratchValue0),y ; PRG $225C | CPU $E25C | 91 00
|
|
ldy ScratchValue2 ; PRG $225E | CPU $E25E | A4 02
|
|
lda Zp_1D,y ; PRG $2260 | CPU $E260 | B9 1D 00
|
|
ldx #$02 ; PRG $2263 | CPU $E263 | A2 02
|
|
and #$01 ; PRG $2265 | CPU $E265 | 29 01
|
|
beq UpdateSideScrollingGameplay_E26B ; PRG $2267 | CPU $E267 | F0 02
|
|
ldx #$0C ; PRG $2269 | CPU $E269 | A2 0C
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E26 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e26 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E26B:
|
|
lda Zp_1D,y ; PRG $226B | CPU $E26B | B9 1D 00
|
|
cmp #$C0 ; PRG $226E | CPU $E26E | C9 C0
|
|
bcc UpdateSideScrollingGameplay_E274 ; PRG $2270 | CPU $E270 | 90 02
|
|
inx ; PRG $2272 | CPU $E272 | E8
|
|
inx ; PRG $2273 | CPU $E273 | E8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E274.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e274 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E274:
|
|
ldy Zp_32 ; PRG $2274 | CPU $E274 | A4 32
|
|
lda Zp_58,y ; PRG $2276 | CPU $E276 | B9 58 00
|
|
beq UpdateSideScrollingGameplay_E283 ; PRG $2279 | CPU $E279 | F0 08
|
|
inx ; PRG $227B | CPU $E27B | E8
|
|
inx ; PRG $227C | CPU $E27C | E8
|
|
cmp #$01 ; PRG $227D | CPU $E27D | C9 01
|
|
beq UpdateSideScrollingGameplay_E283 ; PRG $227F | CPU $E27F | F0 02
|
|
inx ; PRG $2281 | CPU $E281 | E8
|
|
inx ; PRG $2282 | CPU $E282 | E8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E283.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e283 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E283:
|
|
lda GameplayLookupTable_C89F,x ; PRG $2283 | CPU $E283 | BD 9F C8
|
|
ldy #$13 ; PRG $2286 | CPU $E286 | A0 13
|
|
sta (ScratchValue0),y ; PRG $2288 | CPU $E288 | 91 00
|
|
inx ; PRG $228A | CPU $E28A | E8
|
|
lda GameplayLookupTable_C89F,x ; PRG $228B | CPU $E28B | BD 9F C8
|
|
ldy #$14 ; PRG $228E | CPU $E28E | A0 14
|
|
sta (ScratchValue0),y ; PRG $2290 | CPU $E290 | 91 00
|
|
lda #$00 ; PRG $2292 | CPU $E292 | A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E294.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e294 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E294:
|
|
ldx #$02 ; PRG $2294 | CPU $E294 | A2 02
|
|
ldy #$01 ; PRG $2296 | CPU $E296 | A0 01
|
|
lda (ScratchValue0),y ; PRG $2298 | CPU $E298 | B1 00
|
|
cmp #$80 ; PRG $229A | CPU $E29A | C9 80
|
|
ldy ScratchValue2 ; PRG $229C | CPU $E29C | A4 02
|
|
bcc UpdateSideScrollingGameplay_E2BD ; PRG $229E | CPU $E29E | 90 1D
|
|
cmp #$C8 ; PRG $22A0 | CPU $E2A0 | C9 C8
|
|
bcs UpdateSideScrollingGameplay_E2BB ; PRG $22A2 | CPU $E2A2 | B0 17
|
|
ldy #$15 ; PRG $22A4 | CPU $E2A4 | A0 15
|
|
lda (ScratchValue0),y ; PRG $22A6 | CPU $E2A6 | B1 00
|
|
bne UpdateSideScrollingGameplay_E2E6 ; PRG $22A8 | CPU $E2A8 | D0 3C
|
|
ldy ScratchValue2 ; PRG $22AA | CPU $E2AA | A4 02
|
|
lda Zp_1D,y ; PRG $22AC | CPU $E2AC | B9 1D 00
|
|
ldx #$00 ; PRG $22AF | CPU $E2AF | A2 00
|
|
cmp #$90 ; PRG $22B1 | CPU $E2B1 | C9 90
|
|
bcc UpdateSideScrollingGameplay_E2D5 ; PRG $22B3 | CPU $E2B3 | 90 20
|
|
ldx #$02 ; PRG $22B5 | CPU $E2B5 | A2 02
|
|
and #$01 ; PRG $22B7 | CPU $E2B7 | 29 01
|
|
beq UpdateSideScrollingGameplay_E2BD ; PRG $22B9 | CPU $E2B9 | F0 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E2 BB.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e2 bb sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E2BB:
|
|
ldx #$0C ; PRG $22BB | CPU $E2BB | A2 0C
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E2 BD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e2 bd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E2BD:
|
|
lda Zp_1D,y ; PRG $22BD | CPU $E2BD | B9 1D 00
|
|
and #$0C ; PRG $22C0 | CPU $E2C0 | 29 0C
|
|
bne UpdateSideScrollingGameplay_E2C6 ; PRG $22C2 | CPU $E2C2 | D0 02
|
|
inx ; PRG $22C4 | CPU $E2C4 | E8
|
|
inx ; PRG $22C5 | CPU $E2C5 | E8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E2 C6.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e2 c6 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E2C6:
|
|
ldy Zp_32 ; PRG $22C6 | CPU $E2C6 | A4 32
|
|
lda Zp_58,y ; PRG $22C8 | CPU $E2C8 | B9 58 00
|
|
beq UpdateSideScrollingGameplay_E2D5 ; PRG $22CB | CPU $E2CB | F0 08
|
|
inx ; PRG $22CD | CPU $E2CD | E8
|
|
inx ; PRG $22CE | CPU $E2CE | E8
|
|
cmp #$01 ; PRG $22CF | CPU $E2CF | C9 01
|
|
beq UpdateSideScrollingGameplay_E2D5 ; PRG $22D1 | CPU $E2D1 | F0 02
|
|
inx ; PRG $22D3 | CPU $E2D3 | E8
|
|
inx ; PRG $22D4 | CPU $E2D4 | E8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E2 D5.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e2 d5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E2D5:
|
|
lda GameplayLookupTable_C8B5,x ; PRG $22D5 | CPU $E2D5 | BD B5 C8
|
|
ldy #$11 ; PRG $22D8 | CPU $E2D8 | A0 11
|
|
sta (ScratchValue0),y ; PRG $22DA | CPU $E2DA | 91 00
|
|
inx ; PRG $22DC | CPU $E2DC | E8
|
|
lda GameplayLookupTable_C8B5,x ; PRG $22DD | CPU $E2DD | BD B5 C8
|
|
ldy #$12 ; PRG $22E0 | CPU $E2E0 | A0 12
|
|
sta (ScratchValue0),y ; PRG $22E2 | CPU $E2E2 | 91 00
|
|
lda #$80 ; PRG $22E4 | CPU $E2E4 | A9 80
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E2 E6.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e2 e6 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E2E6:
|
|
clc ; PRG $22E6 | CPU $E2E6 | 18
|
|
ldy #$15 ; PRG $22E7 | CPU $E2E7 | A0 15
|
|
adc #$01 ; PRG $22E9 | CPU $E2E9 | 69 01
|
|
sta (ScratchValue0),y ; PRG $22EB | CPU $E2EB | 91 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E2 ED.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e2 ed sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E2ED:
|
|
clc ; PRG $22ED | CPU $E2ED | 18
|
|
lda #$20 ; PRG $22EE | CPU $E2EE | A9 20
|
|
adc ScratchValue0 ; PRG $22F0 | CPU $E2F0 | 65 00
|
|
sta ScratchValue0 ; PRG $22F2 | CPU $E2F2 | 85 00
|
|
lda #$00 ; PRG $22F4 | CPU $E2F4 | A9 00
|
|
adc ScratchValue1 ; PRG $22F6 | CPU $E2F6 | 65 01
|
|
sta ScratchValue1 ; PRG $22F8 | CPU $E2F8 | 85 01
|
|
dec ScratchValue2 ; PRG $22FA | CPU $E2FA | C6 02
|
|
beq UpdateGameplayStateField_E301 ; PRG $22FC | CPU $E2FC | F0 03
|
|
jmp UpdateSideScrollingGameplay_E24C ; PRG $22FE | CPU $E2FE | 4C 4C E2
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E301.
|
|
; Local behavior: Executes the decoded update gameplay state field e301 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E301:
|
|
lda #$00 ; PRG $2301 | CPU $E301 | A9 00
|
|
sta Zp_A9 ; PRG $2303 | CPU $E303 | 85 A9
|
|
rts ; PRG $2305 | CPU $E305 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E306.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e306 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E306:
|
|
lda #$E0 ; PRG $2306 | CPU $E306 | A9 E0
|
|
sta ScratchValue0 ; PRG $2308 | CPU $E308 | 85 00
|
|
lda #$03 ; PRG $230A | CPU $E30A | A9 03
|
|
sta ScratchValue1 ; PRG $230C | CPU $E30C | 85 01
|
|
jsr UpdateSideScrollingGameplay_E31D ; PRG $230E | CPU $E30E | 20 1D E3
|
|
lda #$F0 ; PRG $2311 | CPU $E311 | A9 F0
|
|
sta ScratchValue0 ; PRG $2313 | CPU $E313 | 85 00
|
|
lda #$03 ; PRG $2315 | CPU $E315 | A9 03
|
|
sta ScratchValue1 ; PRG $2317 | CPU $E317 | 85 01
|
|
jsr UpdateSideScrollingGameplay_E31D ; PRG $2319 | CPU $E319 | 20 1D E3
|
|
rts ; PRG $231C | CPU $E31C | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E31 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e31 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E31D:
|
|
lda #$00 ; PRG $231D | CPU $E31D | A9 00
|
|
sta ScratchValue2 ; PRG $231F | CPU $E31F | 85 02
|
|
lda #$04 ; PRG $2321 | CPU $E321 | A9 04
|
|
sta ScratchIndex ; PRG $2323 | CPU $E323 | 85 03
|
|
ldx #$18 ; PRG $2325 | CPU $E325 | A2 18
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value E327.
|
|
; Local behavior: Executes the decoded calculate and clamp value e327 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_E327:
|
|
jsr CalculateMovementAndClamp_C59C ; PRG $2327 | CPU $E327 | 20 9C C5
|
|
bcc UpdateSideScrollingGameplay_E37A ; PRG $232A | CPU $E32A | 90 4E
|
|
lda #$F4 ; PRG $232C | CPU $E32C | A9 F4
|
|
ldy #$00 ; PRG $232E | CPU $E32E | A0 00
|
|
sta (ScratchValue0),y ; PRG $2330 | CPU $E330 | 91 00
|
|
sta (ScratchValue2),y ; PRG $2332 | CPU $E332 | 91 02
|
|
ldy #$0C ; PRG $2334 | CPU $E334 | A0 0C
|
|
clc ; PRG $2336 | CPU $E336 | 18
|
|
lda (ScratchValue2),y ; PRG $2337 | CPU $E337 | B1 02
|
|
ldy #$01 ; PRG $2339 | CPU $E339 | A0 01
|
|
adc (ScratchValue2),y ; PRG $233B | CPU $E33B | 71 02
|
|
sta Zp_A4 ; PRG $233D | CPU $E33D | 85 A4
|
|
ldy #$0D ; PRG $233F | CPU $E33F | A0 0D
|
|
clc ; PRG $2341 | CPU $E341 | 18
|
|
lda (ScratchValue2),y ; PRG $2342 | CPU $E342 | B1 02
|
|
ldy #$03 ; PRG $2344 | CPU $E344 | A0 03
|
|
adc (ScratchValue2),y ; PRG $2346 | CPU $E346 | 71 02
|
|
sta Zp_A5 ; PRG $2348 | CPU $E348 | 85 A5
|
|
lda #$00 ; PRG $234A | CPU $E34A | A9 00
|
|
sta Zp_A7 ; PRG $234C | CPU $E34C | 85 A7
|
|
ldy #$28 ; PRG $234E | CPU $E34E | A0 28
|
|
txa ; PRG $2350 | CPU $E350 | 8A
|
|
cmp #$05 ; PRG $2351 | CPU $E351 | C9 05
|
|
beq UpdateSideScrollingGameplay_E39E ; PRG $2353 | CPU $E353 | F0 49
|
|
bcc UpdateSideScrollingGameplay_E371 ; PRG $2355 | CPU $E355 | 90 1A
|
|
iny ; PRG $2357 | CPU $E357 | C8
|
|
iny ; PRG $2358 | CPU $E358 | C8
|
|
iny ; PRG $2359 | CPU $E359 | C8
|
|
iny ; PRG $235A | CPU $E35A | C8
|
|
cmp #$0E ; PRG $235B | CPU $E35B | C9 0E
|
|
beq UpdateSideScrollingGameplay_E39E ; PRG $235D | CPU $E35D | F0 3F
|
|
dey ; PRG $235F | CPU $E35F | 88
|
|
dey ; PRG $2360 | CPU $E360 | 88
|
|
bcs UpdateSideScrollingGameplay_E38B ; PRG $2361 | CPU $E361 | B0 28
|
|
cmp #$0A ; PRG $2363 | CPU $E363 | C9 0A
|
|
lda #$02 ; PRG $2365 | CPU $E365 | A9 02
|
|
bcs UpdateSideScrollingGameplay_E36C ; PRG $2367 | CPU $E367 | B0 03
|
|
lda #$02 ; PRG $2369 | CPU $E369 | A9 02
|
|
iny ; PRG $236B | CPU $E36B | C8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E36 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e36 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E36C:
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $236C | CPU $E36C | 20 5B CE
|
|
sty Zp_A3 ; PRG $236F | CPU $E36F | 84 A3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E371.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e371 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E371:
|
|
sec ; PRG $2371 | CPU $E371 | 38
|
|
tya ; PRG $2372 | CPU $E372 | 98
|
|
sbc #$29 ; PRG $2373 | CPU $E373 | E9 29
|
|
bmi UpdateSideScrollingGameplay_E37A ; PRG $2375 | CPU $E375 | 30 03
|
|
jsr UpdateSideScrollingGameplay_CE91 ; PRG $2377 | CPU $E377 | 20 91 CE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E37 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e37 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E37A:
|
|
lda #$20 ; PRG $237A | CPU $E37A | A9 20
|
|
clc ; PRG $237C | CPU $E37C | 18
|
|
adc ScratchValue2 ; PRG $237D | CPU $E37D | 65 02
|
|
sta ScratchValue2 ; PRG $237F | CPU $E37F | 85 02
|
|
lda #$00 ; PRG $2381 | CPU $E381 | A9 00
|
|
adc ScratchIndex ; PRG $2383 | CPU $E383 | 65 03
|
|
sta ScratchIndex ; PRG $2385 | CPU $E385 | 85 03
|
|
dex ; PRG $2387 | CPU $E387 | CA
|
|
bne CalculateMovementAndClamp_E327 ; PRG $2388 | CPU $E388 | D0 9D
|
|
rts ; PRG $238A | CPU $E38A | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E38 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e38 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E38B:
|
|
sty Zp_0F ; PRG $238B | CPU $E38B | 84 0F
|
|
ldy #$10 ; PRG $238D | CPU $E38D | A0 10
|
|
lda (ScratchValue2),y ; PRG $238F | CPU $E38F | B1 02
|
|
cmp #$03 ; PRG $2391 | CPU $E391 | C9 03
|
|
bne UpdateSideScrollingGameplay_E397 ; PRG $2393 | CPU $E393 | D0 02
|
|
inc Zp_0F ; PRG $2395 | CPU $E395 | E6 0F
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E397.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e397 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E397:
|
|
ldy Zp_0F ; PRG $2397 | CPU $E397 | A4 0F
|
|
lda #$02 ; PRG $2399 | CPU $E399 | A9 02
|
|
jmp UpdateSideScrollingGameplay_E36C ; PRG $239B | CPU $E39B | 4C 6C E3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E39 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e39 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E39E:
|
|
lda #$02 ; PRG $239E | CPU $E39E | A9 02
|
|
jmp UpdateSideScrollingGameplay_E36C ; PRG $23A0 | CPU $E3A0 | 4C 6C E3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E3 A3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e3 a3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E3A3:
|
|
jsr UpdateSideScrollingGameplay_E5A8 ; PRG $23A3 | CPU $E3A3 | 20 A8 E5
|
|
bcs UpdateSideScrollingGameplay_E3E1 ; PRG $23A6 | CPU $E3A6 | B0 39
|
|
lda Zp_15 ; PRG $23A8 | CPU $E3A8 | A5 15
|
|
beq UpdateSideScrollingGameplay_E3C2 ; PRG $23AA | CPU $E3AA | F0 16
|
|
sec ; PRG $23AC | CPU $E3AC | 38
|
|
lda #$00 ; PRG $23AD | CPU $E3AD | A9 00
|
|
sbc Zp_17 ; PRG $23AF | CPU $E3AF | E5 17
|
|
sta ScratchValue2 ; PRG $23B1 | CPU $E3B1 | 85 02
|
|
lda #$00 ; PRG $23B3 | CPU $E3B3 | A9 00
|
|
sbc Zp_16 ; PRG $23B5 | CPU $E3B5 | E5 16
|
|
sta ScratchValue1 ; PRG $23B7 | CPU $E3B7 | 85 01
|
|
lda #$00 ; PRG $23B9 | CPU $E3B9 | A9 00
|
|
sbc Zp_15 ; PRG $23BB | CPU $E3BB | E5 15
|
|
sta ScratchValue0 ; PRG $23BD | CPU $E3BD | 85 00
|
|
jmp TransformFlightState_E434 ; PRG $23BF | CPU $E3BF | 4C 34 E4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E3 C2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e3 c2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E3C2:
|
|
lda Zp_17 ; PRG $23C2 | CPU $E3C2 | A5 17
|
|
sta ScratchValue2 ; PRG $23C4 | CPU $E3C4 | 85 02
|
|
lda Zp_16 ; PRG $23C6 | CPU $E3C6 | A5 16
|
|
sta ScratchValue1 ; PRG $23C8 | CPU $E3C8 | 85 01
|
|
lda Zp_15 ; PRG $23CA | CPU $E3CA | A5 15
|
|
sta ScratchValue0 ; PRG $23CC | CPU $E3CC | 85 00
|
|
jmp TransformFlightState_E3F8 ; PRG $23CE | CPU $E3CE | 4C F8 E3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E3 D1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e3 d1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E3D1:
|
|
lda Zp_D1 ; PRG $23D1 | CPU $E3D1 | A5 D1
|
|
bne UpdateGameplayStateField_E420 ; PRG $23D3 | CPU $E3D3 | D0 4B
|
|
lda #$05 ; PRG $23D5 | CPU $E3D5 | A9 05
|
|
sta Zp_D1 ; PRG $23D7 | CPU $E3D7 | 85 D1
|
|
ldx Zp_32 ; PRG $23D9 | CPU $E3D9 | A6 32
|
|
lda PreviousControllerButtons,x ; PRG $23DB | CPU $E3DB | B5 19
|
|
and #$03 ; PRG $23DD | CPU $E3DD | 29 03
|
|
beq UpdateSideScrollingGameplay_E3A3 ; PRG $23DF | CPU $E3DF | F0 C2
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E3 E1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e3 e1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E3E1:
|
|
and #$01 ; PRG $23E1 | CPU $E3E1 | 29 01
|
|
bne UpdateSideScrollingGameplay_E421 ; PRG $23E3 | CPU $E3E3 | D0 3C
|
|
clc ; PRG $23E5 | CPU $E3E5 | 18
|
|
lda #$80 ; PRG $23E6 | CPU $E3E6 | A9 80
|
|
adc Zp_17 ; PRG $23E8 | CPU $E3E8 | 65 17
|
|
sta ScratchValue2 ; PRG $23EA | CPU $E3EA | 85 02
|
|
lda #$04 ; PRG $23EC | CPU $E3EC | A9 04
|
|
adc Zp_16 ; PRG $23EE | CPU $E3EE | 65 16
|
|
sta ScratchValue1 ; PRG $23F0 | CPU $E3F0 | 85 01
|
|
lda #$00 ; PRG $23F2 | CPU $E3F2 | A9 00
|
|
adc Zp_15 ; PRG $23F4 | CPU $E3F4 | 65 15
|
|
sta ScratchValue0 ; PRG $23F6 | CPU $E3F6 | 85 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State E3 F8.
|
|
; Local behavior: Executes the decoded transform flight state e3 f8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_E3F8:
|
|
lsr ScratchValue0 ; PRG $23F8 | CPU $E3F8 | 46 00
|
|
ror ScratchValue1 ; PRG $23FA | CPU $E3FA | 66 01
|
|
ror ScratchValue2 ; PRG $23FC | CPU $E3FC | 66 02
|
|
lsr ScratchValue0 ; PRG $23FE | CPU $E3FE | 46 00
|
|
ror ScratchValue1 ; PRG $2400 | CPU $E400 | 66 01
|
|
ror ScratchValue2 ; PRG $2402 | CPU $E402 | 66 02
|
|
lsr ScratchValue0 ; PRG $2404 | CPU $E404 | 46 00
|
|
ror ScratchValue1 ; PRG $2406 | CPU $E406 | 66 01
|
|
ror ScratchValue2 ; PRG $2408 | CPU $E408 | 66 02
|
|
jsr UpdateSideScrollingGameplay_E45D ; PRG $240A | CPU $E40A | 20 5D E4
|
|
sec ; PRG $240D | CPU $E40D | 38
|
|
lda Zp_17 ; PRG $240E | CPU $E40E | A5 17
|
|
sbc ScratchValue2 ; PRG $2410 | CPU $E410 | E5 02
|
|
sta Zp_17 ; PRG $2412 | CPU $E412 | 85 17
|
|
lda Zp_16 ; PRG $2414 | CPU $E414 | A5 16
|
|
sbc ScratchValue1 ; PRG $2416 | CPU $E416 | E5 01
|
|
sta Zp_16 ; PRG $2418 | CPU $E418 | 85 16
|
|
lda Zp_15 ; PRG $241A | CPU $E41A | A5 15
|
|
sbc ScratchValue0 ; PRG $241C | CPU $E41C | E5 00
|
|
sta Zp_15 ; PRG $241E | CPU $E41E | 85 15
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E420.
|
|
; Local behavior: Executes the decoded update gameplay state field e420 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E420:
|
|
rts ; PRG $2420 | CPU $E420 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E421.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e421 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E421:
|
|
sec ; PRG $2421 | CPU $E421 | 38
|
|
lda #$80 ; PRG $2422 | CPU $E422 | A9 80
|
|
sbc Zp_17 ; PRG $2424 | CPU $E424 | E5 17
|
|
sta ScratchValue2 ; PRG $2426 | CPU $E426 | 85 02
|
|
lda #$04 ; PRG $2428 | CPU $E428 | A9 04
|
|
sbc Zp_16 ; PRG $242A | CPU $E42A | E5 16
|
|
sta ScratchValue1 ; PRG $242C | CPU $E42C | 85 01
|
|
lda #$00 ; PRG $242E | CPU $E42E | A9 00
|
|
sbc Zp_15 ; PRG $2430 | CPU $E430 | E5 15
|
|
sta ScratchValue0 ; PRG $2432 | CPU $E432 | 85 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State E434.
|
|
; Local behavior: Executes the decoded transform flight state e434 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_E434:
|
|
lsr ScratchValue0 ; PRG $2434 | CPU $E434 | 46 00
|
|
ror ScratchValue1 ; PRG $2436 | CPU $E436 | 66 01
|
|
ror ScratchValue2 ; PRG $2438 | CPU $E438 | 66 02
|
|
lsr ScratchValue0 ; PRG $243A | CPU $E43A | 46 00
|
|
ror ScratchValue1 ; PRG $243C | CPU $E43C | 66 01
|
|
ror ScratchValue2 ; PRG $243E | CPU $E43E | 66 02
|
|
lsr ScratchValue0 ; PRG $2440 | CPU $E440 | 46 00
|
|
ror ScratchValue1 ; PRG $2442 | CPU $E442 | 66 01
|
|
ror ScratchValue2 ; PRG $2444 | CPU $E444 | 66 02
|
|
jsr UpdateSideScrollingGameplay_E45D ; PRG $2446 | CPU $E446 | 20 5D E4
|
|
clc ; PRG $2449 | CPU $E449 | 18
|
|
lda Zp_17 ; PRG $244A | CPU $E44A | A5 17
|
|
adc ScratchValue2 ; PRG $244C | CPU $E44C | 65 02
|
|
sta Zp_17 ; PRG $244E | CPU $E44E | 85 17
|
|
lda Zp_16 ; PRG $2450 | CPU $E450 | A5 16
|
|
adc ScratchValue1 ; PRG $2452 | CPU $E452 | 65 01
|
|
sta Zp_16 ; PRG $2454 | CPU $E454 | 85 16
|
|
lda Zp_15 ; PRG $2456 | CPU $E456 | A5 15
|
|
adc ScratchValue0 ; PRG $2458 | CPU $E458 | 65 00
|
|
sta Zp_15 ; PRG $245A | CPU $E45A | 85 15
|
|
rts ; PRG $245C | CPU $E45C | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E45 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e45 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E45D:
|
|
lda ScratchValue0 ; PRG $245D | CPU $E45D | A5 00
|
|
bne UpdateGameplayStateField_E479 ; PRG $245F | CPU $E45F | D0 18
|
|
lda ScratchValue1 ; PRG $2461 | CPU $E461 | A5 01
|
|
bne UpdateGameplayStateField_E479 ; PRG $2463 | CPU $E463 | D0 14
|
|
lda ScratchValue2 ; PRG $2465 | CPU $E465 | A5 02
|
|
bne UpdateGameplayStateField_E479 ; PRG $2467 | CPU $E467 | D0 10
|
|
lda Zp_16 ; PRG $2469 | CPU $E469 | A5 16
|
|
beq UpdateSideScrollingGameplay_E471 ; PRG $246B | CPU $E46B | F0 04
|
|
cmp #$FF ; PRG $246D | CPU $E46D | C9 FF
|
|
bne UpdateGameplayStateField_E479 ; PRG $246F | CPU $E46F | D0 08
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E471.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e471 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E471:
|
|
lda #$00 ; PRG $2471 | CPU $E471 | A9 00
|
|
sta Zp_17 ; PRG $2473 | CPU $E473 | 85 17
|
|
sta Zp_16 ; PRG $2475 | CPU $E475 | 85 16
|
|
sta Zp_15 ; PRG $2477 | CPU $E477 | 85 15
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E479.
|
|
; Local behavior: Executes the decoded update gameplay state field e479 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E479:
|
|
rts ; PRG $2479 | CPU $E479 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E47 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e47 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E47A:
|
|
clc ; PRG $247A | CPU $E47A | 18
|
|
lda Zp_14 ; PRG $247B | CPU $E47B | A5 14
|
|
adc Zp_17 ; PRG $247D | CPU $E47D | 65 17
|
|
sta Zp_14 ; PRG $247F | CPU $E47F | 85 14
|
|
lda VerticalScroll ; PRG $2481 | CPU $E481 | A5 13
|
|
adc Zp_16 ; PRG $2483 | CPU $E483 | 65 16
|
|
sta VerticalScroll ; PRG $2485 | CPU $E485 | 85 13
|
|
lda HorizontalScroll ; PRG $2487 | CPU $E487 | A5 12
|
|
adc Zp_15 ; PRG $2489 | CPU $E489 | 65 15
|
|
sta HorizontalScroll ; PRG $248B | CPU $E48B | 85 12
|
|
sec ; PRG $248D | CPU $E48D | 38
|
|
lda Zp_14 ; PRG $248E | CPU $E48E | A5 14
|
|
sbc Ram_03D4 ; PRG $2490 | CPU $E490 | ED D4 03
|
|
sta Zp_14 ; PRG $2493 | CPU $E493 | 85 14
|
|
lda VerticalScroll ; PRG $2495 | CPU $E495 | A5 13
|
|
sbc Ram_03D3 ; PRG $2497 | CPU $E497 | ED D3 03
|
|
sta VerticalScroll ; PRG $249A | CPU $E49A | 85 13
|
|
lda HorizontalScroll ; PRG $249C | CPU $E49C | A5 12
|
|
ldx #$00 ; PRG $249E | CPU $E49E | A2 00
|
|
ldy Ram_03D3 ; PRG $24A0 | CPU $E4A0 | AC D3 03
|
|
bpl UpdateSideScrollingGameplay_E4A7 ; PRG $24A3 | CPU $E4A3 | 10 02
|
|
ldx #$01 ; PRG $24A5 | CPU $E4A5 | A2 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E4 A7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e4 a7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E4A7:
|
|
stx ScratchValue0 ; PRG $24A7 | CPU $E4A7 | 86 00
|
|
sbc ScratchValue0 ; PRG $24A9 | CPU $E4A9 | E5 00
|
|
and #$01 ; PRG $24AB | CPU $E4AB | 29 01
|
|
sta HorizontalScroll ; PRG $24AD | CPU $E4AD | 85 12
|
|
lda PpuControlShadow ; PRG $24AF | CPU $E4AF | A5 10
|
|
and #$FE ; PRG $24B1 | CPU $E4B1 | 29 FE
|
|
ora HorizontalScroll ; PRG $24B3 | CPU $E4B3 | 05 12
|
|
sta PpuControlShadow ; PRG $24B5 | CPU $E4B5 | 85 10
|
|
rts ; PRG $24B7 | CPU $E4B7 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E4 B8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e4 b8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E4B8:
|
|
lda Ram_03C8 ; PRG $24B8 | CPU $E4B8 | AD C8 03
|
|
and #$10 ; PRG $24BB | CPU $E4BB | 29 10
|
|
beq UpdateSideScrollingGameplay_E4C4 ; PRG $24BD | CPU $E4BD | F0 05
|
|
lda #$00 ; PRG $24BF | CPU $E4BF | A9 00
|
|
sta Ram_03C8 ; PRG $24C1 | CPU $E4C1 | 8D C8 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E4 C4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e4 c4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E4C4:
|
|
lda #$24 ; PRG $24C4 | CPU $E4C4 | A9 24
|
|
jmp UpdateSideScrollingGameplay_E50D ; PRG $24C6 | CPU $E4C6 | 4C 0D E5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E4 C9.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e4 c9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E4C9:
|
|
jsr UpdateSideScrollingGameplay_E5A8 ; PRG $24C9 | CPU $E4C9 | 20 A8 E5
|
|
bcs UpdateSideScrollingGameplay_E4F2 ; PRG $24CC | CPU $E4CC | B0 24
|
|
lda Ram_03C8 ; PRG $24CE | CPU $E4CE | AD C8 03
|
|
and #$10 ; PRG $24D1 | CPU $E4D1 | 29 10
|
|
beq UpdateSideScrollingGameplay_E4C4 ; PRG $24D3 | CPU $E4D3 | F0 EF
|
|
jmp UpdateSideScrollingGameplay_E50B ; PRG $24D5 | CPU $E4D5 | 4C 0B E5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State E4 D8.
|
|
; Local behavior: Executes the decoded transform flight state e4 d8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_E4D8:
|
|
lda Zp_17 ; PRG $24D8 | CPU $E4D8 | A5 17
|
|
asl a ; PRG $24DA | CPU $E4DA | 0A
|
|
sta ScratchIndex ; PRG $24DB | CPU $E4DB | 85 03
|
|
lda Zp_16 ; PRG $24DD | CPU $E4DD | A5 16
|
|
rol a ; PRG $24DF | CPU $E4DF | 2A
|
|
sta ScratchValue2 ; PRG $24E0 | CPU $E4E0 | 85 02
|
|
asl ScratchIndex ; PRG $24E2 | CPU $E4E2 | 06 03
|
|
rol ScratchValue2 ; PRG $24E4 | CPU $E4E4 | 26 02
|
|
asl ScratchIndex ; PRG $24E6 | CPU $E4E6 | 06 03
|
|
rol ScratchValue2 ; PRG $24E8 | CPU $E4E8 | 26 02
|
|
ldx Zp_32 ; PRG $24EA | CPU $E4EA | A6 32
|
|
lda PreviousControllerButtons,x ; PRG $24EC | CPU $E4EC | B5 19
|
|
and #$03 ; PRG $24EE | CPU $E4EE | 29 03
|
|
beq UpdateSideScrollingGameplay_E4C9 ; PRG $24F0 | CPU $E4F0 | F0 D7
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E4 F2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e4 f2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E4F2:
|
|
ldx #$06 ; PRG $24F2 | CPU $E4F2 | A2 06
|
|
stx Zp_DE ; PRG $24F4 | CPU $E4F4 | 86 DE
|
|
ldx #$0C ; PRG $24F6 | CPU $E4F6 | A2 0C
|
|
jsr UpdateSideScrollingGameplay_CE51 ; PRG $24F8 | CPU $E4F8 | 20 51 CE
|
|
and #$01 ; PRG $24FB | CPU $E4FB | 29 01
|
|
bne UpdateSideScrollingGameplay_E4B8 ; PRG $24FD | CPU $E4FD | D0 B9
|
|
lda Ram_03C8 ; PRG $24FF | CPU $E4FF | AD C8 03
|
|
and #$10 ; PRG $2502 | CPU $E502 | 29 10
|
|
bne UpdateSideScrollingGameplay_E50B ; PRG $2504 | CPU $E504 | D0 05
|
|
lda #$10 ; PRG $2506 | CPU $E506 | A9 10
|
|
sta Ram_03C8 ; PRG $2508 | CPU $E508 | 8D C8 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E50 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e50 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E50B:
|
|
lda #$C4 ; PRG $250B | CPU $E50B | A9 C4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E50 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e50 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E50D:
|
|
clc ; PRG $250D | CPU $E50D | 18
|
|
adc ScratchValue2 ; PRG $250E | CPU $E50E | 65 02
|
|
sta DataPointerLo ; PRG $2510 | CPU $E510 | 85 04
|
|
sec ; PRG $2512 | CPU $E512 | 38
|
|
sbc Ram_03C3 ; PRG $2513 | CPU $E513 | ED C3 03
|
|
php ; PRG $2516 | CPU $E516 | 08
|
|
bcs TransformFlightState_E51E ; PRG $2517 | CPU $E517 | B0 05
|
|
eor #$FF ; PRG $2519 | CPU $E519 | 49 FF
|
|
clc ; PRG $251B | CPU $E51B | 18
|
|
adc #$01 ; PRG $251C | CPU $E51C | 69 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State E51 E.
|
|
; Local behavior: Executes the decoded transform flight state e51 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_E51E:
|
|
sta DataPointerHi ; PRG $251E | CPU $E51E | 85 05
|
|
lda #$00 ; PRG $2520 | CPU $E520 | A9 00
|
|
sta TemporaryPointerLo ; PRG $2522 | CPU $E522 | 85 06
|
|
lsr DataPointerHi ; PRG $2524 | CPU $E524 | 46 05
|
|
ror TemporaryPointerLo ; PRG $2526 | CPU $E526 | 66 06
|
|
lsr DataPointerHi ; PRG $2528 | CPU $E528 | 46 05
|
|
ror TemporaryPointerLo ; PRG $252A | CPU $E52A | 66 06
|
|
lsr DataPointerHi ; PRG $252C | CPU $E52C | 46 05
|
|
ror TemporaryPointerLo ; PRG $252E | CPU $E52E | 66 06
|
|
lsr DataPointerHi ; PRG $2530 | CPU $E530 | 46 05
|
|
ror TemporaryPointerLo ; PRG $2532 | CPU $E532 | 66 06
|
|
lsr DataPointerHi ; PRG $2534 | CPU $E534 | 46 05
|
|
ror TemporaryPointerLo ; PRG $2536 | CPU $E536 | 66 06
|
|
plp ; PRG $2538 | CPU $E538 | 28
|
|
bcs UpdateSideScrollingGameplay_E548 ; PRG $2539 | CPU $E539 | B0 0D
|
|
lda #$00 ; PRG $253B | CPU $E53B | A9 00
|
|
sec ; PRG $253D | CPU $E53D | 38
|
|
sbc TemporaryPointerLo ; PRG $253E | CPU $E53E | E5 06
|
|
sta TemporaryPointerLo ; PRG $2540 | CPU $E540 | 85 06
|
|
lda #$00 ; PRG $2542 | CPU $E542 | A9 00
|
|
sbc DataPointerHi ; PRG $2544 | CPU $E544 | E5 05
|
|
sta DataPointerHi ; PRG $2546 | CPU $E546 | 85 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E548.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e548 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E548:
|
|
lda DataPointerHi ; PRG $2548 | CPU $E548 | A5 05
|
|
sta Ram_03D3 ; PRG $254A | CPU $E54A | 8D D3 03
|
|
lda TemporaryPointerLo ; PRG $254D | CPU $E54D | A5 06
|
|
sta Ram_03D4 ; PRG $254F | CPU $E54F | 8D D4 03
|
|
ldx Zp_32 ; PRG $2552 | CPU $E552 | A6 32
|
|
lda PreviousControllerButtons,x ; PRG $2554 | CPU $E554 | B5 19
|
|
ldx #$00 ; PRG $2556 | CPU $E556 | A2 00
|
|
ldy #$00 ; PRG $2558 | CPU $E558 | A0 00
|
|
and #$0C ; PRG $255A | CPU $E55A | 29 0C
|
|
beq UpdateSideScrollingGameplay_E56D ; PRG $255C | CPU $E55C | F0 0F
|
|
and #$04 ; PRG $255E | CPU $E55E | 29 04
|
|
beq UpdateSideScrollingGameplay_E59A ; PRG $2560 | CPU $E560 | F0 38
|
|
lda Ram_03C1 ; PRG $2562 | CPU $E562 | AD C1 03
|
|
cmp #$C7 ; PRG $2565 | CPU $E565 | C9 C7
|
|
bcs UpdateSideScrollingGameplay_E56D ; PRG $2567 | CPU $E567 | B0 04
|
|
ldx #$01 ; PRG $2569 | CPU $E569 | A2 01
|
|
ldy #$80 ; PRG $256B | CPU $E56B | A0 80
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E56 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e56 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E56D:
|
|
stx Ram_03D1 ; PRG $256D | CPU $E56D | 8E D1 03
|
|
sty Ram_03D2 ; PRG $2570 | CPU $E570 | 8C D2 03
|
|
clc ; PRG $2573 | CPU $E573 | 18
|
|
lda Ram_03D4 ; PRG $2574 | CPU $E574 | AD D4 03
|
|
adc Ram_03C4 ; PRG $2577 | CPU $E577 | 6D C4 03
|
|
sta Ram_03C4 ; PRG $257A | CPU $E57A | 8D C4 03
|
|
lda Ram_03D3 ; PRG $257D | CPU $E57D | AD D3 03
|
|
adc Ram_03C3 ; PRG $2580 | CPU $E580 | 6D C3 03
|
|
sta Ram_03C3 ; PRG $2583 | CPU $E583 | 8D C3 03
|
|
clc ; PRG $2586 | CPU $E586 | 18
|
|
lda Ram_03D2 ; PRG $2587 | CPU $E587 | AD D2 03
|
|
adc Ram_03C2 ; PRG $258A | CPU $E58A | 6D C2 03
|
|
sta Ram_03C2 ; PRG $258D | CPU $E58D | 8D C2 03
|
|
lda Ram_03D1 ; PRG $2590 | CPU $E590 | AD D1 03
|
|
adc Ram_03C1 ; PRG $2593 | CPU $E593 | 6D C1 03
|
|
sta Ram_03C1 ; PRG $2596 | CPU $E596 | 8D C1 03
|
|
rts ; PRG $2599 | CPU $E599 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E59 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e59 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E59A:
|
|
lda Ram_03C1 ; PRG $259A | CPU $E59A | AD C1 03
|
|
cmp #$34 ; PRG $259D | CPU $E59D | C9 34
|
|
bcc UpdateSideScrollingGameplay_E56D ; PRG $259F | CPU $E59F | 90 CC
|
|
ldx #$FE ; PRG $25A1 | CPU $E5A1 | A2 FE
|
|
ldy #$80 ; PRG $25A3 | CPU $E5A3 | A0 80
|
|
jmp UpdateSideScrollingGameplay_E56D ; PRG $25A5 | CPU $E5A5 | 4C 6D E5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E5 A8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e5 a8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E5A8:
|
|
clc ; PRG $25A8 | CPU $E5A8 | 18
|
|
lda Zp_DE ; PRG $25A9 | CPU $E5A9 | A5 DE
|
|
beq UpdateGameplayStateField_E5C0 ; PRG $25AB | CPU $E5AB | F0 13
|
|
lda PreviousControllerButtons,x ; PRG $25AD | CPU $E5AD | B5 19
|
|
and #$0C ; PRG $25AF | CPU $E5AF | 29 0C
|
|
beq UpdateGameplayStateField_E5C0 ; PRG $25B1 | CPU $E5B1 | F0 0D
|
|
ldx #$01 ; PRG $25B3 | CPU $E5B3 | A2 01
|
|
lda Ram_03C8 ; PRG $25B5 | CPU $E5B5 | AD C8 03
|
|
and #$10 ; PRG $25B8 | CPU $E5B8 | 29 10
|
|
beq UpdateSideScrollingGameplay_E5BE ; PRG $25BA | CPU $E5BA | F0 02
|
|
ldx #$00 ; PRG $25BC | CPU $E5BC | A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E5 BE.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e5 be sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E5BE:
|
|
txa ; PRG $25BE | CPU $E5BE | 8A
|
|
sec ; PRG $25BF | CPU $E5BF | 38
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E5 C0.
|
|
; Local behavior: Executes the decoded update gameplay state field e5 c0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E5C0:
|
|
rts ; PRG $25C0 | CPU $E5C0 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E5 C1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e5 c1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E5C1:
|
|
lda Ram_03C5 ; PRG $25C1 | CPU $E5C1 | AD C5 03
|
|
cmp #$06 ; PRG $25C4 | CPU $E5C4 | C9 06
|
|
bcs UpdateGameplayStateField_E610 ; PRG $25C6 | CPU $E5C6 | B0 48
|
|
ldx Zp_32 ; PRG $25C8 | CPU $E5C8 | A6 32
|
|
lda PreviousControllerButtons,x ; PRG $25CA | CPU $E5CA | B5 19
|
|
and #$03 ; PRG $25CC | CPU $E5CC | 29 03
|
|
beq CalculateMovementAndClamp_E5EF ; PRG $25CE | CPU $E5CE | F0 1F
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value E5 D0.
|
|
; Local behavior: Executes the decoded calculate and clamp value e5 d0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_E5D0:
|
|
lda Ram_03C5 ; PRG $25D0 | CPU $E5D0 | AD C5 03
|
|
cmp #$03 ; PRG $25D3 | CPU $E5D3 | C9 03
|
|
bcs CalculateMovementAndClamp_E5DA ; PRG $25D5 | CPU $E5D5 | B0 03
|
|
clc ; PRG $25D7 | CPU $E5D7 | 18
|
|
adc #$03 ; PRG $25D8 | CPU $E5D8 | 69 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value E5 DA.
|
|
; Local behavior: Executes the decoded calculate and clamp value e5 da sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_E5DA:
|
|
ldx Zp_D2 ; PRG $25DA | CPU $E5DA | A6 D2
|
|
bne UpdateGameplayStateField_E5EB ; PRG $25DC | CPU $E5DC | D0 0D
|
|
ldx #$03 ; PRG $25DE | CPU $E5DE | A2 03
|
|
stx Zp_D2 ; PRG $25E0 | CPU $E5E0 | 86 D2
|
|
sec ; PRG $25E2 | CPU $E5E2 | 38
|
|
sbc #$01 ; PRG $25E3 | CPU $E5E3 | E9 01
|
|
cmp #$02 ; PRG $25E5 | CPU $E5E5 | C9 02
|
|
bne UpdateGameplayStateField_E5EB ; PRG $25E7 | CPU $E5E7 | D0 02
|
|
lda #$05 ; PRG $25E9 | CPU $E5E9 | A9 05
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E5 EB.
|
|
; Local behavior: Executes the decoded update gameplay state field e5 eb sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E5EB:
|
|
sta Ram_03C5 ; PRG $25EB | CPU $E5EB | 8D C5 03
|
|
rts ; PRG $25EE | CPU $E5EE | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value E5 EF.
|
|
; Local behavior: Executes the decoded calculate and clamp value e5 ef sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_E5EF:
|
|
jsr UpdateSideScrollingGameplay_E5A8 ; PRG $25EF | CPU $E5EF | 20 A8 E5
|
|
bcs CalculateMovementAndClamp_E5D0 ; PRG $25F2 | CPU $E5F2 | B0 DC
|
|
lda Ram_03C5 ; PRG $25F4 | CPU $E5F4 | AD C5 03
|
|
cmp #$03 ; PRG $25F7 | CPU $E5F7 | C9 03
|
|
bcc UpdateSideScrollingGameplay_E5FE ; PRG $25F9 | CPU $E5F9 | 90 03
|
|
sec ; PRG $25FB | CPU $E5FB | 38
|
|
sbc #$03 ; PRG $25FC | CPU $E5FC | E9 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E5 FE.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e5 fe sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E5FE:
|
|
ldx Zp_D2 ; PRG $25FE | CPU $E5FE | A6 D2
|
|
bne UpdateSideScrollingGameplay_E60D ; PRG $2600 | CPU $E600 | D0 0B
|
|
ldx #$03 ; PRG $2602 | CPU $E602 | A2 03
|
|
stx Zp_D2 ; PRG $2604 | CPU $E604 | 86 D2
|
|
sec ; PRG $2606 | CPU $E606 | 38
|
|
sbc #$01 ; PRG $2607 | CPU $E607 | E9 01
|
|
bpl UpdateSideScrollingGameplay_E60D ; PRG $2609 | CPU $E609 | 10 02
|
|
lda #$02 ; PRG $260B | CPU $E60B | A9 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E60 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e60 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E60D:
|
|
sta Ram_03C5 ; PRG $260D | CPU $E60D | 8D C5 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E610.
|
|
; Local behavior: Executes the decoded update gameplay state field e610 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E610:
|
|
rts ; PRG $2610 | CPU $E610 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E611.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e611 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E611:
|
|
lda Ram_03E0 ; PRG $2611 | CPU $E611 | AD E0 03
|
|
bne UpdateSideScrollingGameplay_E632 ; PRG $2614 | CPU $E614 | D0 1C
|
|
ldx #$F8 ; PRG $2616 | CPU $E616 | A2 F8
|
|
lda Ram_03E8 ; PRG $2618 | CPU $E618 | AD E8 03
|
|
and #$10 ; PRG $261B | CPU $E61B | 29 10
|
|
bne CalculateMovementAndClamp_E621 ; PRG $261D | CPU $E61D | D0 02
|
|
ldx #$08 ; PRG $261F | CPU $E61F | A2 08
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value E621.
|
|
; Local behavior: Executes the decoded calculate and clamp value e621 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_E621:
|
|
txa ; PRG $2621 | CPU $E621 | 8A
|
|
clc ; PRG $2622 | CPU $E622 | 18
|
|
adc Ram_03E3 ; PRG $2623 | CPU $E623 | 6D E3 03
|
|
cmp #$E8 ; PRG $2626 | CPU $E626 | C9 E8
|
|
bcc UpdateSideScrollingGameplay_E62F ; PRG $2628 | CPU $E628 | 90 05
|
|
lda #$F4 ; PRG $262A | CPU $E62A | A9 F4
|
|
sta Ram_03E0 ; PRG $262C | CPU $E62C | 8D E0 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E62 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e62 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E62F:
|
|
sta Ram_03E3 ; PRG $262F | CPU $E62F | 8D E3 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E632.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e632 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E632:
|
|
lda Ram_03F0 ; PRG $2632 | CPU $E632 | AD F0 03
|
|
bne UpdateSideScrollingGameplay_E653 ; PRG $2635 | CPU $E635 | D0 1C
|
|
ldx #$F8 ; PRG $2637 | CPU $E637 | A2 F8
|
|
lda Ram_03F8 ; PRG $2639 | CPU $E639 | AD F8 03
|
|
and #$10 ; PRG $263C | CPU $E63C | 29 10
|
|
bne CalculateMovementAndClamp_E642 ; PRG $263E | CPU $E63E | D0 02
|
|
ldx #$08 ; PRG $2640 | CPU $E640 | A2 08
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value E642.
|
|
; Local behavior: Executes the decoded calculate and clamp value e642 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_E642:
|
|
txa ; PRG $2642 | CPU $E642 | 8A
|
|
clc ; PRG $2643 | CPU $E643 | 18
|
|
adc Ram_03F3 ; PRG $2644 | CPU $E644 | 6D F3 03
|
|
cmp #$E8 ; PRG $2647 | CPU $E647 | C9 E8
|
|
bcc UpdateSideScrollingGameplay_E650 ; PRG $2649 | CPU $E649 | 90 05
|
|
lda #$F4 ; PRG $264B | CPU $E64B | A9 F4
|
|
sta Ram_03F0 ; PRG $264D | CPU $E64D | 8D F0 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E650.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e650 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E650:
|
|
sta Ram_03F3 ; PRG $2650 | CPU $E650 | 8D F3 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E653.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e653 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E653:
|
|
ldx Zp_32 ; PRG $2653 | CPU $E653 | A6 32
|
|
lda CurrentControllerButtons,x ; PRG $2655 | CPU $E655 | B5 1B
|
|
and #$80 ; PRG $2657 | CPU $E657 | 29 80
|
|
beq UpdateGameplayStateField_E665 ; PRG $2659 | CPU $E659 | F0 0A
|
|
lda Ram_03E0 ; PRG $265B | CPU $E65B | AD E0 03
|
|
bne UpdateSideScrollingGameplay_E692 ; PRG $265E | CPU $E65E | D0 32
|
|
lda Ram_03F0 ; PRG $2660 | CPU $E660 | AD F0 03
|
|
bne UpdateSideScrollingGameplay_E666 ; PRG $2663 | CPU $E663 | D0 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E665.
|
|
; Local behavior: Executes the decoded update gameplay state field e665 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E665:
|
|
rts ; PRG $2665 | CPU $E665 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E666.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e666 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E666:
|
|
lda #$00 ; PRG $2666 | CPU $E666 | A9 00
|
|
sta Ram_03F0 ; PRG $2668 | CPU $E668 | 8D F0 03
|
|
lda Ram_03C1 ; PRG $266B | CPU $E66B | AD C1 03
|
|
sta Ram_03F1 ; PRG $266E | CPU $E66E | 8D F1 03
|
|
ldx #$FA ; PRG $2671 | CPU $E671 | A2 FA
|
|
lda Ram_03C8 ; PRG $2673 | CPU $E673 | AD C8 03
|
|
and #$10 ; PRG $2676 | CPU $E676 | 29 10
|
|
bne UpdateSideScrollingGameplay_E67C ; PRG $2678 | CPU $E678 | D0 02
|
|
ldx #$06 ; PRG $267A | CPU $E67A | A2 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E67 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e67 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E67C:
|
|
txa ; PRG $267C | CPU $E67C | 8A
|
|
clc ; PRG $267D | CPU $E67D | 18
|
|
adc Ram_03C3 ; PRG $267E | CPU $E67E | 6D C3 03
|
|
sta Ram_03F3 ; PRG $2681 | CPU $E681 | 8D F3 03
|
|
lda Ram_03C8 ; PRG $2684 | CPU $E684 | AD C8 03
|
|
and #$10 ; PRG $2687 | CPU $E687 | 29 10
|
|
sta Ram_03F8 ; PRG $2689 | CPU $E689 | 8D F8 03
|
|
lda #$0A ; PRG $268C | CPU $E68C | A9 0A
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $268E | CPU $E68E | 20 5B CE
|
|
rts ; PRG $2691 | CPU $E691 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E692.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e692 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E692:
|
|
lda #$00 ; PRG $2692 | CPU $E692 | A9 00
|
|
sta Ram_03E0 ; PRG $2694 | CPU $E694 | 8D E0 03
|
|
lda Ram_03C1 ; PRG $2697 | CPU $E697 | AD C1 03
|
|
sta Ram_03E1 ; PRG $269A | CPU $E69A | 8D E1 03
|
|
ldx #$FA ; PRG $269D | CPU $E69D | A2 FA
|
|
lda Ram_03C8 ; PRG $269F | CPU $E69F | AD C8 03
|
|
and #$10 ; PRG $26A2 | CPU $E6A2 | 29 10
|
|
bne UpdateSideScrollingGameplay_E6A8 ; PRG $26A4 | CPU $E6A4 | D0 02
|
|
ldx #$06 ; PRG $26A6 | CPU $E6A6 | A2 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E6 A8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e6 a8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E6A8:
|
|
txa ; PRG $26A8 | CPU $E6A8 | 8A
|
|
clc ; PRG $26A9 | CPU $E6A9 | 18
|
|
adc Ram_03C3 ; PRG $26AA | CPU $E6AA | 6D C3 03
|
|
sta Ram_03E3 ; PRG $26AD | CPU $E6AD | 8D E3 03
|
|
lda Ram_03C8 ; PRG $26B0 | CPU $E6B0 | AD C8 03
|
|
and #$10 ; PRG $26B3 | CPU $E6B3 | 29 10
|
|
sta Ram_03E8 ; PRG $26B5 | CPU $E6B5 | 8D E8 03
|
|
lda #$0A ; PRG $26B8 | CPU $E6B8 | A9 0A
|
|
jsr UpdateSideScrollingGameplay_CE5B ; PRG $26BA | CPU $E6BA | 20 5B CE
|
|
rts ; PRG $26BD | CPU $E6BD | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E6 BE.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e6 be sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E6BE:
|
|
lda Zp_D3 ; PRG $26BE | CPU $E6BE | A5 D3
|
|
bne UpdateGameplayStateField_E6D4 ; PRG $26C0 | CPU $E6C0 | D0 12
|
|
lda #$02 ; PRG $26C2 | CPU $E6C2 | A9 02
|
|
sta Zp_D3 ; PRG $26C4 | CPU $E6C4 | 85 D3
|
|
lda #$01 ; PRG $26C6 | CPU $E6C6 | A9 01
|
|
inc Ram_03E5 ; PRG $26C8 | CPU $E6C8 | EE E5 03
|
|
and Ram_03E5 ; PRG $26CB | CPU $E6CB | 2D E5 03
|
|
sta Ram_03E5 ; PRG $26CE | CPU $E6CE | 8D E5 03
|
|
sta Ram_03F5 ; PRG $26D1 | CPU $E6D1 | 8D F5 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E6 D4.
|
|
; Local behavior: Executes the decoded update gameplay state field e6 d4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E6D4:
|
|
rts ; PRG $26D4 | CPU $E6D4 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E6 D5.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e6 d5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E6D5:
|
|
lda #$C0 ; PRG $26D5 | CPU $E6D5 | A9 C0
|
|
sta ScratchValue0 ; PRG $26D7 | CPU $E6D7 | 85 00
|
|
lda #$03 ; PRG $26D9 | CPU $E6D9 | A9 03
|
|
sta ScratchValue1 ; PRG $26DB | CPU $E6DB | 85 01
|
|
jsr TransformFlightState_C47C ; PRG $26DD | CPU $E6DD | 20 7C C4
|
|
rts ; PRG $26E0 | CPU $E6E0 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E6 E1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e6 e1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E6E1:
|
|
lda #$E0 ; PRG $26E1 | CPU $E6E1 | A9 E0
|
|
sta ScratchValue0 ; PRG $26E3 | CPU $E6E3 | 85 00
|
|
lda #$03 ; PRG $26E5 | CPU $E6E5 | A9 03
|
|
sta ScratchValue1 ; PRG $26E7 | CPU $E6E7 | 85 01
|
|
jsr TransformFlightState_C47C ; PRG $26E9 | CPU $E6E9 | 20 7C C4
|
|
lda #$F0 ; PRG $26EC | CPU $E6EC | A9 F0
|
|
sta ScratchValue0 ; PRG $26EE | CPU $E6EE | 85 00
|
|
lda #$03 ; PRG $26F0 | CPU $E6F0 | A9 03
|
|
sta ScratchValue1 ; PRG $26F2 | CPU $E6F2 | 85 01
|
|
jsr TransformFlightState_C47C ; PRG $26F4 | CPU $E6F4 | 20 7C C4
|
|
rts ; PRG $26F7 | CPU $E6F7 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E6 F8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e6 f8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E6F8:
|
|
sec ; PRG $26F8 | CPU $E6F8 | 38
|
|
lda Ram_03D4 ; PRG $26F9 | CPU $E6F9 | AD D4 03
|
|
sbc Zp_17 ; PRG $26FC | CPU $E6FC | E5 17
|
|
sta ScratchValue2 ; PRG $26FE | CPU $E6FE | 85 02
|
|
lda Ram_03D3 ; PRG $2700 | CPU $E700 | AD D3 03
|
|
sbc Zp_16 ; PRG $2703 | CPU $E703 | E5 16
|
|
sta ScratchValue1 ; PRG $2705 | CPU $E705 | 85 01
|
|
lda #$00 ; PRG $2707 | CPU $E707 | A9 00
|
|
ldy Ram_03D3 ; PRG $2709 | CPU $E709 | AC D3 03
|
|
bpl UpdateSideScrollingGameplay_E710 ; PRG $270C | CPU $E70C | 10 02
|
|
lda #$FF ; PRG $270E | CPU $E70E | A9 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E710.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e710 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E710:
|
|
sbc Zp_15 ; PRG $2710 | CPU $E710 | E5 15
|
|
sta ScratchValue0 ; PRG $2712 | CPU $E712 | 85 00
|
|
ldx #$18 ; PRG $2714 | CPU $E714 | A2 18
|
|
stx Zp_08 ; PRG $2716 | CPU $E716 | 86 08
|
|
lda #$00 ; PRG $2718 | CPU $E718 | A9 00
|
|
sta ScratchIndex ; PRG $271A | CPU $E71A | 85 03
|
|
lda #$04 ; PRG $271C | CPU $E71C | A9 04
|
|
sta DataPointerLo ; PRG $271E | CPU $E71E | 85 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E720.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e720 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E720:
|
|
ldy #$00 ; PRG $2720 | CPU $E720 | A0 00
|
|
lda (ScratchIndex),y ; PRG $2722 | CPU $E722 | B1 03
|
|
bmi UpdateSideScrollingGameplay_E759 ; PRG $2724 | CPU $E724 | 30 33
|
|
ldx #$00 ; PRG $2726 | CPU $E726 | A2 00
|
|
jsr CalculateMovementAndClamp_E76B ; PRG $2728 | CPU $E728 | 20 6B E7
|
|
ldy #$14 ; PRG $272B | CPU $E72B | A0 14
|
|
lda (ScratchIndex),y ; PRG $272D | CPU $E72D | B1 03
|
|
sta TemporaryPointerHi ; PRG $272F | CPU $E72F | 85 07
|
|
dey ; PRG $2731 | CPU $E731 | 88
|
|
lda (ScratchIndex),y ; PRG $2732 | CPU $E732 | B1 03
|
|
sta TemporaryPointerLo ; PRG $2734 | CPU $E734 | 85 06
|
|
ldx #$00 ; PRG $2736 | CPU $E736 | A2 00
|
|
and TemporaryPointerLo ; PRG $2738 | CPU $E738 | 25 06
|
|
bpl UpdateSideScrollingGameplay_E73D ; PRG $273A | CPU $E73A | 10 01
|
|
dex ; PRG $273C | CPU $E73C | CA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E73 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e73 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E73D:
|
|
stx DataPointerHi ; PRG $273D | CPU $E73D | 86 05
|
|
ldx #$05 ; PRG $273F | CPU $E73F | A2 05
|
|
jsr CalculateMovementAndClamp_E76B ; PRG $2741 | CPU $E741 | 20 6B E7
|
|
ldy #$12 ; PRG $2744 | CPU $E744 | A0 12
|
|
clc ; PRG $2746 | CPU $E746 | 18
|
|
lda (ScratchIndex),y ; PRG $2747 | CPU $E747 | B1 03
|
|
ldy #$02 ; PRG $2749 | CPU $E749 | A0 02
|
|
adc (ScratchIndex),y ; PRG $274B | CPU $E74B | 71 03
|
|
sta (ScratchIndex),y ; PRG $274D | CPU $E74D | 91 03
|
|
ldy #$11 ; PRG $274F | CPU $E74F | A0 11
|
|
lda (ScratchIndex),y ; PRG $2751 | CPU $E751 | B1 03
|
|
ldy #$01 ; PRG $2753 | CPU $E753 | A0 01
|
|
adc (ScratchIndex),y ; PRG $2755 | CPU $E755 | 71 03
|
|
sta (ScratchIndex),y ; PRG $2757 | CPU $E757 | 91 03
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E759.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e759 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E759:
|
|
clc ; PRG $2759 | CPU $E759 | 18
|
|
lda #$20 ; PRG $275A | CPU $E75A | A9 20
|
|
adc ScratchIndex ; PRG $275C | CPU $E75C | 65 03
|
|
sta ScratchIndex ; PRG $275E | CPU $E75E | 85 03
|
|
lda #$00 ; PRG $2760 | CPU $E760 | A9 00
|
|
adc DataPointerLo ; PRG $2762 | CPU $E762 | 65 04
|
|
sta DataPointerLo ; PRG $2764 | CPU $E764 | 85 04
|
|
dec Zp_08 ; PRG $2766 | CPU $E766 | C6 08
|
|
bne UpdateSideScrollingGameplay_E720 ; PRG $2768 | CPU $E768 | D0 B6
|
|
rts ; PRG $276A | CPU $E76A | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value E76 B.
|
|
; Local behavior: Executes the decoded calculate and clamp value e76 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_E76B:
|
|
ldy #$04 ; PRG $276B | CPU $E76B | A0 04
|
|
clc ; PRG $276D | CPU $E76D | 18
|
|
lda ScratchValue2,x ; PRG $276E | CPU $E76E | B5 02
|
|
adc (ScratchIndex),y ; PRG $2770 | CPU $E770 | 71 03
|
|
sta (ScratchIndex),y ; PRG $2772 | CPU $E772 | 91 03
|
|
dey ; PRG $2774 | CPU $E774 | 88
|
|
lda ScratchValue1,x ; PRG $2775 | CPU $E775 | B5 01
|
|
adc (ScratchIndex),y ; PRG $2777 | CPU $E777 | 71 03
|
|
pha ; PRG $2779 | CPU $E779 | 48
|
|
php ; PRG $277A | CPU $E77A | 08
|
|
cmp #$F8 ; PRG $277B | CPU $E77B | C9 F8
|
|
bcc CalculateMovementAndClamp_E78B ; PRG $277D | CPU $E77D | 90 0C
|
|
plp ; PRG $277F | CPU $E77F | 28
|
|
lda (ScratchIndex),y ; PRG $2780 | CPU $E780 | B1 03
|
|
bmi UpdateSideScrollingGameplay_E7A4 ; PRG $2782 | CPU $E782 | 30 20
|
|
sec ; PRG $2784 | CPU $E784 | 38
|
|
pla ; PRG $2785 | CPU $E785 | 68
|
|
sbc #$08 ; PRG $2786 | CPU $E786 | E9 08
|
|
clc ; PRG $2788 | CPU $E788 | 18
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E789.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e789 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E789:
|
|
pha ; PRG $2789 | CPU $E789 | 48
|
|
php ; PRG $278A | CPU $E78A | 08
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value E78 B.
|
|
; Local behavior: Executes the decoded calculate and clamp value e78 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_E78B:
|
|
plp ; PRG $278B | CPU $E78B | 28
|
|
pla ; PRG $278C | CPU $E78C | 68
|
|
sta (ScratchIndex),y ; PRG $278D | CPU $E78D | 91 03
|
|
ldy #$00 ; PRG $278F | CPU $E78F | A0 00
|
|
lda ScratchValue0,x ; PRG $2791 | CPU $E791 | B5 00
|
|
adc (ScratchIndex),y ; PRG $2793 | CPU $E793 | 71 03
|
|
cmp #$05 ; PRG $2795 | CPU $E795 | C9 05
|
|
bne UpdateSideScrollingGameplay_E79B ; PRG $2797 | CPU $E797 | D0 02
|
|
lda #$00 ; PRG $2799 | CPU $E799 | A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E79 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e79 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E79B:
|
|
cmp #$FF ; PRG $279B | CPU $E79B | C9 FF
|
|
bne UpdateGameplayStateField_E7A1 ; PRG $279D | CPU $E79D | D0 02
|
|
lda #$04 ; PRG $279F | CPU $E79F | A9 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E7 A1.
|
|
; Local behavior: Executes the decoded update gameplay state field e7 a1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E7A1:
|
|
sta (ScratchIndex),y ; PRG $27A1 | CPU $E7A1 | 91 03
|
|
rts ; PRG $27A3 | CPU $E7A3 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E7 A4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e7 a4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E7A4:
|
|
clc ; PRG $27A4 | CPU $E7A4 | 18
|
|
pla ; PRG $27A5 | CPU $E7A5 | 68
|
|
adc #$08 ; PRG $27A6 | CPU $E7A6 | 69 08
|
|
bcs UpdateSideScrollingGameplay_E789 ; PRG $27A8 | CPU $E7A8 | B0 DF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E7 AA.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e7 aa sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E7AA:
|
|
lda #$00 ; PRG $27AA | CPU $E7AA | A9 00
|
|
sta ScratchValue0 ; PRG $27AC | CPU $E7AC | 85 00
|
|
lda #$04 ; PRG $27AE | CPU $E7AE | A9 04
|
|
sta ScratchValue1 ; PRG $27B0 | CPU $E7B0 | 85 01
|
|
ldx #$0A ; PRG $27B2 | CPU $E7B2 | A2 0A
|
|
lda #$14 ; PRG $27B4 | CPU $E7B4 | A9 14
|
|
sta ScratchValue2 ; PRG $27B6 | CPU $E7B6 | 85 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value E7 B8.
|
|
; Local behavior: Executes the decoded calculate and clamp value e7 b8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_E7B8:
|
|
ldy #$00 ; PRG $27B8 | CPU $E7B8 | A0 00
|
|
lda (ScratchValue0),y ; PRG $27BA | CPU $E7BA | B1 00
|
|
bne UpdateSideScrollingGameplay_E7CF ; PRG $27BC | CPU $E7BC | D0 11
|
|
ldy #$0B ; PRG $27BE | CPU $E7BE | A0 0B
|
|
lda ScratchValue2 ; PRG $27C0 | CPU $E7C0 | A5 02
|
|
sta (ScratchValue0),y ; PRG $27C2 | CPU $E7C2 | 91 00
|
|
clc ; PRG $27C4 | CPU $E7C4 | 18
|
|
adc #$08 ; PRG $27C5 | CPU $E7C5 | 69 08
|
|
cmp #$3C ; PRG $27C7 | CPU $E7C7 | C9 3C
|
|
bne UpdateSideScrollingGameplay_E7CD ; PRG $27C9 | CPU $E7C9 | D0 02
|
|
lda #$14 ; PRG $27CB | CPU $E7CB | A9 14
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E7 CD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e7 cd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E7CD:
|
|
sta ScratchValue2 ; PRG $27CD | CPU $E7CD | 85 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E7 CF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e7 cf sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E7CF:
|
|
clc ; PRG $27CF | CPU $E7CF | 18
|
|
lda #$20 ; PRG $27D0 | CPU $E7D0 | A9 20
|
|
adc ScratchValue0 ; PRG $27D2 | CPU $E7D2 | 65 00
|
|
sta ScratchValue0 ; PRG $27D4 | CPU $E7D4 | 85 00
|
|
lda #$00 ; PRG $27D6 | CPU $E7D6 | A9 00
|
|
adc ScratchValue1 ; PRG $27D8 | CPU $E7D8 | 65 01
|
|
sta ScratchValue1 ; PRG $27DA | CPU $E7DA | 85 01
|
|
dex ; PRG $27DC | CPU $E7DC | CA
|
|
bne CalculateMovementAndClamp_E7B8 ; PRG $27DD | CPU $E7DD | D0 D9
|
|
lda #$F4 ; PRG $27DF | CPU $E7DF | A9 F4
|
|
ldy #$24 ; PRG $27E1 | CPU $E7E1 | A0 24
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E7 E3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e7 e3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E7E3:
|
|
sta Ram_0214,y ; PRG $27E3 | CPU $E7E3 | 99 14 02
|
|
dey ; PRG $27E6 | CPU $E7E6 | 88
|
|
dey ; PRG $27E7 | CPU $E7E7 | 88
|
|
dey ; PRG $27E8 | CPU $E7E8 | 88
|
|
dey ; PRG $27E9 | CPU $E7E9 | 88
|
|
bpl UpdateSideScrollingGameplay_E7E3 ; PRG $27EA | CPU $E7EA | 10 F7
|
|
lda #$00 ; PRG $27EC | CPU $E7EC | A9 00
|
|
sta ScratchValue0 ; PRG $27EE | CPU $E7EE | 85 00
|
|
lda #$04 ; PRG $27F0 | CPU $E7F0 | A9 04
|
|
sta ScratchValue1 ; PRG $27F2 | CPU $E7F2 | 85 01
|
|
ldx #$0A ; PRG $27F4 | CPU $E7F4 | A2 0A
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E7 F6.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e7 f6 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
E7F6:
|
|
UpdateSideScrollingGameplay_E7F6:
|
|
ldy #$00 ; PRG $27F6 | CPU $E7F6 | A0 00
|
|
lda (ScratchValue0),y ; PRG $27F8 | CPU $E7F8 | B1 00
|
|
bne UpdateSideScrollingGameplay_E803 ; PRG $27FA | CPU $E7FA | D0 07
|
|
txa ; PRG $27FC | CPU $E7FC | 8A
|
|
pha ; PRG $27FD | CPU $E7FD | 48
|
|
jsr TransformFlightState_C47C ; PRG $27FE | CPU $E7FE | 20 7C C4
|
|
pla ; PRG $2801 | CPU $E801 | 68
|
|
tax ; PRG $2802 | CPU $E802 | AA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E803.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e803 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E803:
|
|
clc ; PRG $2803 | CPU $E803 | 18
|
|
lda #$20 ; PRG $2804 | CPU $E804 | A9 20
|
|
adc ScratchValue0 ; PRG $2806 | CPU $E806 | 65 00
|
|
sta ScratchValue0 ; PRG $2808 | CPU $E808 | 85 00
|
|
lda #$00 ; PRG $280A | CPU $E80A | A9 00
|
|
adc ScratchValue1 ; PRG $280C | CPU $E80C | 65 01
|
|
sta ScratchValue1 ; PRG $280E | CPU $E80E | 85 01
|
|
dex ; PRG $2810 | CPU $E810 | CA
|
|
bne *-$1B ; PRG $3AB4 | CPU $FAB4 | d0 e3
|
|
rts ; PRG $2813 | CPU $E813 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E814.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e814 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E814:
|
|
lda #$D0 ; PRG $2814 | CPU $E814 | A9 D0
|
|
sta ScratchValue2 ; PRG $2816 | CPU $E816 | 85 02
|
|
lda #$02 ; PRG $2818 | CPU $E818 | A9 02
|
|
sta ScratchIndex ; PRG $281A | CPU $E81A | 85 03
|
|
lda #$00 ; PRG $281C | CPU $E81C | A9 00
|
|
sta ScratchValue0 ; PRG $281E | CPU $E81E | 85 00
|
|
lda #$04 ; PRG $2820 | CPU $E820 | A9 04
|
|
sta ScratchValue1 ; PRG $2822 | CPU $E822 | 85 01
|
|
ldx Zp_AD ; PRG $2824 | CPU $E824 | A6 AD
|
|
dex ; PRG $2826 | CPU $E826 | CA
|
|
bpl UpdateSideScrollingGameplay_E833 ; PRG $2827 | CPU $E827 | 10 0A
|
|
lda #$40 ; PRG $2829 | CPU $E829 | A9 40
|
|
sta ScratchValue0 ; PRG $282B | CPU $E82B | 85 00
|
|
lda #$05 ; PRG $282D | CPU $E82D | A9 05
|
|
sta ScratchValue1 ; PRG $282F | CPU $E82F | 85 01
|
|
ldx #$01 ; PRG $2831 | CPU $E831 | A2 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E833.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e833 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E833:
|
|
stx Zp_AD ; PRG $2833 | CPU $E833 | 86 AD
|
|
ldx #$0A ; PRG $2835 | CPU $E835 | A2 0A
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State E837.
|
|
; Local behavior: Executes the decoded transform flight state e837 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_E837:
|
|
ldy #$00 ; PRG $2837 | CPU $E837 | A0 00
|
|
lda (ScratchValue0),y ; PRG $2839 | CPU $E839 | B1 00
|
|
bmi UpdateSideScrollingGameplay_E86E ; PRG $283B | CPU $E83B | 30 31
|
|
sta DataPointerLo ; PRG $283D | CPU $E83D | 85 04
|
|
ldy #$03 ; PRG $283F | CPU $E83F | A0 03
|
|
lda (ScratchValue0),y ; PRG $2841 | CPU $E841 | B1 00
|
|
ror DataPointerLo ; PRG $2843 | CPU $E843 | 66 04
|
|
ror a ; PRG $2845 | CPU $E845 | 6A
|
|
ror DataPointerLo ; PRG $2846 | CPU $E846 | 66 04
|
|
ror a ; PRG $2848 | CPU $E848 | 6A
|
|
ror DataPointerLo ; PRG $2849 | CPU $E849 | 66 04
|
|
ror a ; PRG $284B | CPU $E84B | 6A
|
|
ror DataPointerLo ; PRG $284C | CPU $E84C | 66 04
|
|
ror a ; PRG $284E | CPU $E84E | 6A
|
|
cmp #$30 ; PRG $284F | CPU $E84F | C9 30
|
|
sta DataPointerLo ; PRG $2851 | CPU $E851 | 85 04
|
|
lda #$78 ; PRG $2853 | CPU $E853 | A9 78
|
|
bcc TransformFlightState_E859 ; PRG $2855 | CPU $E855 | 90 02
|
|
lda #$28 ; PRG $2857 | CPU $E857 | A9 28
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State E859.
|
|
; Local behavior: Executes the decoded transform flight state e859 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_E859:
|
|
clc ; PRG $2859 | CPU $E859 | 18
|
|
adc DataPointerLo ; PRG $285A | CPU $E85A | 65 04
|
|
ldy #$03 ; PRG $285C | CPU $E85C | A0 03
|
|
sta (ScratchValue2),y ; PRG $285E | CPU $E85E | 91 02
|
|
ldy #$01 ; PRG $2860 | CPU $E860 | A0 01
|
|
lda (ScratchValue0),y ; PRG $2862 | CPU $E862 | B1 00
|
|
sec ; PRG $2864 | CPU $E864 | 38
|
|
sbc #$2E ; PRG $2865 | CPU $E865 | E9 2E
|
|
lsr a ; PRG $2867 | CPU $E867 | 4A
|
|
lsr a ; PRG $2868 | CPU $E868 | 4A
|
|
lsr a ; PRG $2869 | CPU $E869 | 4A
|
|
lsr a ; PRG $286A | CPU $E86A | 4A
|
|
clc ; PRG $286B | CPU $E86B | 18
|
|
adc #$17 ; PRG $286C | CPU $E86C | 69 17
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E86 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e86 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E86E:
|
|
ldy #$00 ; PRG $286E | CPU $E86E | A0 00
|
|
sta (ScratchValue2),y ; PRG $2870 | CPU $E870 | 91 02
|
|
lda ScratchValue0 ; PRG $2872 | CPU $E872 | A5 00
|
|
clc ; PRG $2874 | CPU $E874 | 18
|
|
adc #$20 ; PRG $2875 | CPU $E875 | 69 20
|
|
sta ScratchValue0 ; PRG $2877 | CPU $E877 | 85 00
|
|
bcc UpdateSideScrollingGameplay_E87D ; PRG $2879 | CPU $E879 | 90 02
|
|
inc ScratchValue1 ; PRG $287B | CPU $E87B | E6 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E87 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e87 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E87D:
|
|
lda ScratchValue2 ; PRG $287D | CPU $E87D | A5 02
|
|
clc ; PRG $287F | CPU $E87F | 18
|
|
adc #$04 ; PRG $2880 | CPU $E880 | 69 04
|
|
sta ScratchValue2 ; PRG $2882 | CPU $E882 | 85 02
|
|
dex ; PRG $2884 | CPU $E884 | CA
|
|
bne TransformFlightState_E837 ; PRG $2885 | CPU $E885 | D0 B0
|
|
rts ; PRG $2887 | CPU $E887 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E888.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e888 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E888:
|
|
lda Zp_A1 ; PRG $2888 | CPU $E888 | A5 A1
|
|
bmi UpdateGameplayStateField_E896 ; PRG $288A | CPU $E88A | 30 0A
|
|
bne UpdateSideScrollingGameplay_E8B3 ; PRG $288C | CPU $E88C | D0 25
|
|
ldx Zp_32 ; PRG $288E | CPU $E88E | A6 32
|
|
lda PreviousControllerButtons,x ; PRG $2890 | CPU $E890 | B5 19
|
|
and #$03 ; PRG $2892 | CPU $E892 | 29 03
|
|
beq UpdateGameplayStateField_E896 ; PRG $2894 | CPU $E894 | F0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E896.
|
|
; Local behavior: Executes the decoded update gameplay state field e896 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E896:
|
|
rts ; PRG $2896 | CPU $E896 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E897.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e897 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E897:
|
|
lda #$01 ; PRG $2897 | CPU $E897 | A9 01
|
|
sta Zp_A1 ; PRG $2899 | CPU $E899 | 85 A1
|
|
lda #$51 ; PRG $289B | CPU $E89B | A9 51
|
|
sta ScratchValue0 ; PRG $289D | CPU $E89D | 85 00
|
|
lda #$C8 ; PRG $289F | CPU $E89F | A9 C8
|
|
sta ScratchValue1 ; PRG $28A1 | CPU $E8A1 | 85 01
|
|
lda #$12 ; PRG $28A3 | CPU $E8A3 | A9 12
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E8 A5.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e8 a5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E8A5:
|
|
sta ScratchValue2 ; PRG $28A5 | CPU $E8A5 | 85 02
|
|
lda #$30 ; PRG $28A7 | CPU $E8A7 | A9 30
|
|
sta ScratchIndex ; PRG $28A9 | CPU $E8A9 | 85 03
|
|
lda #$03 ; PRG $28AB | CPU $E8AB | A9 03
|
|
sta DataPointerLo ; PRG $28AD | CPU $E8AD | 85 04
|
|
jsr UpdateSideScrollingGameplay_C169 ; PRG $28AF | CPU $E8AF | 20 69 C1
|
|
rts ; PRG $28B2 | CPU $E8B2 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E8 B3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e8 b3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E8B3:
|
|
ldx Ram_0330 ; PRG $28B3 | CPU $E8B3 | AE 30 03
|
|
bne UpdateGameplayStateField_E896 ; PRG $28B6 | CPU $E8B6 | D0 DE
|
|
cmp #$02 ; PRG $28B8 | CPU $E8B8 | C9 02
|
|
beq UpdateSideScrollingGameplay_E897 ; PRG $28BA | CPU $E8BA | F0 DB
|
|
lda #$FF ; PRG $28BC | CPU $E8BC | A9 FF
|
|
sta Zp_A1 ; PRG $28BE | CPU $E8BE | 85 A1
|
|
lda #$63 ; PRG $28C0 | CPU $E8C0 | A9 63
|
|
sta ScratchValue0 ; PRG $28C2 | CPU $E8C2 | 85 00
|
|
lda #$C8 ; PRG $28C4 | CPU $E8C4 | A9 C8
|
|
sta ScratchValue1 ; PRG $28C6 | CPU $E8C6 | 85 01
|
|
lda #$12 ; PRG $28C8 | CPU $E8C8 | A9 12
|
|
bne UpdateSideScrollingGameplay_E8A5 ; PRG $28CA | CPU $E8CA | D0 D9
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E8 CC.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e8 cc sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E8CC:
|
|
lda #$E8 ; PRG $28CC | CPU $E8CC | A9 E8
|
|
sta Zp_A3 ; PRG $28CE | CPU $E8CE | 85 A3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E8 D0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e8 d0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E8D0:
|
|
lda #$F4 ; PRG $28D0 | CPU $E8D0 | A9 F4
|
|
sta Zp_A4 ; PRG $28D2 | CPU $E8D2 | 85 A4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E8 D4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e8 d4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E8D4:
|
|
lda Zp_A4 ; PRG $28D4 | CPU $E8D4 | A5 A4
|
|
ldy #$00 ; PRG $28D6 | CPU $E8D6 | A0 00
|
|
jsr UpdateSideScrollingGameplay_E9BA ; PRG $28D8 | CPU $E8D8 | 20 BA E9
|
|
lda Zp_A5 ; PRG $28DB | CPU $E8DB | A5 A5
|
|
ldy #$03 ; PRG $28DD | CPU $E8DD | A0 03
|
|
jsr UpdateSideScrollingGameplay_E9BA ; PRG $28DF | CPU $E8DF | 20 BA E9
|
|
lda #$93 ; PRG $28E2 | CPU $E8E2 | A9 93
|
|
ldy #$01 ; PRG $28E4 | CPU $E8E4 | A0 01
|
|
jsr UpdateSideScrollingGameplay_E9BA ; PRG $28E6 | CPU $E8E6 | 20 BA E9
|
|
lda #$01 ; PRG $28E9 | CPU $E8E9 | A9 01
|
|
ldy #$02 ; PRG $28EB | CPU $E8EB | A0 02
|
|
jsr UpdateSideScrollingGameplay_E9BA ; PRG $28ED | CPU $E8ED | 20 BA E9
|
|
lda #$00 ; PRG $28F0 | CPU $E8F0 | A9 00
|
|
sta Zp_B1 ; PRG $28F2 | CPU $E8F2 | 85 B1
|
|
rts ; PRG $28F4 | CPU $E8F4 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E8 F5.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e8 f5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E8F5:
|
|
cmp #$E8 ; PRG $28F5 | CPU $E8F5 | C9 E8
|
|
beq UpdateGameplayStateField_E901 ; PRG $28F7 | CPU $E8F7 | F0 08
|
|
dec Zp_A3 ; PRG $28F9 | CPU $E8F9 | C6 A3
|
|
lda Zp_A3 ; PRG $28FB | CPU $E8FB | A5 A3
|
|
cmp #$E8 ; PRG $28FD | CPU $E8FD | C9 E8
|
|
beq UpdateSideScrollingGameplay_E8D0 ; PRG $28FF | CPU $E8FF | F0 CF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field E901.
|
|
; Local behavior: Executes the decoded update gameplay state field e901 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_E901:
|
|
rts ; PRG $2901 | CPU $E901 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E902.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e902 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E902:
|
|
sta Zp_A6 ; PRG $2902 | CPU $E902 | 85 A6
|
|
lda #$27 ; PRG $2904 | CPU $E904 | A9 27
|
|
sta Zp_A3 ; PRG $2906 | CPU $E906 | 85 A3
|
|
bne UpdateSideScrollingGameplay_E8D4 ; PRG $2908 | CPU $E908 | D0 CA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State E90 A.
|
|
; Local behavior: Executes the decoded transform flight state e90 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_E90A:
|
|
lda Zp_A6 ; PRG $290A | CPU $E90A | A5 A6
|
|
beq UpdateSideScrollingGameplay_E8CC ; PRG $290C | CPU $E90C | F0 BE
|
|
asl a ; PRG $290E | CPU $E90E | 0A
|
|
tay ; PRG $290F | CPU $E90F | A8
|
|
lda GameplayLookupTable_C6BF,y ; PRG $2910 | CPU $E910 | B9 BF C6
|
|
sta Ram_029D ; PRG $2913 | CPU $E913 | 8D 9D 02
|
|
lda GameplayLookupTable_C6C0,y ; PRG $2916 | CPU $E916 | B9 C0 C6
|
|
sta Ram_02A1 ; PRG $2919 | CPU $E919 | 8D A1 02
|
|
lda #$F4 ; PRG $291C | CPU $E91C | A9 F4
|
|
ldy #$00 ; PRG $291E | CPU $E91E | A0 00
|
|
jsr UpdateSideScrollingGameplay_E9BA ; PRG $2920 | CPU $E920 | 20 BA E9
|
|
lda Zp_A4 ; PRG $2923 | CPU $E923 | A5 A4
|
|
sta Ram_029C ; PRG $2925 | CPU $E925 | 8D 9C 02
|
|
sta Ram_02A0 ; PRG $2928 | CPU $E928 | 8D A0 02
|
|
lda Zp_A5 ; PRG $292B | CPU $E92B | A5 A5
|
|
sta Ram_029F ; PRG $292D | CPU $E92D | 8D 9F 02
|
|
clc ; PRG $2930 | CPU $E930 | 18
|
|
adc #$08 ; PRG $2931 | CPU $E931 | 69 08
|
|
sta Ram_02A3 ; PRG $2933 | CPU $E933 | 8D A3 02
|
|
lda #$01 ; PRG $2936 | CPU $E936 | A9 01
|
|
ldy #$02 ; PRG $2938 | CPU $E938 | A0 02
|
|
jsr UpdateSideScrollingGameplay_E9BA ; PRG $293A | CPU $E93A | 20 BA E9
|
|
dec Zp_A3 ; PRG $293D | CPU $E93D | C6 A3
|
|
lda #$00 ; PRG $293F | CPU $E93F | A9 00
|
|
sta Zp_B1 ; PRG $2941 | CPU $E941 | 85 B1
|
|
rts ; PRG $2943 | CPU $E943 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E944.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e944 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E944:
|
|
lda Zp_A3 ; PRG $2944 | CPU $E944 | A5 A3
|
|
beq TransformFlightState_E90A ; PRG $2946 | CPU $E946 | F0 C2
|
|
bmi UpdateSideScrollingGameplay_E8F5 ; PRG $2948 | CPU $E948 | 30 AB
|
|
sec ; PRG $294A | CPU $E94A | 38
|
|
sbc #$28 ; PRG $294B | CPU $E94B | E9 28
|
|
bcs UpdateSideScrollingGameplay_E902 ; PRG $294D | CPU $E94D | B0 B3
|
|
dec Zp_A3 ; PRG $294F | CPU $E94F | C6 A3
|
|
and #$02 ; PRG $2951 | CPU $E951 | 29 02
|
|
ldx Zp_A7 ; PRG $2953 | CPU $E953 | A6 A7
|
|
beq UpdateSideScrollingGameplay_E958 ; PRG $2955 | CPU $E955 | F0 01
|
|
sec ; PRG $2957 | CPU $E957 | 38
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E958.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e958 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E958:
|
|
adc #$93 ; PRG $2958 | CPU $E958 | 69 93
|
|
ldy #$01 ; PRG $295A | CPU $E95A | A0 01
|
|
jsr UpdateSideScrollingGameplay_E9BA ; PRG $295C | CPU $E95C | 20 BA E9
|
|
ldx #$03 ; PRG $295F | CPU $E95F | A2 03
|
|
ldy #$00 ; PRG $2961 | CPU $E961 | A0 00
|
|
lda #$FE ; PRG $2963 | CPU $E963 | A9 FE
|
|
jsr UpdateSideScrollingGameplay_E9C7 ; PRG $2965 | CPU $E965 | 20 C7 E9
|
|
ldx #$03 ; PRG $2968 | CPU $E968 | A2 03
|
|
ldy #$10 ; PRG $296A | CPU $E96A | A0 10
|
|
lda #$02 ; PRG $296C | CPU $E96C | A9 02
|
|
jsr UpdateSideScrollingGameplay_E9C7 ; PRG $296E | CPU $E96E | 20 C7 E9
|
|
ldx #$03 ; PRG $2971 | CPU $E971 | A2 03
|
|
ldy #$0B ; PRG $2973 | CPU $E973 | A0 0B
|
|
lda #$02 ; PRG $2975 | CPU $E975 | A9 02
|
|
jsr UpdateSideScrollingGameplay_E9E6 ; PRG $2977 | CPU $E977 | 20 E6 E9
|
|
ldx #$02 ; PRG $297A | CPU $E97A | A2 02
|
|
ldy #$1B ; PRG $297C | CPU $E97C | A0 1B
|
|
lda #$FE ; PRG $297E | CPU $E97E | A9 FE
|
|
jsr UpdateSideScrollingGameplay_E9E6 ; PRG $2980 | CPU $E980 | 20 E6 E9
|
|
ldx #$01 ; PRG $2983 | CPU $E983 | A2 01
|
|
ldy #$03 ; PRG $2985 | CPU $E985 | A0 03
|
|
lda #$FE ; PRG $2987 | CPU $E987 | A9 FE
|
|
jsr UpdateSideScrollingGameplay_E9E6 ; PRG $2989 | CPU $E989 | 20 E6 E9
|
|
ldx #$02 ; PRG $298C | CPU $E98C | A2 02
|
|
ldy #$20 ; PRG $298E | CPU $E98E | A0 20
|
|
lda #$FF ; PRG $2990 | CPU $E990 | A9 FF
|
|
jsr UpdateSideScrollingGameplay_E9C7 ; PRG $2992 | CPU $E992 | 20 C7 E9
|
|
ldx #$02 ; PRG $2995 | CPU $E995 | A2 02
|
|
ldy #$28 ; PRG $2997 | CPU $E997 | A0 28
|
|
lda #$01 ; PRG $2999 | CPU $E999 | A9 01
|
|
jsr UpdateSideScrollingGameplay_E9C7 ; PRG $299B | CPU $E99B | 20 C7 E9
|
|
ldx #$02 ; PRG $299E | CPU $E99E | A2 02
|
|
ldy #$27 ; PRG $29A0 | CPU $E9A0 | A0 27
|
|
lda #$01 ; PRG $29A2 | CPU $E9A2 | A9 01
|
|
jsr UpdateSideScrollingGameplay_E9E6 ; PRG $29A4 | CPU $E9A4 | 20 E6 E9
|
|
ldx #$01 ; PRG $29A7 | CPU $E9A7 | A2 01
|
|
ldy #$2F ; PRG $29A9 | CPU $E9A9 | A0 2F
|
|
lda #$FF ; PRG $29AB | CPU $E9AB | A9 FF
|
|
jsr UpdateSideScrollingGameplay_E9E6 ; PRG $29AD | CPU $E9AD | 20 E6 E9
|
|
ldx #$01 ; PRG $29B0 | CPU $E9B0 | A2 01
|
|
ldy #$23 ; PRG $29B2 | CPU $E9B2 | A0 23
|
|
lda #$FF ; PRG $29B4 | CPU $E9B4 | A9 FF
|
|
jsr UpdateSideScrollingGameplay_E9E6 ; PRG $29B6 | CPU $E9B6 | 20 E6 E9
|
|
rts ; PRG $29B9 | CPU $E9B9 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E9 BA.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e9 ba sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E9BA:
|
|
ldx #$0C ; PRG $29BA | CPU $E9BA | A2 0C
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E9 BC.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e9 bc sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E9BC:
|
|
sta Ram_029C,y ; PRG $29BC | CPU $E9BC | 99 9C 02
|
|
iny ; PRG $29BF | CPU $E9BF | C8
|
|
iny ; PRG $29C0 | CPU $E9C0 | C8
|
|
iny ; PRG $29C1 | CPU $E9C1 | C8
|
|
iny ; PRG $29C2 | CPU $E9C2 | C8
|
|
dex ; PRG $29C3 | CPU $E9C3 | CA
|
|
bne UpdateSideScrollingGameplay_E9BC ; PRG $29C4 | CPU $E9C4 | D0 F6
|
|
rts ; PRG $29C6 | CPU $E9C6 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E9 C7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e9 c7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E9C7:
|
|
sta ScratchValue0 ; PRG $29C7 | CPU $E9C7 | 85 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value E9 C9.
|
|
; Local behavior: Executes the decoded calculate and clamp value e9 c9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_E9C9:
|
|
clc ; PRG $29C9 | CPU $E9C9 | 18
|
|
lda Ram_029C,y ; PRG $29CA | CPU $E9CA | B9 9C 02
|
|
adc ScratchValue0 ; PRG $29CD | CPU $E9CD | 65 00
|
|
cmp #$E0 ; PRG $29CF | CPU $E9CF | C9 E0
|
|
bcc UpdateSideScrollingGameplay_E9D5 ; PRG $29D1 | CPU $E9D1 | 90 02
|
|
lda #$F4 ; PRG $29D3 | CPU $E9D3 | A9 F4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E9 D5.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e9 d5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E9D5:
|
|
cmp #$30 ; PRG $29D5 | CPU $E9D5 | C9 30
|
|
bcs UpdateSideScrollingGameplay_E9DB ; PRG $29D7 | CPU $E9D7 | B0 02
|
|
lda #$F4 ; PRG $29D9 | CPU $E9D9 | A9 F4
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E9 DB.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e9 db sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E9DB:
|
|
sta Ram_029C,y ; PRG $29DB | CPU $E9DB | 99 9C 02
|
|
iny ; PRG $29DE | CPU $E9DE | C8
|
|
iny ; PRG $29DF | CPU $E9DF | C8
|
|
iny ; PRG $29E0 | CPU $E9E0 | C8
|
|
iny ; PRG $29E1 | CPU $E9E1 | C8
|
|
dex ; PRG $29E2 | CPU $E9E2 | CA
|
|
bne CalculateMovementAndClamp_E9C9 ; PRG $29E3 | CPU $E9E3 | D0 E4
|
|
rts ; PRG $29E5 | CPU $E9E5 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E9 E6.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e9 e6 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E9E6:
|
|
sta ScratchValue0 ; PRG $29E6 | CPU $E9E6 | 85 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E9 E8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e9 e8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E9E8:
|
|
clc ; PRG $29E8 | CPU $E9E8 | 18
|
|
lda ScratchValue0 ; PRG $29E9 | CPU $E9E9 | A5 00
|
|
bpl UpdateSideScrollingGameplay_E9FF ; PRG $29EB | CPU $E9EB | 10 12
|
|
adc Ram_029C,y ; PRG $29ED | CPU $E9ED | 79 9C 02
|
|
bcs UpdateSideScrollingGameplay_EA04 ; PRG $29F0 | CPU $E9F0 | B0 12
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E9 F2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e9 f2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E9F2:
|
|
lda #$F4 ; PRG $29F2 | CPU $E9F2 | A9 F4
|
|
sta Ram_0299,y ; PRG $29F4 | CPU $E9F4 | 99 99 02
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E9 F7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e9 f7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E9F7:
|
|
iny ; PRG $29F7 | CPU $E9F7 | C8
|
|
iny ; PRG $29F8 | CPU $E9F8 | C8
|
|
iny ; PRG $29F9 | CPU $E9F9 | C8
|
|
iny ; PRG $29FA | CPU $E9FA | C8
|
|
dex ; PRG $29FB | CPU $E9FB | CA
|
|
bne UpdateSideScrollingGameplay_E9E8 ; PRG $29FC | CPU $E9FC | D0 EA
|
|
rts ; PRG $29FE | CPU $E9FE | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay E9 FF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay e9 ff sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_E9FF:
|
|
adc Ram_029C,y ; PRG $29FF | CPU $E9FF | 79 9C 02
|
|
bcs UpdateSideScrollingGameplay_E9F2 ; PRG $2A02 | CPU $EA02 | B0 EE
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay EA04.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay ea04 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_EA04:
|
|
sta Ram_029C,y ; PRG $2A04 | CPU $EA04 | 99 9C 02
|
|
jmp UpdateSideScrollingGameplay_E9F7 ; PRG $2A07 | CPU $EA07 | 4C F7 E9
|
|
.byte $3F,$00,$20,$0F,$30,$27,$16,$0F,$02,$21,$08,$0F,$27,$10,$16,$0F ; PRG $2A0A | CPU $EA0A
|
|
.byte $20,$02,$21,$0F,$20,$02,$21,$0F,$35,$13,$14,$0F,$09,$28,$1A,$0F ; PRG $2A1A | CPU $EA1A
|
|
.byte $17,$20,$06,$23,$C0,$08,$80,$A0,$20,$00,$00,$00,$A0,$A0,$23,$E8 ; PRG $2A2A | CPU $EA2A
|
|
.byte $48,$AA,$23,$F0,$48,$FA,$27,$E8,$48,$AA,$27,$F0,$48,$FA,$21,$19 ; PRG $2A3A | CPU $EA3A
|
|
.byte $01,$38,$25,$16,$01,$38,$21,$1F,$01,$37,$25,$39,$01,$3A,$20,$ED ; PRG $2A4A | CPU $EA4A
|
|
.byte $01,$38,$24,$E6,$01,$39,$24,$F1,$01,$39,$21,$46,$01,$37,$25,$49 ; PRG $2A5A | CPU $EA5A
|
|
.byte $01,$38,$21,$96,$01,$3A,$25,$D6,$01,$38,$21,$E5,$01,$38,$21,$F4 ; PRG $2A6A | CPU $EA6A
|
|
.byte $01,$39,$21,$FC,$01,$39,$22,$22,$01,$37,$26,$20,$01,$39,$26,$2D ; PRG $2A7A | CPU $EA7A
|
|
.byte $01,$37,$22,$4A,$01,$39,$26,$5B,$01,$39,$22,$73,$01,$37,$26,$78 ; PRG $2A8A | CPU $EA8A
|
|
.byte $01,$37,$24,$C0,$60,$47,$20,$C0,$60,$47,$20,$4A,$84,$3F,$40,$40 ; PRG $2A9A | CPU $EA9A
|
|
.byte $41,$20,$55,$84,$43,$44,$44,$45,$20,$4F,$02,$50,$60,$20,$8F,$02 ; PRG $2AAA | CPU $EAAA
|
|
.byte $51,$61,$20,$A2,$01,$2F,$20,$AB,$03,$4C,$4D,$4E,$00,$23,$40,$01 ; PRG $2ABA | CPU $EABA
|
|
.byte $3C,$23,$48,$01,$3C,$23,$4C,$01,$3C,$23,$57,$01,$3C,$27,$40,$01 ; PRG $2ACA | CPU $EACA
|
|
.byte $3C,$27,$4A,$01,$3C,$27,$4D,$01,$3C,$27,$50,$01,$3C,$00,$3F,$00 ; PRG $2ADA | CPU $EADA
|
|
.byte $14,$0F,$30,$01,$21,$0F,$3C,$22,$1C,$0F,$30,$32,$21,$0F,$37,$27 ; PRG $2AEA | CPU $EAEA
|
|
.byte $16,$0F,$30,$32,$21,$20,$7D,$02,$5E,$6D,$20,$82,$1C,$00,$10,$20 ; PRG $2AFA | CPU $EAFA
|
|
.byte $30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0,$04,$14,$24 ; PRG $2B0A | CPU $EB0A
|
|
.byte $34,$44,$54,$64,$74,$84,$94,$A4,$B4,$20,$A2,$1C,$01,$11,$21,$31 ; PRG $2B1A | CPU $EB1A
|
|
.byte $41,$51,$61,$71,$81,$91,$A1,$B1,$C1,$D1,$E1,$F1,$05,$15,$25,$35 ; PRG $2B2A | CPU $EB2A
|
|
.byte $45,$55,$65,$75,$85,$95,$A5,$B5,$20,$C2,$1C,$02,$12,$22,$32,$42 ; PRG $2B3A | CPU $EB3A
|
|
.byte $52,$62,$72,$82,$92,$A2,$B2,$C2,$D2,$E2,$F2,$06,$16,$26,$36,$46 ; PRG $2B4A | CPU $EB4A
|
|
.byte $56,$66,$76,$86,$96,$A6,$B6,$20,$E2,$1C,$03,$13,$23,$33,$43,$53 ; PRG $2B5A | CPU $EB5A
|
|
.byte $63,$73,$83,$93,$A3,$B3,$C3,$D3,$E3,$F3,$07,$17,$27,$37,$47,$57 ; PRG $2B6A | CPU $EB6A
|
|
.byte $67,$77,$87,$97,$A7,$B7,$21,$69,$0F,$1B,$FF,$1E,$5D,$2C,$2F,$6C ; PRG $2B7A | CPU $EB7A
|
|
.byte $3E,$FF,$0D,$2C,$6D,$6C,$FF,$2C,$21,$A9,$0F,$1B,$FF,$1E,$5D,$2C ; PRG $2B8A | CPU $EB8A
|
|
.byte $2F,$6C,$3E,$FF,$0D,$2C,$6D,$6C,$FF,$3C,$21,$E9,$0F,$2B,$FF,$1E ; PRG $2B9A | CPU $EB9A
|
|
.byte $5D,$2C,$2F,$6C,$3E,$FF,$0D,$2C,$6D,$6C,$FF,$2C,$22,$29,$0F,$2B ; PRG $2BAA | CPU $EBAA
|
|
.byte $FF,$1E,$5D,$2C,$2F,$6C,$3E,$FF,$0D,$2C,$6D,$6C,$FF,$3C,$22,$A5 ; PRG $2BBA | CPU $EBBA
|
|
.byte $16,$5F,$1B,$1C,$0C,$0C,$FF,$1D,$2C,$5D,$FF,$2C,$6D,$6C,$3E,$2D ; PRG $2BCA | CPU $EBCA
|
|
.byte $4C,$2C,$6F,$2D,$7D,$4C,$4F,$22,$E6,$13,$2C,$5D,$5D,$FF,$3E,$2D ; PRG $2BDA | CPU $EBDA
|
|
.byte $0D,$1D,$5E,$4E,$FF,$3E,$6C,$4E,$6C,$3E,$7E,$6C,$5C,$23,$2A,$0B ; PRG $2BEA | CPU $EBEA
|
|
.byte $5D,$2D,$4C,$6C,$7D,$4E,$6C,$5C,$FF,$3C,$2F,$23,$44,$18,$7D,$2D ; PRG $2BFA | CPU $EBFA
|
|
.byte $7D,$5E,$6C,$7D,$5C,$0E,$FF,$0E,$7C,$FF,$2C,$6D,$6C,$3E,$2D,$4C ; PRG $2C0A | CPU $EC0A
|
|
.byte $2C,$FF,$2D,$7D,$4C,$4F,$23,$C0,$20,$00,$00,$00,$00,$00,$00,$00 ; PRG $2C1A | CPU $EC1A
|
|
.byte $A0,$28,$0A,$0A,$0A,$0A,$0A,$02,$00,$00,$00,$FF,$F0,$FB,$F0,$00 ; PRG $2C2A | CPU $EC2A
|
|
.byte $00,$00,$00,$FF,$FF,$FF,$FF,$00,$00,$23,$E0,$20,$08,$00,$FF,$0F ; PRG $2C3A | CPU $EC3A
|
|
.byte $AF,$AF,$02,$02,$00,$BA,$AA,$AA,$AA,$AA,$AA,$00,$00,$50,$56,$55 ; PRG $2C4A | CPU $EC4A
|
|
.byte $55,$59,$50,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3F,$00,$14 ; PRG $2C5A | CPU $EC5A
|
|
.byte $0F,$30,$01,$21,$0F,$3C,$22,$1C,$0F,$30,$32,$21,$0F,$37,$27,$16 ; PRG $2C6A | CPU $EC6A
|
|
.byte $0F,$30,$32,$21,$20,$7D,$02,$5E,$6D,$20,$82,$1C,$00,$10,$20,$30 ; PRG $2C7A | CPU $EC7A
|
|
.byte $40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0,$04,$14,$24,$34 ; PRG $2C8A | CPU $EC8A
|
|
.byte $44,$54,$64,$74,$84,$94,$A4,$B4,$20,$A2,$1C,$01,$11,$21,$31,$41 ; PRG $2C9A | CPU $EC9A
|
|
.byte $51,$61,$71,$81,$91,$A1,$B1,$C1,$D1,$E1,$F1,$05,$15,$25,$35,$45 ; PRG $2CAA | CPU $ECAA
|
|
.byte $55,$65,$75,$85,$95,$A5,$B5,$20,$C2,$1C,$02,$12,$22,$32,$42,$52 ; PRG $2CBA | CPU $ECBA
|
|
.byte $62,$72,$82,$92,$A2,$B2,$C2,$D2,$E2,$F2,$06,$16,$26,$36,$46,$56 ; PRG $2CCA | CPU $ECCA
|
|
.byte $66,$76,$86,$96,$A6,$B6,$20,$E2,$1C,$03,$13,$23,$33,$43,$53,$63 ; PRG $2CDA | CPU $ECDA
|
|
.byte $73,$83,$93,$A3,$B3,$C3,$D3,$E3,$F3,$07,$17,$27,$37,$47,$57,$67 ; PRG $2CEA | CPU $ECEA
|
|
.byte $77,$87,$97,$A7,$B7,$21,$65,$15,$5E,$6D,$FF,$2C,$7D,$5C,$FF,$5F ; PRG $2CFA | CPU $ECFA
|
|
.byte $1B,$1C,$0C,$1B,$FF,$0F,$2D,$5D,$5D,$2D,$2C,$6D,$4E,$21,$A5,$16 ; PRG $2D0A | CPU $ED0A
|
|
.byte $6C,$5D,$6C,$4C,$5E,$3E,$0E,$7D,$2D,$4C,$4E,$FF,$0D,$2C,$6D,$6C ; PRG $2D1A | CPU $ED1A
|
|
.byte $4E,$6F,$2D,$7D,$4C,$4F,$22,$02,$1C,$4E,$6E,$3C,$5D,$2D,$4C,$6C ; PRG $2D2A | CPU $ED2A
|
|
.byte $7D,$4E,$6C,$5C,$FF,$7C,$3E,$0E,$6D,$FF,$2C,$5E,$2C,$3E,$2D,$FF ; PRG $2D3A | CPU $ED3A
|
|
.byte $4C,$0E,$3E,$1E,$4F,$22,$47,$11,$3C,$2F,$FF,$1D,$2C,$5D,$FF,$5D ; PRG $2D4A | CPU $ED4A
|
|
.byte $2C,$3C,$0E,$3E,$2C,$5E,$0E,$3E,$2F,$22,$A5,$16,$5F,$1B,$1C,$0C ; PRG $2D5A | CPU $ED5A
|
|
.byte $0C,$FF,$1D,$2C,$5D,$FF,$2C,$6D,$6C,$3E,$2D,$4C,$2C,$6F,$2D,$7D ; PRG $2D6A | CPU $ED6A
|
|
.byte $4C,$4F,$22,$E6,$13,$2C,$5D,$5D,$FF,$3E,$2D,$0D,$1D,$5E,$4E,$FF ; PRG $2D7A | CPU $ED7A
|
|
.byte $3E,$6C,$4E,$6C,$3E,$7E,$6C,$5C,$23,$2A,$0B,$5D,$2D,$4C,$6C,$7D ; PRG $2D8A | CPU $ED8A
|
|
.byte $4E,$6C,$5C,$FF,$3C,$2F,$23,$44,$18,$7D,$2D,$7D,$5E,$6C,$7D,$5C ; PRG $2D9A | CPU $ED9A
|
|
.byte $0E,$FF,$0E,$7C,$FF,$2C,$6D,$6C,$3E,$2D,$4C,$2C,$FF,$2D,$7D,$4C ; PRG $2DAA | CPU $EDAA
|
|
.byte $4F,$23,$C0,$20,$00,$00,$00,$00,$00,$00,$00,$A0,$28,$0A,$0A,$0A ; PRG $2DBA | CPU $EDBA
|
|
.byte $0A,$0A,$02,$00,$00,$50,$5F,$50,$5B,$50,$10,$00,$00,$05,$05,$05 ; PRG $2DCA | CPU $EDCA
|
|
.byte $05,$05,$05,$00,$23,$E0,$20,$55,$55,$55,$55,$55,$55,$15,$05,$00 ; PRG $2DDA | CPU $EDDA
|
|
.byte $BA,$AA,$AA,$AA,$AA,$AA,$00,$00,$50,$56,$55,$55,$59,$50,$00,$00 ; PRG $2DEA | CPU $EDEA
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00,$3F,$00,$10,$0F,$27,$27,$27,$0F ; PRG $2DFA | CPU $EDFA
|
|
.byte $16,$21,$21,$0F,$20,$02,$21,$0F,$30,$27,$16,$21,$89,$0B,$0A,$1D ; PRG $2E0A | CPU $EE0A
|
|
.byte $1D,$0A,$0C,$14,$24,$20,$0A,$1F,$0E,$21,$CB,$09,$0C,$18,$16,$19 ; PRG $2E1A | CPU $EE1A
|
|
.byte $15,$0E,$1D,$0E,$0D,$22,$8A,$0B,$0B,$18,$17,$1E,$1C,$24,$4F,$24 ; PRG $2E2A | CPU $EE2A
|
|
.byte $24,$00,$00,$23,$EA,$04,$A5,$A5,$AF,$AF,$23,$C8,$48,$FF,$20,$A2 ; PRG $2E3A | CPU $EE3A
|
|
.byte $01,$2F,$20,$AB,$03,$4C,$4D,$4E,$20,$C0,$60,$47,$00,$20,$A2,$01 ; PRG $2E4A | CPU $EE4A
|
|
.byte $2F,$20,$AB,$03,$4C,$4D,$4E,$20,$C0,$60,$47,$00,$23,$20,$03,$32 ; PRG $2E5A | CPU $EE5A
|
|
.byte $34,$33,$23,$00,$05,$30,$24,$31,$36,$33,$22,$E4,$02,$31,$33,$22 ; PRG $2E6A | CPU $EE6A
|
|
.byte $C5,$05,$31,$33,$24,$32,$30,$22,$A6,$03,$31,$35,$30,$22,$E9,$02 ; PRG $2E7A | CPU $EE7A
|
|
.byte $32,$30,$23,$0A,$02,$32,$30,$23,$2B,$06,$32,$34,$34,$34,$34,$33 ; PRG $2E8A | CPU $EE8A
|
|
.byte $23,$10,$09,$31,$34,$34,$30,$24,$24,$31,$36,$33,$23,$33,$04,$32 ; PRG $2E9A | CPU $EE9A
|
|
.byte $34,$34,$33,$22,$F8,$05,$31,$36,$33,$32,$30,$22,$DA,$02,$31,$30 ; PRG $2EAA | CPU $EEAA
|
|
.byte $23,$1C,$03,$32,$36,$30,$23,$3E,$02,$32,$34,$27,$20,$02,$34,$33 ; PRG $2EBA | CPU $EEBA
|
|
.byte $27,$01,$06,$31,$34,$34,$34,$34,$30,$27,$26,$0A,$32,$34,$34,$35 ; PRG $2ECA | CPU $EECA
|
|
.byte $34,$35,$34,$34,$35,$33,$27,$0F,$02,$31,$33,$26,$F0,$07,$31,$33 ; PRG $2EDA | CPU $EEDA
|
|
.byte $32,$33,$24,$32,$30,$26,$D1,$05,$31,$30,$31,$35,$30,$27,$16,$0A ; PRG $2EEA | CPU $EEEA
|
|
.byte $32,$30,$24,$31,$30,$24,$24,$31,$33,$32,$27,$37,$07,$32,$34,$33 ; PRG $2EFA | CPU $EEFA
|
|
.byte $32,$34,$34,$33,$26,$FE,$02,$31,$30,$00,$23,$20,$60,$34,$27,$20 ; PRG $2F0A | CPU $EF0A
|
|
.byte $60,$34,$23,$23,$01,$35,$23,$27,$01,$35,$23,$29,$01,$35,$23,$39 ; PRG $2F1A | CPU $EF1A
|
|
.byte $01,$35,$27,$23,$01,$35,$27,$25,$01,$35,$27,$2E,$01,$35,$27,$2F ; PRG $2F2A | CPU $EF2A
|
|
.byte $01,$35,$27,$33,$01,$35,$27,$39,$01,$35,$23,$3C,$01,$35,$00,$FF ; PRG $2F3A | CPU $EF3A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $2F4A | CPU $EF4A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $2F5A | CPU $EF5A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $2F6A | CPU $EF6A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $2F7A | CPU $EF7A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $2F8A | CPU $EF8A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $2F9A | CPU $EF9A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $2FAA | CPU $EFAA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $2FBA | CPU $EFBA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $2FCA | CPU $EFCA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $2FDA | CPU $EFDA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $2FEA | CPU $EFEA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $2FFA | CPU $EFFA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $300A | CPU $F00A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $301A | CPU $F01A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $302A | CPU $F02A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $303A | CPU $F03A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $304A | CPU $F04A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $305A | CPU $F05A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $306A | CPU $F06A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $307A | CPU $F07A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $308A | CPU $F08A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $309A | CPU $F09A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $30AA | CPU $F0AA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $30BA | CPU $F0BA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $30CA | CPU $F0CA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $30DA | CPU $F0DA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $30EA | CPU $F0EA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $30FA | CPU $F0FA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $310A | CPU $F10A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $311A | CPU $F11A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $312A | CPU $F12A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $313A | CPU $F13A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $314A | CPU $F14A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $315A | CPU $F15A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $316A | CPU $F16A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $317A | CPU $F17A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $318A | CPU $F18A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $319A | CPU $F19A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $31AA | CPU $F1AA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $31BA | CPU $F1BA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $31CA | CPU $F1CA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $31DA | CPU $F1DA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $31EA | CPU $F1EA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $31FA | CPU $F1FA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $320A | CPU $F20A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $321A | CPU $F21A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $322A | CPU $F22A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $323A | CPU $F23A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $324A | CPU $F24A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $325A | CPU $F25A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $326A | CPU $F26A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $327A | CPU $F27A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $328A | CPU $F28A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $329A | CPU $F29A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $32AA | CPU $F2AA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $32BA | CPU $F2BA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $32CA | CPU $F2CA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $32DA | CPU $F2DA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $32EA | CPU $F2EA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $32FA | CPU $F2FA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $330A | CPU $F30A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $331A | CPU $F31A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $332A | CPU $F32A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $333A | CPU $F33A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $334A | CPU $F34A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $335A | CPU $F35A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $336A | CPU $F36A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $337A | CPU $F37A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $338A | CPU $F38A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $339A | CPU $F39A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $33AA | CPU $F3AA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $33BA | CPU $F3BA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $33CA | CPU $F3CA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $33DA | CPU $F3DA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $33EA | CPU $F3EA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $33FA | CPU $F3FA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $340A | CPU $F40A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $341A | CPU $F41A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $342A | CPU $F42A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $343A | CPU $F43A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $344A | CPU $F44A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $345A | CPU $F45A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $346A | CPU $F46A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $347A | CPU $F47A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $348A | CPU $F48A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $349A | CPU $F49A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $34AA | CPU $F4AA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $34BA | CPU $F4BA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $34CA | CPU $F4CA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $34DA | CPU $F4DA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $34EA | CPU $F4EA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $34FA | CPU $F4FA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $350A | CPU $F50A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $351A | CPU $F51A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $352A | CPU $F52A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $353A | CPU $F53A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $354A | CPU $F54A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $355A | CPU $F55A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $356A | CPU $F56A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $357A | CPU $F57A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $358A | CPU $F58A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $359A | CPU $F59A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $35AA | CPU $F5AA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $35BA | CPU $F5BA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $35CA | CPU $F5CA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $35DA | CPU $F5DA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $35EA | CPU $F5EA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $35FA | CPU $F5FA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $360A | CPU $F60A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $361A | CPU $F61A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $362A | CPU $F62A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $363A | CPU $F63A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $364A | CPU $F64A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $365A | CPU $F65A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $366A | CPU $F66A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $367A | CPU $F67A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $368A | CPU $F68A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $369A | CPU $F69A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $36AA | CPU $F6AA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $36BA | CPU $F6BA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $36CA | CPU $F6CA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $36DA | CPU $F6DA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $36EA | CPU $F6EA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $36FA | CPU $F6FA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $370A | CPU $F70A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $371A | CPU $F71A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $372A | CPU $F72A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $373A | CPU $F73A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $374A | CPU $F74A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $375A | CPU $F75A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $376A | CPU $F76A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $377A | CPU $F77A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $378A | CPU $F78A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $379A | CPU $F79A
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $37AA | CPU $F7AA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $37BA | CPU $F7BA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $37CA | CPU $F7CA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $37DA | CPU $F7DA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $37EA | CPU $F7EA
|
|
.byte $FF,$FF,$FF,$FF,$FF,$FF ; PRG $37FA | CPU $F7FA
|
|
|
|
GameplayLookupTable_F800:
|
|
.byte $07 ; PRG $3800 | CPU $F800
|
|
|
|
GameplayLookupTable_F801:
|
|
.byte $F0,$00,$69,$00,$5E,$00,$3E,$00,$00,$00,$D4,$00,$BD,$00,$B2,$00 ; PRG $3801 | CPU $F801
|
|
.byte $A8,$00,$9F,$00,$8D,$00,$7E,$00,$70,$01,$AB,$01,$7C,$01,$67,$01 ; PRG $3811 | CPU $F811
|
|
.byte $52,$01,$3F,$01,$1C,$00,$FD,$00,$EE,$00,$E1,$03,$57,$02,$F9,$02 ; PRG $3821 | CPU $F821
|
|
.byte $CF,$02,$A6,$02,$80,$02,$3A,$02,$1A,$01,$FC,$01,$DF,$01,$C4,$06 ; PRG $3831 | CPU $F831
|
|
.byte $AE,$05,$F3,$05,$4D,$05,$01,$04,$75,$03,$89 ; PRG $3841 | CPU $F841
|
|
|
|
GameplayLookupTable_F84C:
|
|
.byte $03,$06,$15,$18,$30,$12,$0E,$07,$05,$0A,$14,$28,$50,$1E,$3C,$06 ; PRG $384C | CPU $F84C
|
|
.byte $0C,$18,$30,$60,$10,$48,$08,$04,$0C,$18,$30,$6C,$24,$54,$08,$07 ; PRG $385C | CPU $F85C
|
|
.byte $0E,$1C,$38,$70,$2A,$0A,$09,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $386C | CPU $F86C
|
|
.byte $FF,$FF,$FF,$FF ; PRG $387C | CPU $F87C
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Read Ship Controls F880.
|
|
; Local behavior: Executes the decoded read ship controls f880 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
ReadShipControls_F880:
|
|
lda #$C0 ; PRG $3880 | CPU $F880 | A9 C0
|
|
sta JOY2 ; PRG $3882 | CPU $F882 | 8D 17 40
|
|
jsr TransformFlightState_FA4C ; PRG $3885 | CPU $F885 | 20 4C FA
|
|
lda #$00 ; PRG $3888 | CPU $F888 | A9 00
|
|
sta Zp_FF ; PRG $388A | CPU $F88A | 85 FF
|
|
sta Zp_FE ; PRG $388C | CPU $F88C | 85 FE
|
|
sta Zp_FD ; PRG $388E | CPU $F88E | 85 FD
|
|
sta $4011 ; PRG $3890 | CPU $F890 | 8D 11 40
|
|
rts ; PRG $3893 | CPU $F893 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F894.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f894 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F894:
|
|
ldx #$90 ; PRG $3894 | CPU $F894 | A2 90
|
|
bne UpdateGameplayStateField_F8A1 ; PRG $3896 | CPU $F896 | D0 09
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F898.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f898 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F898:
|
|
ldx #$90 ; PRG $3898 | CPU $F898 | A2 90
|
|
bne UpdateGameplayStateField_F8AA ; PRG $389A | CPU $F89A | D0 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F89 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f89 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F89C:
|
|
ldy #$7F ; PRG $389C | CPU $F89C | A0 7F
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F89 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f89 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F89E:
|
|
sty $4001 ; PRG $389E | CPU $F89E | 8C 01 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field F8 A1.
|
|
; Local behavior: Executes the decoded update gameplay state field f8 a1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_F8A1:
|
|
stx $4000 ; PRG $38A1 | CPU $F8A1 | 8E 00 40
|
|
rts ; PRG $38A4 | CPU $F8A4 | 60
|
|
.byte $A0,$7F ; PRG $38A5 | CPU $F8A5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F8 A7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f8 a7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F8A7:
|
|
sty $4005 ; PRG $38A7 | CPU $F8A7 | 8C 05 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field F8 AA.
|
|
; Local behavior: Executes the decoded update gameplay state field f8 aa sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_F8AA:
|
|
stx $4004 ; PRG $38AA | CPU $F8AA | 8E 04 40
|
|
rts ; PRG $38AD | CPU $F8AD | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field F8 AE.
|
|
; Local behavior: Executes the decoded update gameplay state field f8 ae sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_F8AE:
|
|
sta $400C ; PRG $38AE | CPU $F8AE | 8D 0C 40
|
|
stx $400E ; PRG $38B1 | CPU $F8B1 | 8E 0E 40
|
|
ldy #$08 ; PRG $38B4 | CPU $F8B4 | A0 08
|
|
sty $400F ; PRG $38B6 | CPU $F8B6 | 8C 0F 40
|
|
rts ; PRG $38B9 | CPU $F8B9 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F8 BA.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f8 ba sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F8BA:
|
|
jsr UpdateSideScrollingGameplay_F89E ; PRG $38BA | CPU $F8BA | 20 9E F8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F8 BD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f8 bd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F8BD:
|
|
ldx #$00 ; PRG $38BD | CPU $F8BD | A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F8 BF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f8 bf sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F8BF:
|
|
tay ; PRG $38BF | CPU $F8BF | A8
|
|
lda GameplayLookupTable_F801,y ; PRG $38C0 | CPU $F8C0 | B9 01 F8
|
|
beq UpdateGameplayStateField_F8D0 ; PRG $38C3 | CPU $F8C3 | F0 0B
|
|
sta $4002,x ; PRG $38C5 | CPU $F8C5 | 9D 02 40
|
|
lda GameplayLookupTable_F800,y ; PRG $38C8 | CPU $F8C8 | B9 00 F8
|
|
ora #$08 ; PRG $38CB | CPU $F8CB | 09 08
|
|
sta $4003,x ; PRG $38CD | CPU $F8CD | 9D 03 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field F8 D0.
|
|
; Local behavior: Executes the decoded update gameplay state field f8 d0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_F8D0:
|
|
rts ; PRG $38D0 | CPU $F8D0 | 60
|
|
.byte $20,$A7,$F8 ; PRG $38D1 | CPU $F8D1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F8 D4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f8 d4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F8D4:
|
|
ldx #$04 ; PRG $38D4 | CPU $F8D4 | A2 04
|
|
bne UpdateSideScrollingGameplay_F8BF ; PRG $38D6 | CPU $F8D6 | D0 E7
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F8 D8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f8 d8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F8D8:
|
|
txa ; PRG $38D8 | CPU $F8D8 | 8A
|
|
and #$3E ; PRG $38D9 | CPU $F8D9 | 29 3E
|
|
ldx #$08 ; PRG $38DB | CPU $F8DB | A2 08
|
|
bne UpdateSideScrollingGameplay_F8BF ; PRG $38DD | CPU $F8DD | D0 E0
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F8 DF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f8 df sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F8DF:
|
|
ldy #$07 ; PRG $38DF | CPU $F8DF | A0 07
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State F8 E1.
|
|
; Local behavior: Executes the decoded transform flight state f8 e1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_F8E1:
|
|
asl a ; PRG $38E1 | CPU $F8E1 | 0A
|
|
bcs UpdateGameplayStateField_F8E7 ; PRG $38E2 | CPU $F8E2 | B0 03
|
|
dey ; PRG $38E4 | CPU $F8E4 | 88
|
|
bne TransformFlightState_F8E1 ; PRG $38E5 | CPU $F8E5 | D0 FA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field F8 E7.
|
|
; Local behavior: Executes the decoded update gameplay state field f8 e7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_F8E7:
|
|
rts ; PRG $38E7 | CPU $F8E7 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State F8 E8.
|
|
; Local behavior: Executes the decoded transform flight state f8 e8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_F8E8:
|
|
tya ; PRG $38E8 | CPU $F8E8 | 98
|
|
lsr a ; PRG $38E9 | CPU $F8E9 | 4A
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State F8 EA.
|
|
; Local behavior: Executes the decoded transform flight state f8 ea sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_F8EA:
|
|
lsr a ; PRG $38EA | CPU $F8EA | 4A
|
|
lsr a ; PRG $38EB | CPU $F8EB | 4A
|
|
lsr a ; PRG $38EC | CPU $F8EC | 4A
|
|
lsr a ; PRG $38ED | CPU $F8ED | 4A
|
|
sta ScratchValue1 ; PRG $38EE | CPU $F8EE | 85 01
|
|
bne UpdateGameplayStateField_F8F4 ; PRG $38F0 | CPU $F8F0 | D0 02
|
|
inc ScratchValue1 ; PRG $38F2 | CPU $F8F2 | E6 01
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field F8 F4.
|
|
; Local behavior: Executes the decoded update gameplay state field f8 f4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_F8F4:
|
|
tya ; PRG $38F4 | CPU $F8F4 | 98
|
|
sec ; PRG $38F5 | CPU $F8F5 | 38
|
|
sbc ScratchValue1 ; PRG $38F6 | CPU $F8F6 | E5 01
|
|
rts ; PRG $38F8 | CPU $F8F8 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State F8 F9.
|
|
; Local behavior: Executes the decoded transform flight state f8 f9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_F8F9:
|
|
tax ; PRG $38F9 | CPU $F8F9 | AA
|
|
ror a ; PRG $38FA | CPU $F8FA | 6A
|
|
txa ; PRG $38FB | CPU $F8FB | 8A
|
|
rol a ; PRG $38FC | CPU $F8FC | 2A
|
|
rol a ; PRG $38FD | CPU $F8FD | 2A
|
|
rol a ; PRG $38FE | CPU $F8FE | 2A
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F8 FF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f8 ff sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F8FF:
|
|
and #$07 ; PRG $38FF | CPU $F8FF | 29 07
|
|
clc ; PRG $3901 | CPU $F901 | 18
|
|
adc Ram_078D ; PRG $3902 | CPU $F902 | 6D 8D 07
|
|
tay ; PRG $3905 | CPU $F905 | A8
|
|
lda GameplayLookupTable_F84C,y ; PRG $3906 | CPU $F906 | B9 4C F8
|
|
rts ; PRG $3909 | CPU $F909 | 60
|
|
.byte $18,$1A,$1B,$1A,$19,$19,$18,$18,$17,$17,$16,$16,$15,$15,$14 ; PRG $390A | CPU $F90A
|
|
|
|
GameplayLookupTable_F919:
|
|
.byte $16,$84,$8E,$8E,$9E,$9F,$9F,$AF,$AF,$AF,$AF,$AF ; PRG $3919 | CPU $F919
|
|
|
|
GameplayLookupTable_F925:
|
|
.byte $AF,$84,$8E,$8E,$9E,$9F,$9F,$9F,$AF,$9F,$AF,$9F,$AF ; PRG $3925 | CPU $F925
|
|
|
|
GameplayLookupTable_F932:
|
|
.byte $0A ; PRG $3932 | CPU $F932
|
|
|
|
GameplayLookupTable_F933:
|
|
.byte $A6,$0A,$93,$0A,$80,$0A,$6E,$0A,$5C,$0A,$6E,$0A,$80,$0A,$93 ; PRG $3933 | CPU $F933
|
|
|
|
GameplayLookupTable_F942:
|
|
.byte $0A ; PRG $3942 | CPU $F942
|
|
|
|
GameplayLookupTable_F943:
|
|
.byte $CF,$0A,$BA,$0A,$A6,$0A,$93,$0A,$80,$0A,$93,$0A,$A6,$0A,$BA ; PRG $3943 | CPU $F943
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F952.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f952 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F952:
|
|
sty Zp_F0 ; PRG $3952 | CPU $F952 | 84 F0
|
|
lda #$00 ; PRG $3954 | CPU $F954 | A9 00
|
|
sta Zp_F2 ; PRG $3956 | CPU $F956 | 85 F2
|
|
beq UpdateSideScrollingGameplay_F95E ; PRG $3958 | CPU $F958 | F0 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F95 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f95 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F95A:
|
|
dec Zp_F3 ; PRG $395A | CPU $F95A | C6 F3
|
|
bne UpdateSideScrollingGameplay_F991 ; PRG $395C | CPU $F95C | D0 33
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F95 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f95 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F95E:
|
|
inc Zp_F2 ; PRG $395E | CPU $F95E | E6 F2
|
|
lda Zp_F2 ; PRG $3960 | CPU $F960 | A5 F2
|
|
cmp #$10 ; PRG $3962 | CPU $F962 | C9 10
|
|
beq UpdateSideScrollingGameplay_F9A5 ; PRG $3964 | CPU $F964 | F0 3F
|
|
lda #$0C ; PRG $3966 | CPU $F966 | A9 0C
|
|
sta Zp_F3 ; PRG $3968 | CPU $F968 | 85 F3
|
|
lda Zp_F2 ; PRG $396A | CPU $F96A | A5 F2
|
|
and #$FE ; PRG $396C | CPU $F96C | 29 FE
|
|
tay ; PRG $396E | CPU $F96E | A8
|
|
lda GameplayLookupTable_F933,y ; PRG $396F | CPU $F96F | B9 33 F9
|
|
sta $4002 ; PRG $3972 | CPU $F972 | 8D 02 40
|
|
lda GameplayLookupTable_F932,y ; PRG $3975 | CPU $F975 | B9 32 F9
|
|
sta $4003 ; PRG $3978 | CPU $F978 | 8D 03 40
|
|
ldx #$1A ; PRG $397B | CPU $F97B | A2 1A
|
|
stx $4000 ; PRG $397D | CPU $F97D | 8E 00 40
|
|
lda GameplayLookupTable_F943,y ; PRG $3980 | CPU $F980 | B9 43 F9
|
|
sta $4006 ; PRG $3983 | CPU $F983 | 8D 06 40
|
|
lda GameplayLookupTable_F942,y ; PRG $3986 | CPU $F986 | B9 42 F9
|
|
sta $4007 ; PRG $3989 | CPU $F989 | 8D 07 40
|
|
ldx #$1A ; PRG $398C | CPU $F98C | A2 1A
|
|
stx $4004 ; PRG $398E | CPU $F98E | 8E 04 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F991.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f991 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F991:
|
|
inc Ram_07B7 ; PRG $3991 | CPU $F991 | EE B7 07
|
|
ldy Zp_F3 ; PRG $3994 | CPU $F994 | A4 F3
|
|
lda GameplayLookupTable_F919,y ; PRG $3996 | CPU $F996 | B9 19 F9
|
|
sta $4001 ; PRG $3999 | CPU $F999 | 8D 01 40
|
|
lda GameplayLookupTable_F925,y ; PRG $399C | CPU $F99C | B9 25 F9
|
|
sta $4005 ; PRG $399F | CPU $F99F | 8D 05 40
|
|
jmp UpdateSideScrollingGameplay_FA8C ; PRG $39A2 | CPU $F9A2 | 4C 8C FA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F9 A5.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f9 a5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F9A5:
|
|
jsr UpdateSideScrollingGameplay_F898 ; PRG $39A5 | CPU $F9A5 | 20 98 F8
|
|
jmp UpdateSideScrollingGameplay_FACB ; PRG $39A8 | CPU $F9A8 | 4C CB FA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F9 AB.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f9 ab sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F9AB:
|
|
sty Zp_F0 ; PRG $39AB | CPU $F9AB | 84 F0
|
|
lda #$10 ; PRG $39AD | CPU $F9AD | A9 10
|
|
sta Zp_F2 ; PRG $39AF | CPU $F9AF | 85 F2
|
|
bne UpdateSideScrollingGameplay_F9B7 ; PRG $39B1 | CPU $F9B1 | D0 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F9 B3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f9 b3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F9B3:
|
|
dec Zp_F3 ; PRG $39B3 | CPU $F9B3 | C6 F3
|
|
bne UpdateSideScrollingGameplay_F9C9 ; PRG $39B5 | CPU $F9B5 | D0 12
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F9 B7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f9 b7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F9B7:
|
|
dec Zp_F2 ; PRG $39B7 | CPU $F9B7 | C6 F2
|
|
beq UpdateSideScrollingGameplay_F9A5 ; PRG $39B9 | CPU $F9B9 | F0 EA
|
|
lda #$0E ; PRG $39BB | CPU $F9BB | A9 0E
|
|
sta Zp_F3 ; PRG $39BD | CPU $F9BD | 85 F3
|
|
lda #$32 ; PRG $39BF | CPU $F9BF | A9 32
|
|
jsr UpdateSideScrollingGameplay_F8BD ; PRG $39C1 | CPU $F9C1 | 20 BD F8
|
|
lda #$9F ; PRG $39C4 | CPU $F9C4 | A9 9F
|
|
sta $4001 ; PRG $39C6 | CPU $F9C6 | 8D 01 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F9 C9.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f9 c9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F9C9:
|
|
inc Ram_07B7 ; PRG $39C9 | CPU $F9C9 | EE B7 07
|
|
ldx #$1C ; PRG $39CC | CPU $F9CC | A2 1C
|
|
lda Ram_07B7 ; PRG $39CE | CPU $F9CE | AD B7 07
|
|
cmp #$08 ; PRG $39D1 | CPU $F9D1 | C9 08
|
|
bcc UpdateSideScrollingGameplay_F9DC ; PRG $39D3 | CPU $F9D3 | 90 07
|
|
lda #$00 ; PRG $39D5 | CPU $F9D5 | A9 00
|
|
sta Ram_07B7 ; PRG $39D7 | CPU $F9D7 | 8D B7 07
|
|
ldx #$14 ; PRG $39DA | CPU $F9DA | A2 14
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F9 DC.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f9 dc sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F9DC:
|
|
inc Ram_07B8 ; PRG $39DC | CPU $F9DC | EE B8 07
|
|
lda Ram_07B8 ; PRG $39DF | CPU $F9DF | AD B8 07
|
|
cmp #$30 ; PRG $39E2 | CPU $F9E2 | C9 30
|
|
bcc UpdateSideScrollingGameplay_F9FA ; PRG $39E4 | CPU $F9E4 | 90 14
|
|
lda #$00 ; PRG $39E6 | CPU $F9E6 | A9 00
|
|
sta Ram_07B8 ; PRG $39E8 | CPU $F9E8 | 8D B8 07
|
|
lda #$30 ; PRG $39EB | CPU $F9EB | A9 30
|
|
jsr UpdateSideScrollingGameplay_F8D4 ; PRG $39ED | CPU $F9ED | 20 D4 F8
|
|
lda #$BF ; PRG $39F0 | CPU $F9F0 | A9 BF
|
|
sta $4005 ; PRG $39F2 | CPU $F9F2 | 8D 05 40
|
|
ldx #$1A ; PRG $39F5 | CPU $F9F5 | A2 1A
|
|
stx $4004 ; PRG $39F7 | CPU $F9F7 | 8E 04 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay F9 FA.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay f9 fa sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_F9FA:
|
|
stx $4000 ; PRG $39FA | CPU $F9FA | 8E 00 40
|
|
jmp UpdateSideScrollingGameplay_FA8C ; PRG $39FD | CPU $F9FD | 4C 8C FA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA00.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa00 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA00:
|
|
sty Zp_F0 ; PRG $3A00 | CPU $FA00 | 84 F0
|
|
lda #$40 ; PRG $3A02 | CPU $FA02 | A9 40
|
|
sta Zp_F2 ; PRG $3A04 | CPU $FA04 | 85 F2
|
|
lda #$1A ; PRG $3A06 | CPU $FA06 | A9 1A
|
|
sta Zp_F3 ; PRG $3A08 | CPU $FA08 | 85 F3
|
|
ldx #$9C ; PRG $3A0A | CPU $FA0A | A2 9C
|
|
ldy #$83 ; PRG $3A0C | CPU $FA0C | A0 83
|
|
jsr UpdateSideScrollingGameplay_F89E ; PRG $3A0E | CPU $FA0E | 20 9E F8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FA11.
|
|
; Local behavior: Executes the decoded transform flight state fa11 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FA11:
|
|
lda Zp_F2 ; PRG $3A11 | CPU $FA11 | A5 F2
|
|
cmp #$30 ; PRG $3A13 | CPU $FA13 | C9 30
|
|
bcs TransformFlightState_FA1E ; PRG $3A15 | CPU $FA15 | B0 07
|
|
lsr a ; PRG $3A17 | CPU $FA17 | 4A
|
|
lsr a ; PRG $3A18 | CPU $FA18 | 4A
|
|
ora #$90 ; PRG $3A19 | CPU $FA19 | 09 90
|
|
sta $4000 ; PRG $3A1B | CPU $FA1B | 8D 00 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FA1 E.
|
|
; Local behavior: Executes the decoded transform flight state fa1 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FA1E:
|
|
lda Zp_F2 ; PRG $3A1E | CPU $FA1E | A5 F2
|
|
and #$07 ; PRG $3A20 | CPU $FA20 | 29 07
|
|
bne UpdateSideScrollingGameplay_FA3D ; PRG $3A22 | CPU $FA22 | D0 19
|
|
lda Zp_F3 ; PRG $3A24 | CPU $FA24 | A5 F3
|
|
lsr a ; PRG $3A26 | CPU $FA26 | 4A
|
|
lsr a ; PRG $3A27 | CPU $FA27 | 4A
|
|
lsr a ; PRG $3A28 | CPU $FA28 | 4A
|
|
lsr a ; PRG $3A29 | CPU $FA29 | 4A
|
|
sec ; PRG $3A2A | CPU $FA2A | 38
|
|
adc Zp_F3 ; PRG $3A2B | CPU $FA2B | 65 F3
|
|
sta Zp_F3 ; PRG $3A2D | CPU $FA2D | 85 F3
|
|
rol a ; PRG $3A2F | CPU $FA2F | 2A
|
|
rol a ; PRG $3A30 | CPU $FA30 | 2A
|
|
rol a ; PRG $3A31 | CPU $FA31 | 2A
|
|
sta $4002 ; PRG $3A32 | CPU $FA32 | 8D 02 40
|
|
rol a ; PRG $3A35 | CPU $FA35 | 2A
|
|
and #$07 ; PRG $3A36 | CPU $FA36 | 29 07
|
|
ora #$08 ; PRG $3A38 | CPU $FA38 | 09 08
|
|
sta $4003 ; PRG $3A3A | CPU $FA3A | 8D 03 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA3 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa3 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA3D:
|
|
jmp UpdateSideScrollingGameplay_FAC7 ; PRG $3A3D | CPU $FA3D | 4C C7 FA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA40.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa40 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA40:
|
|
jmp UpdateSideScrollingGameplay_F952 ; PRG $3A40 | CPU $FA40 | 4C 52 F9
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA43.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa43 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA43:
|
|
jmp UpdateSideScrollingGameplay_F95A ; PRG $3A43 | CPU $FA43 | 4C 5A F9
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA46.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa46 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA46:
|
|
jmp UpdateSideScrollingGameplay_F9AB ; PRG $3A46 | CPU $FA46 | 4C AB F9
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA49.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa49 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA49:
|
|
jmp UpdateSideScrollingGameplay_F9B3 ; PRG $3A49 | CPU $FA49 | 4C B3 F9
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FA4 C.
|
|
; Local behavior: Executes the decoded transform flight state fa4 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FA4C:
|
|
ldy Zp_FF ; PRG $3A4C | CPU $FA4C | A4 FF
|
|
lda Zp_F0 ; PRG $3A4E | CPU $FA4E | A5 F0
|
|
ldx Zp_FB ; PRG $3A50 | CPU $FA50 | A6 FB
|
|
bne UpdateSideScrollingGameplay_FA8C ; PRG $3A52 | CPU $FA52 | D0 38
|
|
lsr a ; PRG $3A54 | CPU $FA54 | 4A
|
|
bcs UpdateSideScrollingGameplay_FA43 ; PRG $3A55 | CPU $FA55 | B0 EC
|
|
lsr Zp_FF ; PRG $3A57 | CPU $FA57 | 46 FF
|
|
bcs UpdateSideScrollingGameplay_FA40 ; PRG $3A59 | CPU $FA59 | B0 E5
|
|
lsr a ; PRG $3A5B | CPU $FA5B | 4A
|
|
bcs UpdateSideScrollingGameplay_FA49 ; PRG $3A5C | CPU $FA5C | B0 EB
|
|
lsr Zp_FF ; PRG $3A5E | CPU $FA5E | 46 FF
|
|
bcs UpdateSideScrollingGameplay_FA46 ; PRG $3A60 | CPU $FA60 | B0 E4
|
|
lsr Zp_FF ; PRG $3A62 | CPU $FA62 | 46 FF
|
|
bcs UpdateSideScrollingGameplay_FA00 ; PRG $3A64 | CPU $FA64 | B0 9A
|
|
lsr a ; PRG $3A66 | CPU $FA66 | 4A
|
|
bcs TransformFlightState_FA11 ; PRG $3A67 | CPU $FA67 | B0 A8
|
|
lsr Zp_FF ; PRG $3A69 | CPU $FA69 | 46 FF
|
|
bcs UpdateSideScrollingGameplay_FAA1 ; PRG $3A6B | CPU $FA6B | B0 34
|
|
lsr a ; PRG $3A6D | CPU $FA6D | 4A
|
|
bcs TransformFlightState_FAB2 ; PRG $3A6E | CPU $FA6E | B0 42
|
|
lsr Zp_FF ; PRG $3A70 | CPU $FA70 | 46 FF
|
|
bcs UpdateSideScrollingGameplay_FAD4 ; PRG $3A72 | CPU $FA72 | B0 60
|
|
lsr a ; PRG $3A74 | CPU $FA74 | 4A
|
|
bcs UpdateSideScrollingGameplay_FADF ; PRG $3A75 | CPU $FA75 | B0 68
|
|
lsr Zp_FF ; PRG $3A77 | CPU $FA77 | 46 FF
|
|
bcs UpdateSideScrollingGameplay_FA8F ; PRG $3A79 | CPU $FA79 | B0 14
|
|
lsr a ; PRG $3A7B | CPU $FA7B | 4A
|
|
bcs UpdateSideScrollingGameplay_FA92 ; PRG $3A7C | CPU $FA7C | B0 14
|
|
lsr Zp_FF ; PRG $3A7E | CPU $FA7E | 46 FF
|
|
bcs UpdateSideScrollingGameplay_FA95 ; PRG $3A80 | CPU $FA80 | B0 13
|
|
lsr a ; PRG $3A82 | CPU $FA82 | 4A
|
|
bcs UpdateSideScrollingGameplay_FA98 ; PRG $3A83 | CPU $FA83 | B0 13
|
|
lsr Zp_FF ; PRG $3A85 | CPU $FA85 | 46 FF
|
|
bcs UpdateSideScrollingGameplay_FA9B ; PRG $3A87 | CPU $FA87 | B0 12
|
|
lsr a ; PRG $3A89 | CPU $FA89 | 4A
|
|
bcs UpdateSideScrollingGameplay_FA9E ; PRG $3A8A | CPU $FA8A | B0 12
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA8 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa8 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA8C:
|
|
jmp TransformFlightState_FC41 ; PRG $3A8C | CPU $FA8C | 4C 41 FC
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA8 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa8 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA8F:
|
|
jmp UpdateSideScrollingGameplay_FB1A ; PRG $3A8F | CPU $FA8F | 4C 1A FB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA92.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa92 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA92:
|
|
jmp TransformFlightState_FB2A ; PRG $3A92 | CPU $FA92 | 4C 2A FB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA95.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa95 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA95:
|
|
jmp UpdateSideScrollingGameplay_FB47 ; PRG $3A95 | CPU $FA95 | 4C 47 FB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA98.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa98 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA98:
|
|
jmp UpdateSideScrollingGameplay_FB57 ; PRG $3A98 | CPU $FA98 | 4C 57 FB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA9 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa9 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA9B:
|
|
jmp UpdateSideScrollingGameplay_FB7C ; PRG $3A9B | CPU $FA9B | 4C 7C FB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FA9 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fa9 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FA9E:
|
|
jmp UpdateSideScrollingGameplay_FB8B ; PRG $3A9E | CPU $FA9E | 4C 8B FB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FAA1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay faa1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FAA1:
|
|
sty Zp_F0 ; PRG $3AA1 | CPU $FAA1 | 84 F0
|
|
lda #$30 ; PRG $3AA3 | CPU $FAA3 | A9 30
|
|
sta Zp_F2 ; PRG $3AA5 | CPU $FAA5 | 85 F2
|
|
lda #$FF ; PRG $3AA7 | CPU $FAA7 | A9 FF
|
|
sta Zp_F3 ; PRG $3AA9 | CPU $FAA9 | 85 F3
|
|
ldx #$5C ; PRG $3AAB | CPU $FAAB | A2 5C
|
|
ldy #$81 ; PRG $3AAD | CPU $FAAD | A0 81
|
|
jsr UpdateSideScrollingGameplay_F89E ; PRG $3AAF | CPU $FAAF | 20 9E F8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FAB2.
|
|
; Local behavior: Executes the decoded transform flight state fab2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FAB2:
|
|
lda Zp_F3 ; PRG $3AB2 | CPU $FAB2 | A5 F3
|
|
tay ; PRG $3AB4 | CPU $FAB4 | A8
|
|
jsr TransformFlightState_F8EA ; PRG $3AB5 | CPU $FAB5 | 20 EA F8
|
|
sta Zp_F3 ; PRG $3AB8 | CPU $FAB8 | 85 F3
|
|
rol a ; PRG $3ABA | CPU $FABA | 2A
|
|
rol a ; PRG $3ABB | CPU $FABB | 2A
|
|
sta $4002 ; PRG $3ABC | CPU $FABC | 8D 02 40
|
|
rol a ; PRG $3ABF | CPU $FABF | 2A
|
|
and #$03 ; PRG $3AC0 | CPU $FAC0 | 29 03
|
|
ora #$08 ; PRG $3AC2 | CPU $FAC2 | 09 08
|
|
sta $4003 ; PRG $3AC4 | CPU $FAC4 | 8D 03 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FAC7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fac7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FAC7:
|
|
dec Zp_F2 ; PRG $3AC7 | CPU $FAC7 | C6 F2
|
|
bne UpdateSideScrollingGameplay_FA8C ; PRG $3AC9 | CPU $FAC9 | D0 C1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FACB.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay facb sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FACB:
|
|
jsr UpdateSideScrollingGameplay_F894 ; PRG $3ACB | CPU $FACB | 20 94 F8
|
|
lda #$00 ; PRG $3ACE | CPU $FACE | A9 00
|
|
sta Zp_F0 ; PRG $3AD0 | CPU $FAD0 | 85 F0
|
|
beq UpdateSideScrollingGameplay_FA8C ; PRG $3AD2 | CPU $FAD2 | F0 B8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FAD4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fad4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FAD4:
|
|
sty Zp_F0 ; PRG $3AD4 | CPU $FAD4 | 84 F0
|
|
lda Zp_18 ; PRG $3AD6 | CPU $FAD6 | A5 18
|
|
and #$01 ; PRG $3AD8 | CPU $FAD8 | 29 01
|
|
sta Zp_F2 ; PRG $3ADA | CPU $FADA | 85 F2
|
|
jmp UpdateSideScrollingGameplay_FAE4 ; PRG $3ADC | CPU $FADC | 4C E4 FA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FADF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fadf sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FADF:
|
|
dec Ram_07B7 ; PRG $3ADF | CPU $FADF | CE B7 07
|
|
bne UpdateSideScrollingGameplay_FAF9 ; PRG $3AE2 | CPU $FAE2 | D0 15
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FAE4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fae4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FAE4:
|
|
ldy Zp_F2 ; PRG $3AE4 | CPU $FAE4 | A4 F2
|
|
inc Zp_F2 ; PRG $3AE6 | CPU $FAE6 | E6 F2
|
|
lda GameplayLookupTable_FB8E,y ; PRG $3AE8 | CPU $FAE8 | B9 8E FB
|
|
beq UpdateSideScrollingGameplay_FACB ; PRG $3AEB | CPU $FAEB | F0 DE
|
|
sta Ram_07B7 ; PRG $3AED | CPU $FAED | 8D B7 07
|
|
lda #$0A ; PRG $3AF0 | CPU $FAF0 | A9 0A
|
|
sta Zp_F3 ; PRG $3AF2 | CPU $FAF2 | 85 F3
|
|
lda #$16 ; PRG $3AF4 | CPU $FAF4 | A9 16
|
|
jsr UpdateSideScrollingGameplay_F8BD ; PRG $3AF6 | CPU $FAF6 | 20 BD F8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FAF9.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay faf9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FAF9:
|
|
ldy #$85 ; PRG $3AF9 | CPU $FAF9 | A0 85
|
|
lda Zp_F3 ; PRG $3AFB | CPU $FAFB | A5 F3
|
|
cmp #$05 ; PRG $3AFD | CPU $FAFD | C9 05
|
|
bne UpdateSideScrollingGameplay_FB05 ; PRG $3AFF | CPU $FAFF | D0 04
|
|
lda #$00 ; PRG $3B01 | CPU $FB01 | A9 00
|
|
beq UpdateSideScrollingGameplay_FB0B ; PRG $3B03 | CPU $FB03 | F0 06
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB05.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb05 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB05:
|
|
cmp #$08 ; PRG $3B05 | CPU $FB05 | C9 08
|
|
bcs UpdateSideScrollingGameplay_FB0B ; PRG $3B07 | CPU $FB07 | B0 02
|
|
ldy #$8C ; PRG $3B09 | CPU $FB09 | A0 8C
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB0 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb0 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB0B:
|
|
ora #$90 ; PRG $3B0B | CPU $FB0B | 09 90
|
|
tax ; PRG $3B0D | CPU $FB0D | AA
|
|
jsr UpdateSideScrollingGameplay_F89E ; PRG $3B0E | CPU $FB0E | 20 9E F8
|
|
lda Zp_F3 ; PRG $3B11 | CPU $FB11 | A5 F3
|
|
beq UpdateSideScrollingGameplay_FB17 ; PRG $3B13 | CPU $FB13 | F0 02
|
|
dec Zp_F3 ; PRG $3B15 | CPU $FB15 | C6 F3
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB17.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb17 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB17:
|
|
jmp UpdateSideScrollingGameplay_FA8C ; PRG $3B17 | CPU $FB17 | 4C 8C FA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB1 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb1 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB1A:
|
|
sty Zp_F0 ; PRG $3B1A | CPU $FB1A | 84 F0
|
|
lda #$60 ; PRG $3B1C | CPU $FB1C | A9 60
|
|
sta Zp_F2 ; PRG $3B1E | CPU $FB1E | 85 F2
|
|
lda #$12 ; PRG $3B20 | CPU $FB20 | A9 12
|
|
sta $4002 ; PRG $3B22 | CPU $FB22 | 8D 02 40
|
|
lda #$0F ; PRG $3B25 | CPU $FB25 | A9 0F
|
|
sta $4003 ; PRG $3B27 | CPU $FB27 | 8D 03 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FB2 A.
|
|
; Local behavior: Executes the decoded transform flight state fb2 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FB2A:
|
|
ldx #$5E ; PRG $3B2A | CPU $FB2A | A2 5E
|
|
lda Zp_F2 ; PRG $3B2C | CPU $FB2C | A5 F2
|
|
cmp #$1C ; PRG $3B2E | CPU $FB2E | C9 1C
|
|
bcs UpdateSideScrollingGameplay_FB36 ; PRG $3B30 | CPU $FB30 | B0 04
|
|
lsr a ; PRG $3B32 | CPU $FB32 | 4A
|
|
ora #$50 ; PRG $3B33 | CPU $FB33 | 09 50
|
|
tax ; PRG $3B35 | CPU $FB35 | AA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB36.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb36 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB36:
|
|
jsr UpdateSideScrollingGameplay_F89C ; PRG $3B36 | CPU $FB36 | 20 9C F8
|
|
ldx #$57 ; PRG $3B39 | CPU $FB39 | A2 57
|
|
lda Zp_F2 ; PRG $3B3B | CPU $FB3B | A5 F2
|
|
and #$07 ; PRG $3B3D | CPU $FB3D | 29 07
|
|
bne UpdateSideScrollingGameplay_FB44 ; PRG $3B3F | CPU $FB3F | D0 03
|
|
stx $4000 ; PRG $3B41 | CPU $FB41 | 8E 00 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB44.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb44 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB44:
|
|
jmp UpdateSideScrollingGameplay_FAC7 ; PRG $3B44 | CPU $FB44 | 4C C7 FA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB47.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb47 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB47:
|
|
sty Zp_F0 ; PRG $3B47 | CPU $FB47 | 84 F0
|
|
lda #$30 ; PRG $3B49 | CPU $FB49 | A9 30
|
|
sta Zp_F2 ; PRG $3B4B | CPU $FB4B | 85 F2
|
|
lda #$16 ; PRG $3B4D | CPU $FB4D | A9 16
|
|
jsr UpdateSideScrollingGameplay_F8BD ; PRG $3B4F | CPU $FB4F | 20 BD F8
|
|
ldy #$86 ; PRG $3B52 | CPU $FB52 | A0 86
|
|
sty $4001 ; PRG $3B54 | CPU $FB54 | 8C 01 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB57.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb57 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB57:
|
|
lda Zp_F2 ; PRG $3B57 | CPU $FB57 | A5 F2
|
|
cmp #$28 ; PRG $3B59 | CPU $FB59 | C9 28
|
|
bne TransformFlightState_FB62 ; PRG $3B5B | CPU $FB5B | D0 05
|
|
ldy #$96 ; PRG $3B5D | CPU $FB5D | A0 96
|
|
sty $4001 ; PRG $3B5F | CPU $FB5F | 8C 01 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FB62.
|
|
; Local behavior: Executes the decoded transform flight state fb62 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FB62:
|
|
ldx #$1A ; PRG $3B62 | CPU $FB62 | A2 1A
|
|
cmp #$14 ; PRG $3B64 | CPU $FB64 | C9 14
|
|
bcs UpdateSideScrollingGameplay_FB6C ; PRG $3B66 | CPU $FB66 | B0 04
|
|
lsr a ; PRG $3B68 | CPU $FB68 | 4A
|
|
ora #$10 ; PRG $3B69 | CPU $FB69 | 09 10
|
|
tax ; PRG $3B6B | CPU $FB6B | AA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB6 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb6 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB6C:
|
|
lda Zp_F2 ; PRG $3B6C | CPU $FB6C | A5 F2
|
|
and #$01 ; PRG $3B6E | CPU $FB6E | 29 01
|
|
bne UpdateSideScrollingGameplay_FB76 ; PRG $3B70 | CPU $FB70 | D0 04
|
|
txa ; PRG $3B72 | CPU $FB72 | 8A
|
|
ora #$40 ; PRG $3B73 | CPU $FB73 | 09 40
|
|
tax ; PRG $3B75 | CPU $FB75 | AA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB76.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb76 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB76:
|
|
stx $4000 ; PRG $3B76 | CPU $FB76 | 8E 00 40
|
|
jmp UpdateSideScrollingGameplay_FAC7 ; PRG $3B79 | CPU $FB79 | 4C C7 FA
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB7 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb7 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB7C:
|
|
sty Zp_F0 ; PRG $3B7C | CPU $FB7C | 84 F0
|
|
lda #$10 ; PRG $3B7E | CPU $FB7E | A9 10
|
|
sta Zp_F2 ; PRG $3B80 | CPU $FB80 | 85 F2
|
|
ldx #$43 ; PRG $3B82 | CPU $FB82 | A2 43
|
|
ldy #$84 ; PRG $3B84 | CPU $FB84 | A0 84
|
|
lda #$0A ; PRG $3B86 | CPU $FB86 | A9 0A
|
|
jsr UpdateSideScrollingGameplay_F8BA ; PRG $3B88 | CPU $FB88 | 20 BA F8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB8 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb8 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB8B:
|
|
jmp UpdateSideScrollingGameplay_FAC7 ; PRG $3B8B | CPU $FB8B | 4C C7 FA
|
|
|
|
GameplayLookupTable_FB8E:
|
|
.byte $0F,$05,$05,$05,$00 ; PRG $3B8E | CPU $FB8E
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FB93.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fb93 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FB93:
|
|
sty Zp_F1 ; PRG $3B93 | CPU $FB93 | 84 F1
|
|
lda #$A1 ; PRG $3B95 | CPU $FB95 | A9 A1
|
|
sta Zp_F4 ; PRG $3B97 | CPU $FB97 | 85 F4
|
|
lda #$35 ; PRG $3B99 | CPU $FB99 | A9 35
|
|
sta Zp_F5 ; PRG $3B9B | CPU $FB9B | 85 F5
|
|
ldx #$9C ; PRG $3B9D | CPU $FB9D | A2 9C
|
|
ldy #$8C ; PRG $3B9F | CPU $FB9F | A0 8C
|
|
jsr UpdateSideScrollingGameplay_F8A7 ; PRG $3BA1 | CPU $FBA1 | 20 A7 F8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FBA4.
|
|
; Local behavior: Executes the decoded transform flight state fba4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FBA4:
|
|
dec Zp_F4 ; PRG $3BA4 | CPU $FBA4 | C6 F4
|
|
lda Zp_F4 ; PRG $3BA6 | CPU $FBA6 | A5 F4
|
|
beq UpdateSideScrollingGameplay_FBFF ; PRG $3BA8 | CPU $FBA8 | F0 55
|
|
cmp #$30 ; PRG $3BAA | CPU $FBAA | C9 30
|
|
bcs TransformFlightState_FBB5 ; PRG $3BAC | CPU $FBAC | B0 07
|
|
lsr a ; PRG $3BAE | CPU $FBAE | 4A
|
|
lsr a ; PRG $3BAF | CPU $FBAF | 4A
|
|
ora #$90 ; PRG $3BB0 | CPU $FBB0 | 09 90
|
|
sta $4004 ; PRG $3BB2 | CPU $FBB2 | 8D 04 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FBB5.
|
|
; Local behavior: Executes the decoded transform flight state fbb5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FBB5:
|
|
lda Zp_F4 ; PRG $3BB5 | CPU $FBB5 | A5 F4
|
|
and #$07 ; PRG $3BB7 | CPU $FBB7 | 29 07
|
|
bne UpdateSideScrollingGameplay_FBD1 ; PRG $3BB9 | CPU $FBB9 | D0 16
|
|
lda Zp_F5 ; PRG $3BBB | CPU $FBBB | A5 F5
|
|
tay ; PRG $3BBD | CPU $FBBD | A8
|
|
jsr TransformFlightState_F8E8 ; PRG $3BBE | CPU $FBBE | 20 E8 F8
|
|
sta Zp_F5 ; PRG $3BC1 | CPU $FBC1 | 85 F5
|
|
rol a ; PRG $3BC3 | CPU $FBC3 | 2A
|
|
rol a ; PRG $3BC4 | CPU $FBC4 | 2A
|
|
rol a ; PRG $3BC5 | CPU $FBC5 | 2A
|
|
sta $4006 ; PRG $3BC6 | CPU $FBC6 | 8D 06 40
|
|
rol a ; PRG $3BC9 | CPU $FBC9 | 2A
|
|
and #$07 ; PRG $3BCA | CPU $FBCA | 29 07
|
|
ora #$08 ; PRG $3BCC | CPU $FBCC | 09 08
|
|
sta $4007 ; PRG $3BCE | CPU $FBCE | 8D 07 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FBD1.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fbd1 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FBD1:
|
|
jmp TransformFlightState_FC61 ; PRG $3BD1 | CPU $FBD1 | 4C 61 FC
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FBD4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fbd4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FBD4:
|
|
sty Zp_F1 ; PRG $3BD4 | CPU $FBD4 | 84 F1
|
|
lda #$1F ; PRG $3BD6 | CPU $FBD6 | A9 1F
|
|
sta Zp_F4 ; PRG $3BD8 | CPU $FBD8 | 85 F4
|
|
ldx #$5C ; PRG $3BDA | CPU $FBDA | A2 5C
|
|
ldy #$81 ; PRG $3BDC | CPU $FBDC | A0 81
|
|
jsr UpdateSideScrollingGameplay_F8A7 ; PRG $3BDE | CPU $FBDE | 20 A7 F8
|
|
bne UpdateSideScrollingGameplay_FBF2 ; PRG $3BE1 | CPU $FBE1 | D0 0F
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FBE3.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fbe3 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FBE3:
|
|
dec Zp_F4 ; PRG $3BE3 | CPU $FBE3 | C6 F4
|
|
beq UpdateSideScrollingGameplay_FBFF ; PRG $3BE5 | CPU $FBE5 | F0 18
|
|
lda Zp_F4 ; PRG $3BE7 | CPU $FBE7 | A5 F4
|
|
cmp #$07 ; PRG $3BE9 | CPU $FBE9 | C9 07
|
|
bcc UpdateSideScrollingGameplay_FBFB ; PRG $3BEB | CPU $FBEB | 90 0E
|
|
dec Ram_07B9 ; PRG $3BED | CPU $FBED | CE B9 07
|
|
bne UpdateSideScrollingGameplay_FBFB ; PRG $3BF0 | CPU $FBF0 | D0 09
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FBF2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fbf2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FBF2:
|
|
lda #$06 ; PRG $3BF2 | CPU $FBF2 | A9 06
|
|
sta Ram_07B9 ; PRG $3BF4 | CPU $FBF4 | 8D B9 07
|
|
lda #$1F ; PRG $3BF7 | CPU $FBF7 | A9 1F
|
|
sta Zp_F5 ; PRG $3BF9 | CPU $FBF9 | 85 F5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FBFB.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fbfb sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FBFB:
|
|
lda Zp_F5 ; PRG $3BFB | CPU $FBFB | A5 F5
|
|
bne TransformFlightState_FC1F ; PRG $3BFD | CPU $FBFD | D0 20
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FBFF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fbff sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FBFF:
|
|
lda #$00 ; PRG $3BFF | CPU $FBFF | A9 00
|
|
sta Zp_F1 ; PRG $3C01 | CPU $FC01 | 85 F1
|
|
jsr UpdateSideScrollingGameplay_F898 ; PRG $3C03 | CPU $FC03 | 20 98 F8
|
|
bne TransformFlightState_FC61 ; PRG $3C06 | CPU $FC06 | D0 59
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FC08.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fc08 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FC08:
|
|
sty Zp_F1 ; PRG $3C08 | CPU $FC08 | 84 F1
|
|
lda #$34 ; PRG $3C0A | CPU $FC0A | A9 34
|
|
sta Zp_F5 ; PRG $3C0C | CPU $FC0C | 85 F5
|
|
ldx #$5C ; PRG $3C0E | CPU $FC0E | A2 5C
|
|
ldy #$81 ; PRG $3C10 | CPU $FC10 | A0 81
|
|
jsr UpdateSideScrollingGameplay_F8A7 ; PRG $3C12 | CPU $FC12 | 20 A7 F8
|
|
bne TransformFlightState_FC29 ; PRG $3C15 | CPU $FC15 | D0 12
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FC17.
|
|
; Local behavior: Executes the decoded transform flight state fc17 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FC17:
|
|
lda Zp_F5 ; PRG $3C17 | CPU $FC17 | A5 F5
|
|
lsr a ; PRG $3C19 | CPU $FC19 | 4A
|
|
cmp #$50 ; PRG $3C1A | CPU $FC1A | C9 50
|
|
bcc TransformFlightState_FC1F ; PRG $3C1C | CPU $FC1C | 90 01
|
|
lsr a ; PRG $3C1E | CPU $FC1E | 4A
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FC1 F.
|
|
; Local behavior: Executes the decoded transform flight state fc1 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FC1F:
|
|
lsr a ; PRG $3C1F | CPU $FC1F | 4A
|
|
lsr a ; PRG $3C20 | CPU $FC20 | 4A
|
|
lsr a ; PRG $3C21 | CPU $FC21 | 4A
|
|
clc ; PRG $3C22 | CPU $FC22 | 18
|
|
adc Zp_F5 ; PRG $3C23 | CPU $FC23 | 65 F5
|
|
bcs UpdateSideScrollingGameplay_FBFF ; PRG $3C25 | CPU $FC25 | B0 D8
|
|
sta Zp_F5 ; PRG $3C27 | CPU $FC27 | 85 F5
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FC29.
|
|
; Local behavior: Executes the decoded transform flight state fc29 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FC29:
|
|
rol a ; PRG $3C29 | CPU $FC29 | 2A
|
|
rol a ; PRG $3C2A | CPU $FC2A | 2A
|
|
sta $4006 ; PRG $3C2B | CPU $FC2B | 8D 06 40
|
|
rol a ; PRG $3C2E | CPU $FC2E | 2A
|
|
and #$03 ; PRG $3C2F | CPU $FC2F | 29 03
|
|
ora #$08 ; PRG $3C31 | CPU $FC31 | 09 08
|
|
sta $4007 ; PRG $3C33 | CPU $FC33 | 8D 07 40
|
|
bne TransformFlightState_FC61 ; PRG $3C36 | CPU $FC36 | D0 29
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FC38.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fc38 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FC38:
|
|
jmp UpdateSideScrollingGameplay_FB93 ; PRG $3C38 | CPU $FC38 | 4C 93 FB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FC3 B.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fc3 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FC3B:
|
|
jmp TransformFlightState_FBA4 ; PRG $3C3B | CPU $FC3B | 4C A4 FB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FC3 E.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fc3 e sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FC3E:
|
|
jmp UpdateSideScrollingGameplay_FBD4 ; PRG $3C3E | CPU $FC3E | 4C D4 FB
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FC41.
|
|
; Local behavior: Executes the decoded transform flight state fc41 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FC41:
|
|
ldy Zp_FE ; PRG $3C41 | CPU $FC41 | A4 FE
|
|
sty ScratchValue0 ; PRG $3C43 | CPU $FC43 | 84 00
|
|
lda Zp_F1 ; PRG $3C45 | CPU $FC45 | A5 F1
|
|
ldx Ram_0782 ; PRG $3C47 | CPU $FC47 | AE 82 07
|
|
bne UpdateSideScrollingGameplay_FC89 ; PRG $3C4A | CPU $FC4A | D0 3D
|
|
lsr a ; PRG $3C4C | CPU $FC4C | 4A
|
|
bcs UpdateSideScrollingGameplay_FC3B ; PRG $3C4D | CPU $FC4D | B0 EC
|
|
lsr Zp_FE ; PRG $3C4F | CPU $FC4F | 46 FE
|
|
bcs UpdateSideScrollingGameplay_FC38 ; PRG $3C51 | CPU $FC51 | B0 E5
|
|
lsr a ; PRG $3C53 | CPU $FC53 | 4A
|
|
bcs UpdateSideScrollingGameplay_FBE3 ; PRG $3C54 | CPU $FC54 | B0 8D
|
|
lsr Zp_FE ; PRG $3C56 | CPU $FC56 | 46 FE
|
|
bcs UpdateSideScrollingGameplay_FC3E ; PRG $3C58 | CPU $FC58 | B0 E4
|
|
lsr Zp_FE ; PRG $3C5A | CPU $FC5A | 46 FE
|
|
bcs UpdateSideScrollingGameplay_FC08 ; PRG $3C5C | CPU $FC5C | B0 AA
|
|
lsr a ; PRG $3C5E | CPU $FC5E | 4A
|
|
bcs TransformFlightState_FC17 ; PRG $3C5F | CPU $FC5F | B0 B6
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FC61.
|
|
; Local behavior: Executes the decoded transform flight state fc61 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FC61:
|
|
ldy ScratchValue0 ; PRG $3C61 | CPU $FC61 | A4 00
|
|
lda Ram_07A5 ; PRG $3C63 | CPU $FC63 | AD A5 07
|
|
asl ScratchValue0 ; PRG $3C66 | CPU $FC66 | 06 00
|
|
bcs UpdateSideScrollingGameplay_FC98 ; PRG $3C68 | CPU $FC68 | B0 2E
|
|
asl a ; PRG $3C6A | CPU $FC6A | 0A
|
|
bcs UpdateSideScrollingGameplay_FCA7 ; PRG $3C6B | CPU $FC6B | B0 3A
|
|
asl a ; PRG $3C6D | CPU $FC6D | 0A
|
|
bcs UpdateSideScrollingGameplay_FCC2 ; PRG $3C6E | CPU $FC6E | B0 52
|
|
asl ScratchValue0 ; PRG $3C70 | CPU $FC70 | 06 00
|
|
bcs UpdateSideScrollingGameplay_FCB8 ; PRG $3C72 | CPU $FC72 | B0 44
|
|
asl a ; PRG $3C74 | CPU $FC74 | 0A
|
|
bcs UpdateSideScrollingGameplay_FCA7 ; PRG $3C75 | CPU $FC75 | B0 30
|
|
asl ScratchValue0 ; PRG $3C77 | CPU $FC77 | 06 00
|
|
bcs UpdateSideScrollingGameplay_FC8C ; PRG $3C79 | CPU $FC79 | B0 11
|
|
asl a ; PRG $3C7B | CPU $FC7B | 0A
|
|
bcs UpdateSideScrollingGameplay_FC92 ; PRG $3C7C | CPU $FC7C | B0 14
|
|
asl ScratchValue0 ; PRG $3C7E | CPU $FC7E | 06 00
|
|
bcs UpdateSideScrollingGameplay_FC8F ; PRG $3C80 | CPU $FC80 | B0 0D
|
|
asl a ; PRG $3C82 | CPU $FC82 | 0A
|
|
bcs UpdateSideScrollingGameplay_FC92 ; PRG $3C83 | CPU $FC83 | B0 0D
|
|
asl ScratchValue0 ; PRG $3C85 | CPU $FC85 | 06 00
|
|
bcs UpdateSideScrollingGameplay_FC95 ; PRG $3C87 | CPU $FC87 | B0 0C
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FC89.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fc89 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FC89:
|
|
jmp UpdateGameplayStateField_FD37 ; PRG $3C89 | CPU $FC89 | 4C 37 FD
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FC8 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fc8 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FC8C:
|
|
jmp UpdateSideScrollingGameplay_FCF9 ; PRG $3C8C | CPU $FC8C | 4C F9 FC
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FC8 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fc8 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FC8F:
|
|
jmp UpdateSideScrollingGameplay_FD0A ; PRG $3C8F | CPU $FC8F | 4C 0A FD
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FC92.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fc92 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FC92:
|
|
jmp TransformFlightState_FD16 ; PRG $3C92 | CPU $FC92 | 4C 16 FD
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FC95.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fc95 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FC95:
|
|
jmp UpdateSideScrollingGameplay_FD1D ; PRG $3C95 | CPU $FC95 | 4C 1D FD
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FC98.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fc98 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FC98:
|
|
sty Ram_07A5 ; PRG $3C98 | CPU $FC98 | 8C A5 07
|
|
lda #$4C ; PRG $3C9B | CPU $FC9B | A9 4C
|
|
sta Ram_07BB ; PRG $3C9D | CPU $FC9D | 8D BB 07
|
|
lda #$0F ; PRG $3CA0 | CPU $FCA0 | A9 0F
|
|
ldx #$0E ; PRG $3CA2 | CPU $FCA2 | A2 0E
|
|
jsr UpdateGameplayStateField_F8AE ; PRG $3CA4 | CPU $FCA4 | 20 AE F8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FCA7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fca7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FCA7:
|
|
dec Ram_07BB ; PRG $3CA7 | CPU $FCA7 | CE BB 07
|
|
bne UpdateSideScrollingGameplay_FC89 ; PRG $3CAA | CPU $FCAA | D0 DD
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FCAC.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fcac sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FCAC:
|
|
lda #$00 ; PRG $3CAC | CPU $FCAC | A9 00
|
|
sta Ram_07A5 ; PRG $3CAE | CPU $FCAE | 8D A5 07
|
|
lda #$10 ; PRG $3CB1 | CPU $FCB1 | A9 10
|
|
sta $400C ; PRG $3CB3 | CPU $FCB3 | 8D 0C 40
|
|
bne UpdateSideScrollingGameplay_FC89 ; PRG $3CB6 | CPU $FCB6 | D0 D1
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FCB8.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fcb8 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FCB8:
|
|
sty Ram_07A5 ; PRG $3CB8 | CPU $FCB8 | 8C A5 07
|
|
lda #$34 ; PRG $3CBB | CPU $FCBB | A9 34
|
|
sta Ram_07BB ; PRG $3CBD | CPU $FCBD | 8D BB 07
|
|
bne UpdateSideScrollingGameplay_FCD5 ; PRG $3CC0 | CPU $FCC0 | D0 13
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FCC2.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fcc2 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FCC2:
|
|
dec Ram_07BB ; PRG $3CC2 | CPU $FCC2 | CE BB 07
|
|
beq UpdateSideScrollingGameplay_FCAC ; PRG $3CC5 | CPU $FCC5 | F0 E5
|
|
lda Ram_07BB ; PRG $3CC7 | CPU $FCC7 | AD BB 07
|
|
cmp #$20 ; PRG $3CCA | CPU $FCCA | C9 20
|
|
beq UpdateSideScrollingGameplay_FCF0 ; PRG $3CCC | CPU $FCCC | F0 22
|
|
bcc UpdateSideScrollingGameplay_FC89 ; PRG $3CCE | CPU $FCCE | 90 B9
|
|
dec Ram_07BC ; PRG $3CD0 | CPU $FCD0 | CE BC 07
|
|
bne UpdateSideScrollingGameplay_FCE4 ; PRG $3CD3 | CPU $FCD3 | D0 0F
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FCD5.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fcd5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FCD5:
|
|
lda #$05 ; PRG $3CD5 | CPU $FCD5 | A9 05
|
|
sta Ram_07BC ; PRG $3CD7 | CPU $FCD7 | 8D BC 07
|
|
lda #$01 ; PRG $3CDA | CPU $FCDA | A9 01
|
|
sta $400C ; PRG $3CDC | CPU $FCDC | 8D 0C 40
|
|
lda #$08 ; PRG $3CDF | CPU $FCDF | A9 08
|
|
sta $400F ; PRG $3CE1 | CPU $FCE1 | 8D 0F 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FCE4.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fce4 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FCE4:
|
|
ldy Ram_07BC ; PRG $3CE4 | CPU $FCE4 | AC BC 07
|
|
lda GameplayLookupTable_FD31,y ; PRG $3CE7 | CPU $FCE7 | B9 31 FD
|
|
sta $400E ; PRG $3CEA | CPU $FCEA | 8D 0E 40
|
|
jmp UpdateSideScrollingGameplay_FC89 ; PRG $3CED | CPU $FCED | 4C 89 FC
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FCF0.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fcf0 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FCF0:
|
|
lda #$07 ; PRG $3CF0 | CPU $FCF0 | A9 07
|
|
ldx #$0E ; PRG $3CF2 | CPU $FCF2 | A2 0E
|
|
jsr UpdateGameplayStateField_F8AE ; PRG $3CF4 | CPU $FCF4 | 20 AE F8
|
|
bne UpdateSideScrollingGameplay_FC89 ; PRG $3CF7 | CPU $FCF7 | D0 90
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FCF9.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fcf9 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FCF9:
|
|
sty Ram_07A5 ; PRG $3CF9 | CPU $FCF9 | 8C A5 07
|
|
lda #$20 ; PRG $3CFC | CPU $FCFC | A9 20
|
|
sta Ram_07BB ; PRG $3CFE | CPU $FCFE | 8D BB 07
|
|
lda #$08 ; PRG $3D01 | CPU $FD01 | A9 08
|
|
ldx #$0D ; PRG $3D03 | CPU $FD03 | A2 0D
|
|
jsr UpdateGameplayStateField_F8AE ; PRG $3D05 | CPU $FD05 | 20 AE F8
|
|
bne UpdateSideScrollingGameplay_FCA7 ; PRG $3D08 | CPU $FD08 | D0 9D
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FD0 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fd0 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FD0A:
|
|
sty Ram_07A5 ; PRG $3D0A | CPU $FD0A | 8C A5 07
|
|
lda #$36 ; PRG $3D0D | CPU $FD0D | A9 36
|
|
ldx #$0E ; PRG $3D0F | CPU $FD0F | A2 0E
|
|
jsr UpdateGameplayStateField_F8AE ; PRG $3D11 | CPU $FD11 | 20 AE F8
|
|
bne UpdateSideScrollingGameplay_FD1A ; PRG $3D14 | CPU $FD14 | D0 04
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Transform Flight State FD16.
|
|
; Local behavior: Executes the decoded transform flight state fd16 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
TransformFlightState_FD16:
|
|
asl ScratchValue0 ; PRG $3D16 | CPU $FD16 | 06 00
|
|
bcc UpdateSideScrollingGameplay_FCAC ; PRG $3D18 | CPU $FD18 | 90 92
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FD1 A.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fd1 a sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FD1A:
|
|
jmp UpdateSideScrollingGameplay_FC89 ; PRG $3D1A | CPU $FD1A | 4C 89 FC
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FD1 D.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fd1 d sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FD1D:
|
|
sty Ram_07A5 ; PRG $3D1D | CPU $FD1D | 8C A5 07
|
|
lda #$32 ; PRG $3D20 | CPU $FD20 | A9 32
|
|
sta $400C ; PRG $3D22 | CPU $FD22 | 8D 0C 40
|
|
lda #$0E ; PRG $3D25 | CPU $FD25 | A9 0E
|
|
sta $400E ; PRG $3D27 | CPU $FD27 | 8D 0E 40
|
|
lda #$08 ; PRG $3D2A | CPU $FD2A | A9 08
|
|
sta $400F ; PRG $3D2C | CPU $FD2C | 8D 0F 40
|
|
jmp UpdateSideScrollingGameplay_FC89 ; PRG $3D2F | CPU $FD2F | 4C 89 FC
|
|
.byte $09,$0A,$0B,$0C,$0D ; PRG $3D32 | CPU $FD32
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field FD37.
|
|
; Local behavior: Executes the decoded update gameplay state field fd37 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_FD37:
|
|
lda Zp_FD ; PRG $3D37 | CPU $FD37 | A5 FD
|
|
bne UpdateSideScrollingGameplay_FD41 ; PRG $3D39 | CPU $FD39 | D0 06
|
|
lda Ram_07A2 ; PRG $3D3B | CPU $FD3B | AD A2 07
|
|
bne UpdateSideScrollingGameplay_FD81 ; PRG $3D3E | CPU $FD3E | D0 41
|
|
rts ; PRG $3D40 | CPU $FD40 | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FD41.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fd41 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FD41:
|
|
jsr UpdateSideScrollingGameplay_F8DF ; PRG $3D41 | CPU $FD41 | 20 DF F8
|
|
inc Ram_07A2 ; PRG $3D44 | CPU $FD44 | EE A2 07
|
|
sty Ram_07F2 ; PRG $3D47 | CPU $FD47 | 8C F2 07
|
|
tya ; PRG $3D4A | CPU $FD4A | 98
|
|
bne UpdateSideScrollingGameplay_FD53 ; PRG $3D4B | CPU $FD4B | D0 06
|
|
sta $4008 ; PRG $3D4D | CPU $FD4D | 8D 08 40
|
|
jsr UpdateSideScrollingGameplay_F898 ; PRG $3D50 | CPU $FD50 | 20 98 F8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FD53.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fd53 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FD53:
|
|
lda GameplayLookupTable_FE59,y ; PRG $3D53 | CPU $FD53 | B9 59 FE
|
|
tay ; PRG $3D56 | CPU $FD56 | A8
|
|
lda GameplayLookupTable_FE59,y ; PRG $3D57 | CPU $FD57 | B9 59 FE
|
|
sta Ram_078D ; PRG $3D5A | CPU $FD5A | 8D 8D 07
|
|
lda GameplayLookupTable_FE5A,y ; PRG $3D5D | CPU $FD5D | B9 5A FE
|
|
sta Zp_F6 ; PRG $3D60 | CPU $FD60 | 85 F6
|
|
lda GameplayLookupTable_FE5B,y ; PRG $3D62 | CPU $FD62 | B9 5B FE
|
|
sta Zp_F7 ; PRG $3D65 | CPU $FD65 | 85 F7
|
|
lda GameplayLookupTable_FE5C,y ; PRG $3D67 | CPU $FD67 | B9 5C FE
|
|
sta Zp_FA ; PRG $3D6A | CPU $FD6A | 85 FA
|
|
lda GameplayLookupTable_FE5D,y ; PRG $3D6C | CPU $FD6C | B9 5D FE
|
|
sta Zp_FB ; PRG $3D6F | CPU $FD6F | 85 FB
|
|
lda #$01 ; PRG $3D71 | CPU $FD71 | A9 01
|
|
sta Ram_0795 ; PRG $3D73 | CPU $FD73 | 8D 95 07
|
|
sta Ram_0796 ; PRG $3D76 | CPU $FD76 | 8D 96 07
|
|
sta Ram_0798 ; PRG $3D79 | CPU $FD79 | 8D 98 07
|
|
ldy #$00 ; PRG $3D7C | CPU $FD7C | A0 00
|
|
sty Ram_0782 ; PRG $3D7E | CPU $FD7E | 8C 82 07
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FD81.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fd81 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FD81:
|
|
ldy Zp_FB ; PRG $3D81 | CPU $FD81 | A4 FB
|
|
beq UpdateSideScrollingGameplay_FDBF ; PRG $3D83 | CPU $FD83 | F0 3A
|
|
dec Ram_0796 ; PRG $3D85 | CPU $FD85 | CE 96 07
|
|
bne UpdateSideScrollingGameplay_FDBF ; PRG $3D88 | CPU $FD88 | D0 35
|
|
inc Zp_FB ; PRG $3D8A | CPU $FD8A | E6 FB
|
|
lda (Zp_F6),y ; PRG $3D8C | CPU $FD8C | B1 F6
|
|
bpl UpdateSideScrollingGameplay_FD9C ; PRG $3D8E | CPU $FD8E | 10 0C
|
|
jsr UpdateSideScrollingGameplay_F8FF ; PRG $3D90 | CPU $FD90 | 20 FF F8
|
|
sta Ram_0791 ; PRG $3D93 | CPU $FD93 | 8D 91 07
|
|
ldy Zp_FB ; PRG $3D96 | CPU $FD96 | A4 FB
|
|
inc Zp_FB ; PRG $3D98 | CPU $FD98 | E6 FB
|
|
lda (Zp_F6),y ; PRG $3D9A | CPU $FD9A | B1 F6
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FD9 C.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fd9 c sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FD9C:
|
|
jsr UpdateSideScrollingGameplay_F8BD ; PRG $3D9C | CPU $FD9C | 20 BD F8
|
|
bne UpdateSideScrollingGameplay_FDA5 ; PRG $3D9F | CPU $FD9F | D0 04
|
|
ldx #$10 ; PRG $3DA1 | CPU $FDA1 | A2 10
|
|
bne UpdateSideScrollingGameplay_FDB6 ; PRG $3DA3 | CPU $FDA3 | D0 11
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FDA5.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fda5 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FDA5:
|
|
ldx #$58 ; PRG $3DA5 | CPU $FDA5 | A2 58
|
|
lda Ram_07F2 ; PRG $3DA7 | CPU $FDA7 | AD F2 07
|
|
cmp #$02 ; PRG $3DAA | CPU $FDAA | C9 02
|
|
bcc UpdateSideScrollingGameplay_FDB6 ; PRG $3DAC | CPU $FDAC | 90 08
|
|
ldx #$06 ; PRG $3DAE | CPU $FDAE | A2 06
|
|
lda Zp_FA ; PRG $3DB0 | CPU $FDB0 | A5 FA
|
|
bne UpdateSideScrollingGameplay_FDB6 ; PRG $3DB2 | CPU $FDB2 | D0 02
|
|
ldx #$86 ; PRG $3DB4 | CPU $FDB4 | A2 86
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FDB6.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fdb6 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FDB6:
|
|
jsr UpdateSideScrollingGameplay_F89C ; PRG $3DB6 | CPU $FDB6 | 20 9C F8
|
|
lda Ram_0791 ; PRG $3DB9 | CPU $FDB9 | AD 91 07
|
|
sta Ram_0796 ; PRG $3DBC | CPU $FDBC | 8D 96 07
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FDBF.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fdbf sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FDBF:
|
|
lda Ram_07F2 ; PRG $3DBF | CPU $FDBF | AD F2 07
|
|
cmp #$01 ; PRG $3DC2 | CPU $FDC2 | C9 01
|
|
bcs UpdateSideScrollingGameplay_FDDA ; PRG $3DC4 | CPU $FDC4 | B0 14
|
|
lda Ram_0795 ; PRG $3DC6 | CPU $FDC6 | AD 95 07
|
|
ldy #$90 ; PRG $3DC9 | CPU $FDC9 | A0 90
|
|
cmp #$02 ; PRG $3DCB | CPU $FDCB | C9 02
|
|
beq UpdateSideScrollingGameplay_FDD7 ; PRG $3DCD | CPU $FDCD | F0 08
|
|
ldy #$9C ; PRG $3DCF | CPU $FDCF | A0 9C
|
|
and #$03 ; PRG $3DD1 | CPU $FDD1 | 29 03
|
|
beq UpdateSideScrollingGameplay_FDD7 ; PRG $3DD3 | CPU $FDD3 | F0 02
|
|
ldy #$9F ; PRG $3DD5 | CPU $FDD5 | A0 9F
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FDD7.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fdd7 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FDD7:
|
|
sty $4004 ; PRG $3DD7 | CPU $FDD7 | 8C 04 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FDDA.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fdda sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FDDA:
|
|
dec Ram_0795 ; PRG $3DDA | CPU $FDDA | CE 95 07
|
|
bne CalculateMovementAndClamp_FE2B ; PRG $3DDD | CPU $FDDD | D0 4C
|
|
ldy Ram_0782 ; PRG $3DDF | CPU $FDDF | AC 82 07
|
|
inc Ram_0782 ; PRG $3DE2 | CPU $FDE2 | EE 82 07
|
|
lda (Zp_F6),y ; PRG $3DE5 | CPU $FDE5 | B1 F6
|
|
bne UpdateSideScrollingGameplay_FDFD ; PRG $3DE7 | CPU $FDE7 | D0 14
|
|
lda #$00 ; PRG $3DE9 | CPU $FDE9 | A9 00
|
|
sta Ram_0782 ; PRG $3DEB | CPU $FDEB | 8D 82 07
|
|
sta Zp_FB ; PRG $3DEE | CPU $FDEE | 85 FB
|
|
sta Ram_07A2 ; PRG $3DF0 | CPU $FDF0 | 8D A2 07
|
|
sta $4008 ; PRG $3DF3 | CPU $FDF3 | 8D 08 40
|
|
jsr UpdateSideScrollingGameplay_F894 ; PRG $3DF6 | CPU $FDF6 | 20 94 F8
|
|
jsr UpdateSideScrollingGameplay_F898 ; PRG $3DF9 | CPU $FDF9 | 20 98 F8
|
|
rts ; PRG $3DFC | CPU $FDFC | 60
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FDFD.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fdfd sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FDFD:
|
|
jsr TransformFlightState_F8F9 ; PRG $3DFD | CPU $FDFD | 20 F9 F8
|
|
sta Ram_0795 ; PRG $3E00 | CPU $FE00 | 8D 95 07
|
|
txa ; PRG $3E03 | CPU $FE03 | 8A
|
|
and #$3E ; PRG $3E04 | CPU $FE04 | 29 3E
|
|
jsr UpdateSideScrollingGameplay_F8D4 ; PRG $3E06 | CPU $FE06 | 20 D4 F8
|
|
bne UpdateSideScrollingGameplay_FE0F ; PRG $3E09 | CPU $FE09 | D0 04
|
|
ldx #$10 ; PRG $3E0B | CPU $FE0B | A2 10
|
|
bne UpdateSideScrollingGameplay_FE23 ; PRG $3E0D | CPU $FE0D | D0 14
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FE0 F.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fe0 f sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FE0F:
|
|
ldx #$9F ; PRG $3E0F | CPU $FE0F | A2 9F
|
|
lda Ram_07F2 ; PRG $3E11 | CPU $FE11 | AD F2 07
|
|
cmp #$02 ; PRG $3E14 | CPU $FE14 | C9 02
|
|
bcc UpdateSideScrollingGameplay_FE23 ; PRG $3E16 | CPU $FE16 | 90 0B
|
|
ldx #$87 ; PRG $3E18 | CPU $FE18 | A2 87
|
|
lda Ram_0795 ; PRG $3E1A | CPU $FE1A | AD 95 07
|
|
cmp #$10 ; PRG $3E1D | CPU $FE1D | C9 10
|
|
bcs UpdateSideScrollingGameplay_FE23 ; PRG $3E1F | CPU $FE1F | B0 02
|
|
ldx #$84 ; PRG $3E21 | CPU $FE21 | A2 84
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FE23.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fe23 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FE23:
|
|
stx $4004 ; PRG $3E23 | CPU $FE23 | 8E 04 40
|
|
lda #$7F ; PRG $3E26 | CPU $FE26 | A9 7F
|
|
sta $4005 ; PRG $3E28 | CPU $FE28 | 8D 05 40
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Calculate And Clamp Value FE2 B.
|
|
; Local behavior: Executes the decoded calculate and clamp value fe2 b sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
CalculateMovementAndClamp_FE2B:
|
|
ldy Zp_FA ; PRG $3E2B | CPU $FE2B | A4 FA
|
|
beq UpdateGameplayStateField_FE58 ; PRG $3E2D | CPU $FE2D | F0 29
|
|
dec Ram_0798 ; PRG $3E2F | CPU $FE2F | CE 98 07
|
|
bne UpdateGameplayStateField_FE58 ; PRG $3E32 | CPU $FE32 | D0 24
|
|
inc Zp_FA ; PRG $3E34 | CPU $FE34 | E6 FA
|
|
lda (Zp_F6),y ; PRG $3E36 | CPU $FE36 | B1 F6
|
|
jsr TransformFlightState_F8F9 ; PRG $3E38 | CPU $FE38 | 20 F9 F8
|
|
sta Ram_0798 ; PRG $3E3B | CPU $FE3B | 8D 98 07
|
|
clc ; PRG $3E3E | CPU $FE3E | 18
|
|
adc #$FE ; PRG $3E3F | CPU $FE3F | 69 FE
|
|
asl a ; PRG $3E41 | CPU $FE41 | 0A
|
|
asl a ; PRG $3E42 | CPU $FE42 | 0A
|
|
cmp #$38 ; PRG $3E43 | CPU $FE43 | C9 38
|
|
bcc UpdateSideScrollingGameplay_FE49 ; PRG $3E45 | CPU $FE45 | 90 02
|
|
lda #$38 ; PRG $3E47 | CPU $FE47 | A9 38
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FE49.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fe49 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FE49:
|
|
ldy Ram_07F2 ; PRG $3E49 | CPU $FE49 | AC F2 07
|
|
cpy #$02 ; PRG $3E4C | CPU $FE4C | C0 02
|
|
bcs UpdateSideScrollingGameplay_FE52 ; PRG $3E4E | CPU $FE4E | B0 02
|
|
lda #$FF ; PRG $3E50 | CPU $FE50 | A9 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Side Scrolling Gameplay FE52.
|
|
; Local behavior: Executes the decoded update side scrolling gameplay fe52 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateSideScrollingGameplay_FE52:
|
|
sta $4008 ; PRG $3E52 | CPU $FE52 | 8D 08 40
|
|
jsr UpdateSideScrollingGameplay_F8D8 ; PRG $3E55 | CPU $FE55 | 20 D8 F8
|
|
; -----------------------------------------------------------------------------
|
|
; Global purpose: Update Gameplay State Field FE58.
|
|
; Local behavior: Executes the decoded update gameplay state field fe58 sequence at this entry point.
|
|
; Parameters: Determined by callers; refined in Pass 3.
|
|
; Returns: According to the decoded control flow.
|
|
; Clobbers: Determined by the instructions below; refined in Pass 3.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameplayStateField_FE58:
|
|
rts ; PRG $3E58 | CPU $FE58 | 60
|
|
|
|
GameplayLookupTable_FE59:
|
|
.byte $04 ; PRG $3E59 | CPU $FE59
|
|
|
|
GameplayLookupTable_FE5A:
|
|
.byte $09 ; PRG $3E5A | CPU $FE5A
|
|
|
|
GameplayLookupTable_FE5B:
|
|
.byte $0E ; PRG $3E5B | CPU $FE5B
|
|
|
|
GameplayLookupTable_FE5C:
|
|
.byte $13 ; PRG $3E5C | CPU $FE5C
|
|
|
|
GameplayLookupTable_FE5D:
|
|
.byte $0F,$71,$FE,$11,$21,$17,$C8,$FE,$09,$21,$08,$E5,$FF,$00,$00,$1F ; PRG $3E5D | CPU $FE5D
|
|
.byte $F9,$FE,$C5,$41,$5B,$DB,$A3,$E5,$E3,$E5,$8B,$E5,$E3,$E5,$CA,$A4 ; PRG $3E6D | CPU $FE6D
|
|
.byte $E3,$E1,$E3,$1D,$00,$88,$A2,$9A,$A2,$9A,$A2,$9A,$A2,$9A,$8A,$A4 ; PRG $3E7D | CPU $FE7D
|
|
.byte $8A,$A4,$A8,$A2,$3D,$82,$08,$87,$12,$0A,$26,$12,$0A,$26,$12,$0A ; PRG $3E8D | CPU $FE8D
|
|
.byte $26,$12,$0A,$26,$16,$12,$0A,$16,$12,$0A,$16,$12,$0A,$16,$12,$0A ; PRG $3E9D | CPU $FE9D
|
|
.byte $14,$0A,$24,$14,$0A,$24,$14,$0A,$24,$12,$0A,$26,$12,$0C,$28,$12 ; PRG $3EAD | CPU $FEAD
|
|
.byte $0C,$28,$80,$12,$28,$12,$28,$12,$28,$84,$12,$5B,$48,$9A,$5C,$9F ; PRG $3EBD | CPU $FEBD
|
|
.byte $1C,$DF,$1D,$00,$5A,$76,$5A,$76,$5A,$76,$5A,$76,$5E,$7C,$5E,$7C ; PRG $3ECD | CPU $FECD
|
|
.byte $5E,$7C,$5E,$7C,$5C,$7A,$5C,$7A,$5C,$7A,$5C,$7A,$85,$36,$81,$08 ; PRG $3EDD | CPU $FEDD
|
|
.byte $82,$36,$81,$3A,$86,$3C,$80,$3A,$87,$3C,$84,$3A,$CB,$CB,$8B,$CB ; PRG $3EED | CPU $FEED
|
|
.byte $E9,$A7,$CB,$CB,$8A,$89,$CD,$CD,$8D,$CD,$CB,$A9,$CD,$CD,$8C,$89 ; PRG $3EFD | CPU $FEFD
|
|
.byte $D1,$D1,$91,$D1,$CD,$8B,$51,$50,$50,$92,$54,$0B,$CB,$CB,$8B,$CB ; PRG $3F0D | CPU $FF0D
|
|
.byte $E9,$A7,$CB,$CB,$8A,$89,$CD,$CD,$8D,$CD,$CB,$A9,$CD,$CD,$8C,$89 ; PRG $3F1D | CPU $FF1D
|
|
.byte $D1,$D1,$91,$D1,$CD,$8B,$51,$50,$50,$92,$54,$13,$00,$87,$26,$26 ; PRG $3F2D | CPU $FF2D
|
|
.byte $86,$26,$87,$26,$24,$86,$22,$87,$26,$26,$86,$26,$87,$3A,$1A,$86 ; PRG $3F3D | CPU $FF3D
|
|
.byte $3A,$87,$28,$28,$86,$28,$87,$28,$26,$86,$24,$87,$28,$28,$86,$28 ; PRG $3F4D | CPU $FF4D
|
|
.byte $87,$3C,$1C,$86,$3C,$87,$0A,$0A,$86,$0A,$87,$0A,$28,$86,$26,$81 ; PRG $3F5D | CPU $FF5D
|
|
.byte $0A,$82,$1A,$81,$1A,$0A,$82,$0C,$81,$10,$84,$26,$87,$34,$3A,$86 ; PRG $3F6D | CPU $FF6D
|
|
.byte $1A,$87,$34,$3A,$86,$1A,$87,$34,$3A,$86,$1A,$87,$34,$36,$86,$3A ; PRG $3F7D | CPU $FF7D
|
|
.byte $87,$3C,$1C,$86,$22,$87,$3C,$1C,$86,$22,$87,$3C,$1C,$86,$22,$87 ; PRG $3F8D | CPU $FF8D
|
|
.byte $36,$3A,$86,$3C,$87,$1A,$20,$86,$24,$87,$1A,$20,$86,$24,$80,$24 ; PRG $3F9D | CPU $FF9D
|
|
.byte $22,$24,$22,$81,$24,$1A,$80,$1A,$3E,$1C,$1A,$81,$1C,$20,$84,$0A ; PRG $3FAD | CPU $FFAD
|
|
.byte $08,$A2,$9A,$A2,$9A,$A8,$A2,$A8,$A2,$8A,$A4,$8A,$A4,$8A,$A4,$A2 ; PRG $3FBD | CPU $FFBD
|
|
.byte $9A,$22,$60,$5C,$1A,$7A,$A2,$9A,$A2,$9A,$A8,$A2,$A8,$A2,$8A,$A4 ; PRG $3FCD | CPU $FFCD
|
|
.byte $8A,$A4,$8A,$A4,$62,$9A,$7A,$35,$02,$14,$02,$14,$02,$14,$02,$54 ; PRG $3FDD | CPU $FFDD
|
|
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $3FED | CPU $FFED
|
|
|
|
.segment "VECTORS"
|
|
.word NmiHandler ; PRG $3FFA | CPU $FFFA | A1 CA
|
|
.word ResetHandler ; PRG $3FFC | CPU $FFFC | 83 C9
|
|
.word IrqHandler ; PRG $3FFE | CPU $FFFE | 9E CA
|