.setcpu "6502" .include "symbols.inc" .include "locals.inc" .segment "PRG" ; Pointers selected by MainGameState. MainStateDispatchTable: .byte $F8 ; PRG $0000 | CPU $C000 ; CPU:$C000 PRG:0000 F8 LookupTable_C001: .byte $C3,$4E,$C0,$2F,$C1,$2A,$C2,$4D,$C2,$4F,$C1,$AA,$C1 ; PRG $0001 | CPU $C001 ; CPU:$C001 PRG:0001 C3 4E C0 2F C1 2A C2 4D C2 4F C1 AA C1 ; ----------------------------------------------------------------------------- ; Global purpose: Initialize Game Systems. ; Local behavior: Executes the decoded initialize game systems sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- InitializeGameSystems: jsr ProcessGameState_C76E ; CPU:$C00E PRG:000E 20 6E C7 jsr ProcessGameState_CB53 ; CPU:$C011 PRG:0011 20 53 CB lda #$70 ; CPU:$C014 PRG:0014 A9 70 sta Ram_0700 ; CPU:$C016 PRG:0016 8D 00 07 lda #$10 ; CPU:$C019 PRG:0019 A9 10 sta Ram_0701 ; CPU:$C01B PRG:001B 8D 01 07 lda #$00 ; CPU:$C01E PRG:001E A9 00 sta Zp_32 ; CPU:$C020 PRG:0020 85 32 jsr SetMainState ; CPU:$C022 PRG:0022 20 7C FF rts ; CPU:$C025 PRG:0025 60 ; ----------------------------------------------------------------------------- ; Global purpose: Store Pending Sound Command. ; Local behavior: Executes the decoded store pending sound command sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- StorePendingSoundCommand: sta PendingSoundCommand ; CPU:$C026 PRG:0026 ?? rts ; CPU:$C028 PRG:0028 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Pending Frame Task. ; Local behavior: Executes the decoded process pending frame task sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessPendingFrameTask: lda PendingFrameTask ; CPU:$C02A PRG:002A ?? beq Flow_C04C ; CPU:$C02C PRG:002C ?? cmp #$FF ; CPU:$C02E PRG:002E ?? bne Flow_C035 ; CPU:$C030 PRG:0030 ?? ldy #$00 ; CPU:$C032 PRG:0032 ?? sty PendingFrameTask ; CPU:$C034 PRG:0034 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C035. ; Local behavior: Executes the decoded flow c035 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C035: ldy PendingFrameTask ; CPU:$C036 PRG:0036 ?? ldx #$08 ; CPU:$C038 PRG:0038 ?? stx PPUSCROLL ; CPU:$C03A PRG:003A ?? sty PPUSCROLL ; CPU:$C03C PRG:003C 8C 05 20 iny ; CPU:$C03F PRG:003F C8 sty PendingFrameTask ; CPU:$C040 PRG:0040 84 8F cpy #$F1 ; CPU:$C042 PRG:0042 C0 F1 bne Flow_C048 ; CPU:$C044 PRG:0044 D0 02 dec PendingFrameTask ; CPU:$C046 PRG:0046 C6 8F ; ----------------------------------------------------------------------------- ; Global purpose: Flow C048. ; Local behavior: Executes the decoded flow c048 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C048: lda #$01 ; CPU:$C048 PRG:0048 A9 01 sta Zp_3F ; CPU:$C04A PRG:004A 85 3F ; ----------------------------------------------------------------------------- ; Global purpose: Flow C04 C. ; Local behavior: Executes the decoded flow c04 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C04C: rts ; CPU:$C04C PRG:004C 60 .byte $60 ; PRG $004D | CPU $C04D ; CPU:$C04D PRG:004D 60 ; ----------------------------------------------------------------------------- ; Global purpose: Handle Title State. ; Local behavior: Executes the decoded handle title state sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- HandleTitleState: lda #$00 ; CPU:$C04E PRG:004E ?? sta GameMode ; CPU:$C050 PRG:0050 ?? sta Zp_57 ; CPU:$C052 PRG:0052 ?? jsr ProcessGameState_C7F7 ; CPU:$C054 PRG:0054 ?? lda #$01 ; CPU:$C056 PRG:0056 ?? sta StateInitializedFlag ; CPU:$C058 PRG:0058 ?? jsr ProcessGameState_CB53 ; CPU:$C05A PRG:005A ?? jsr ProcessGameState_C81B ; CPU:$C05C PRG:005C ?? jsr EnableBackgroundAndSprites ; CPU:$C05E PRG:005E ?? jmp Flow_C233 ; CPU:$C060 PRG:0060 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C067. ; Local behavior: Executes the decoded flow c067 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C067: lda Zp_57 ; CPU:$C062 PRG:0062 ?? ldx Ram_071F ; CPU:$C064 PRG:0064 ?? ldy Ram_071C ; CPU:$C066 PRG:0066 ?? stx Zp_32 ; CPU:$C068 PRG:0068 ?? sty Zp_33 ; CPU:$C06A PRG:006A ?? asl a ; CPU:$C06C PRG:006C ?? ldx #$FE ; CPU:$C06E PRG:006E ?? ldy #$C0 ; CPU:$C070 PRG:0070 ?? stx Zp_34 ; CPU:$C072 PRG:0072 ?? sty Zp_35 ; CPU:$C074 PRG:0074 ?? tay ; CPU:$C076 PRG:0076 ?? lda (Zp_34),y ; CPU:$C078 PRG:0078 ?? iny ; CPU:$C07A PRG:007A ?? cmp #$01 ; CPU:$C07C PRG:007C ?? beq Flow_C09B ; CPU:$C07E PRG:007E ?? cmp #$08 ; CPU:$C080 PRG:0080 ?? beq Flow_C0A5 ; CPU:$C082 PRG:0082 ?? cmp #$02 ; CPU:$C084 PRG:0084 ?? beq Flow_C0B2 ; CPU:$C086 PRG:0086 ?? lda (Zp_34),y ; CPU:$C088 PRG:0088 ?? cmp Zp_32 ; CPU:$C08A PRG:008A ?? bcs Flow_C096 ; CPU:$C08C PRG:008C ?? lda #$04 ; CPU:$C08E PRG:008E ?? bne Flow_C0C1 ; CPU:$C090 PRG:0090 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C096. ; Local behavior: Executes the decoded flow c096 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C096: iny ; CPU:$C092 PRG:0092 ?? lda (Zp_34),y ; CPU:$C094 PRG:0094 ?? bne Flow_C0BF ; CPU:$C096 PRG:0096 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C09 B. ; Local behavior: Executes the decoded flow c09 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C09B: lda (Zp_34),y ; CPU:$C098 PRG:0098 ?? cmp Zp_33 ; CPU:$C09A PRG:009A ?? bcs Flow_C096 ; CPU:$C09C PRG:009C ?? lda #$01 ; CPU:$C09E PRG:009E ?? bne Flow_C0C1 ; CPU:$C0A0 PRG:00A0 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C0 A5. ; Local behavior: Executes the decoded flow c0 a5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C0A5: lda (Zp_34),y ; CPU:$C0A2 PRG:00A2 ?? sec ; CPU:$C0A4 PRG:00A4 ?? sbc #$02 ; CPU:$C0A6 PRG:00A6 ?? cmp Zp_32 ; CPU:$C0A8 PRG:00A8 ?? bcc Flow_C096 ; CPU:$C0AA PRG:00AA ?? lda #$08 ; CPU:$C0AC PRG:00AC ?? bne Flow_C0C1 ; CPU:$C0AE PRG:00AE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C0 B2. ; Local behavior: Executes the decoded flow c0 b2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C0B2: lda (Zp_34),y ; CPU:$C0B0 PRG:00B0 ?? sec ; CPU:$C0B2 PRG:00B2 ?? sbc #$02 ; CPU:$C0B4 PRG:00B4 ?? cmp Zp_33 ; CPU:$C0B6 PRG:00B6 ?? bcc Flow_C096 ; CPU:$C0B8 PRG:00B8 ?? lda #$02 ; CPU:$C0BA PRG:00BA ?? bne Flow_C0C1 ; CPU:$C0BC PRG:00BC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C0 BF. ; Local behavior: Executes the decoded flow c0 bf sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C0BF: inc Zp_57 ; CPU:$C0BE PRG:00BE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C0 C1. ; Local behavior: Executes the decoded flow c0 c1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C0C1: cmp #$FF ; CPU:$C0C0 PRG:00C0 ?? beq Flow_C0F6 ; CPU:$C0C2 PRG:00C2 ?? sta Zp_44 ; CPU:$C0C4 PRG:00C4 ?? jsr WaitForNmi ; CPU:$C0C6 PRG:00C6 ?? lda #$00 ; CPU:$C0C8 PRG:00C8 ?? jsr ReadControllers ; CPU:$C0CA PRG:00CA ?? lda Zp_2F ; CPU:$C0CC PRG:00CC ?? and #$0C ; CPU:$C0CE PRG:00CE ?? bne Flow_C0F6 ; CPU:$C0D0 PRG:00D0 ?? lda Zp_44 ; CPU:$C0D2 PRG:00D2 ?? sta Zp_2E ; CPU:$C0D4 PRG:00D4 ?? lda Zp_57 ; CPU:$C0D6 PRG:00D6 ?? cmp #$06 ; CPU:$C0D8 PRG:00D8 ?? bne Flow_C0EF ; CPU:$C0DA PRG:00DA ?? lda Zp_32 ; CPU:$C0DC PRG:00DC ?? cmp #$3C ; CPU:$C0DE PRG:00DE ?? beq Flow_C0E9 ; CPU:$C0E0 PRG:00E0 ?? cmp #$88 ; CPU:$C0E2 PRG:00E2 ?? bne Flow_C0EF ; CPU:$C0E4 PRG:00E4 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C0 E9. ; Local behavior: Executes the decoded flow c0 e9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C0E9: lda #$03 ; CPU:$C0E6 PRG:00E6 ?? sta Zp_2F ; CPU:$C0E8 PRG:00E8 ?? bne Flow_C0F3 ; CPU:$C0EA PRG:00EA ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C0 EF. ; Local behavior: Executes the decoded flow c0 ef sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C0EF: lda #$00 ; CPU:$C0EC PRG:00EC ?? sta Zp_2F ; CPU:$C0EE PRG:00EE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C0 F3. ; Local behavior: Executes the decoded flow c0 f3 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C0F3: jmp Flow_C24D ; CPU:$C0F0 PRG:00F0 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C0 F6. ; Local behavior: Executes the decoded flow c0 f6 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C0F6: lda #$00 ; CPU:$C0F2 PRG:00F2 ?? jsr SetMainState ; CPU:$C0F4 PRG:00F4 ?? jmp Flow_FD4F ; CPU:$C0F6 PRG:00F6 ?? .byte $04,$50,$08,$78,$01,$4C,$04,$60,$01,$1C,$04,$30,$08,$D8,$02,$3C ; PRG $00FE | CPU $C0FE ; CPU:$C0F8 PRG:00F8 04 50 08 78 01 4C 04 60 01 1C 04 30 08 D8 02 3C .byte $04,$A8,$02,$5C,$08,$D8,$04,$C0,$02,$AC,$04,$18,$01,$5C,$08,$30 ; PRG $010E | CPU $C10E ; CPU:$C108 PRG:0108 04 A8 02 5C 08 D8 04 C0 02 AC 04 18 01 5C 08 30 .byte $01,$3C,$04,$18,$08,$48,$01,$1C,$08,$78,$02,$4C,$04,$48,$02,$AC ; PRG $011E | CPU $C11E ; CPU:$C118 PRG:0118 01 3C 04 18 08 48 01 1C 08 78 02 4C 04 48 02 AC .byte $FF ; PRG $012E | CPU $C12E ; CPU:$C128 PRG:0128 FF ; ----------------------------------------------------------------------------- ; Global purpose: Handle Game Start State. ; Local behavior: Executes the decoded handle game start state sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- HandleGameStartState: jsr ProcessGameState_C7F7 ; CPU:$C129 PRG:0129 ?? lda #$01 ; CPU:$C12B PRG:012B ?? sta GameActiveFlag ; CPU:$C12D PRG:012D ?? sta StateInitializedFlag ; CPU:$C12F PRG:012F ?? jsr ClearNametable2000 ; CPU:$C131 PRG:0131 ?? jsr ProcessGameState_C81B ; CPU:$C133 PRG:0133 ?? jsr ProcessGameState_C977 ; CPU:$C135 PRG:0135 ?? dec Ram_0400 ; CPU:$C137 PRG:0137 ?? jsr ClearNametable2000 ; CPU:$C139 PRG:0139 ?? lda #$06 ; CPU:$C13B PRG:013B ?? jsr SetMainState ; CPU:$C13D PRG:013D ?? jmp Flow_FD4F ; CPU:$C13F PRG:013F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Handle Gameplay State. ; Local behavior: Executes the decoded handle gameplay state sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- HandleGameplayState: lda Zp_52 ; CPU:$C141 PRG:0141 ?? bne Flow_C161 ; CPU:$C143 PRG:0143 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C153. ; Local behavior: Executes the decoded flow c153 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C153: lda PlayerDeathFlag ; CPU:$C145 PRG:0145 ?? and #$01 ; CPU:$C147 PRG:0147 ?? bne Flow_C19E ; CPU:$C149 PRG:0149 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C159. ; Local behavior: Executes the decoded flow c159 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C159: lda PlayerDeathFlag ; CPU:$C14B PRG:014B ?? ora #$01 ; CPU:$C14D PRG:014D ?? sta PlayerDeathFlag ; CPU:$C14F PRG:014F ?? bne Flow_C177 ; CPU:$C151 PRG:0151 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C161. ; Local behavior: Executes the decoded flow c161 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C161: lda CurrentPlayerIndex ; CPU:$C153 PRG:0153 ?? beq Flow_C153 ; CPU:$C155 PRG:0155 ?? lda PlayerDeathFlag ; CPU:$C157 PRG:0157 ?? and #$01 ; CPU:$C159 PRG:0159 ?? beq Flow_C159 ; CPU:$C15B PRG:015B ?? lda PlayerDeathFlag ; CPU:$C15D PRG:015D ?? and #$02 ; CPU:$C15F PRG:015F ?? bne Flow_C19E ; CPU:$C161 PRG:0161 ?? lda PlayerDeathFlag ; CPU:$C163 PRG:0163 ?? ora #$02 ; CPU:$C165 PRG:0165 ?? sta PlayerDeathFlag ; CPU:$C167 PRG:0167 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C177. ; Local behavior: Executes the decoded flow c177 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C177: jsr DisableBackgroundAndSprites ; CPU:$C169 PRG:0169 ?? lda #$01 ; CPU:$C16B PRG:016B ?? sta StateInitializedFlag ; CPU:$C16D PRG:016D ?? jsr ProcessGameState_C81B ; CPU:$C16F PRG:016F ?? jsr EnableBackgroundAndSprites ; CPU:$C171 PRG:0171 ?? lda #$03 ; CPU:$C173 PRG:0173 ?? jsr StorePendingSoundCommand ; CPU:$C175 PRG:0175 ?? lda #$01 ; CPU:$C177 PRG:0177 ?? sta GameMode ; CPU:$C179 PRG:0179 ?? lda #$00 ; CPU:$C17B PRG:017B ?? sta StateInitializedFlag ; CPU:$C17D PRG:017D ?? ldx #$B8 ; CPU:$C17F PRG:017F ?? jsr RunFrameSynchronizedTask_CA80 ; CPU:$C181 PRG:0181 ?? lda #$04 ; CPU:$C183 PRG:0183 ?? jsr StorePendingSoundCommand ; CPU:$C185 PRG:0185 ?? jmp Flow_C233 ; CPU:$C187 PRG:0187 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C19 E. ; Local behavior: Executes the decoded flow c19 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C19E: lda #$03 ; CPU:$C189 PRG:0189 ?? jsr SetMainState ; CPU:$C18B PRG:018B ?? lda #$01 ; CPU:$C18D PRG:018D ?? sta GameMode ; CPU:$C18F PRG:018F ?? jmp Flow_FD4F ; CPU:$C191 PRG:0191 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Handle Player Death State. ; Local behavior: Executes the decoded handle player death state sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- HandlePlayerDeathState: jsr DisableBackgroundAndSprites ; CPU:$C193 PRG:0193 ?? jsr ClearNametable ; CPU:$C195 PRG:0195 ?? ldx #$C1 ; CPU:$C197 PRG:0197 ?? ldy #$F5 ; CPU:$C199 PRG:0199 ?? jsr ProcessGameState_C715 ; CPU:$C19B PRG:019B ?? ldx #$11 ; CPU:$C19D PRG:019D ?? lda CurrentPlayerIndex ; CPU:$C19F PRG:019F ?? beq Flow_C1BF ; CPU:$C1A1 PRG:01A1 ?? ldx #$12 ; CPU:$C1A3 PRG:01A3 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C1 BF. ; Local behavior: Executes the decoded flow c1 bf sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C1BF: stx Ram_0701 ; CPU:$C1A5 PRG:01A5 ?? lda #$01 ; CPU:$C1A7 PRG:01A7 ?? ldx #$CE ; CPU:$C1A9 PRG:01A9 ?? ldy #$DA ; CPU:$C1AB PRG:01AB ?? jsr LoadPalette ; CPU:$C1AD PRG:01AD ?? jsr WaitForNmi ; CPU:$C1AF PRG:01AF ?? lda #$98 ; CPU:$C1B1 PRG:01B1 ?? sta PPUCTRL ; CPU:$C1B3 PRG:01B3 ?? lda #$10 ; CPU:$C1B5 PRG:01B5 ?? sta PPUMASK ; CPU:$C1B7 PRG:01B7 ?? ldx #$5F ; CPU:$C1B9 PRG:01B9 ?? jsr RunFrameSynchronizedTask_CA80 ; CPU:$C1BB PRG:01BB ?? lda #$02 ; CPU:$C1BD PRG:01BD ?? sta PPUMASK ; CPU:$C1BF PRG:01BF ?? lda #$B0 ; CPU:$C1C1 PRG:01C1 ?? sta PPUCTRL ; CPU:$C1C3 PRG:01C3 ?? jsr ClearNametable ; CPU:$C1C5 PRG:01C5 ?? jsr ProcessGameState_CEC8 ; CPU:$C1C7 PRG:01C7 ?? lda #$05 ; CPU:$C1C9 PRG:01C9 ?? jsr SetMainState ; CPU:$C1CB PRG:01CB ?? jmp Flow_FD4F ; CPU:$C1CD PRG:01CD ?? .byte $FA,$C1,$00,$07,$30,$68,$00,$00,$98,$68,$30,$00,$60,$68,$2C,$00 ; PRG $01F5 | CPU $C1F5 ; CPU:$C1CF PRG:01CF FA C1 00 07 30 68 00 00 98 68 30 00 60 68 2C 00 .byte $68,$68,$21,$00,$70,$68,$39,$00,$78,$68,$25,$00,$80,$68,$32,$00 ; PRG $0205 | CPU $C205 ; CPU:$C1DF PRG:01DF 68 68 21 00 70 68 39 00 78 68 25 00 80 68 32 00 .byte $88,$78,$32,$00,$68,$78,$25,$00,$70,$78,$21,$00,$78,$78,$24,$00 ; PRG $0215 | CPU $C215 ; CPU:$C1EF PRG:01EF 88 78 32 00 68 78 25 00 70 78 21 00 78 78 24 00 .byte $80,$78,$39,$00,$88 ; PRG $0225 | CPU $C225 ; CPU:$C1FF PRG:01FF 80 78 39 00 88 ; ----------------------------------------------------------------------------- ; Global purpose: Handle Stage Complete State. ; Local behavior: Executes the decoded handle stage complete state sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- HandleStageCompleteState: jsr DisableBackgroundAndSprites ; CPU:$C204 PRG:0204 ?? jsr ProcessGameState_C81B ; CPU:$C206 PRG:0206 ?? jsr EnableBackgroundAndSprites ; CPU:$C208 PRG:0208 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C233. ; Local behavior: Executes the decoded flow c233 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C233: lda #$00 ; CPU:$C20A PRG:020A ?? sta Ram_046E ; CPU:$C20C PRG:020C ?? sta Ram_046F ; CPU:$C20E PRG:020E ?? sta Ram_0470 ; CPU:$C210 PRG:0210 ?? sta Zp_2E ; CPU:$C212 PRG:0212 ?? sta Zp_2F ; CPU:$C214 PRG:0214 ?? sta Ram_045A ; CPU:$C216 PRG:0216 ?? lda #$04 ; CPU:$C218 PRG:0218 ?? jsr SetMainState ; CPU:$C21A PRG:021A ?? jmp Flow_FD4F ; CPU:$C21C PRG:021C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C24 D. ; Local behavior: Executes the decoded flow c24 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C24D: inc Zp_15 ; CPU:$C21E PRG:021E ?? lda Zp_15 ; CPU:$C220 PRG:0220 ?? and #$07 ; CPU:$C222 PRG:0222 ?? bne Flow_C258 ; CPU:$C224 PRG:0224 ?? jmp Flow_FD4F ; CPU:$C226 PRG:0226 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C258. ; Local behavior: Executes the decoded flow c258 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C258: jsr ProcessGameState_C9F9 ; CPU:$C228 PRG:0228 ?? jsr CalculateAndClampValue_D7D3 ; CPU:$C22A PRG:022A ?? jsr ProcessGameState_D980 ; CPU:$C22C PRG:022C ?? jsr ProcessGameState_E11E ; CPU:$C22E PRG:022E ?? jsr ProcessGameState_E0B7 ; CPU:$C230 PRG:0230 ?? jsr ProcessGameState_E71A ; CPU:$C232 PRG:0232 ?? jsr ProcessGameState_E6AE ; CPU:$C234 PRG:0234 ?? lda GameMode ; CPU:$C236 PRG:0236 ?? beq Flow_C27D ; CPU:$C238 PRG:0238 ?? ldx #$00 ; CPU:$C23A PRG:023A ?? lda CurrentPlayerIndex ; CPU:$C23C PRG:023C ?? beq Flow_C279 ; CPU:$C23E PRG:023E ?? ldx #$01 ; CPU:$C240 PRG:0240 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C279. ; Local behavior: Executes the decoded flow c279 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C279: txa ; CPU:$C242 PRG:0242 ?? jsr ReadControllers ; CPU:$C244 PRG:0244 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C27 D. ; Local behavior: Executes the decoded flow c27 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C27D: jsr ProcessGameState_D1C1 ; CPU:$C246 PRG:0246 ?? jsr ProcessGameState_D6BF ; CPU:$C248 PRG:0248 ?? jsr ProcessGameState_CB6F ; CPU:$C24A PRG:024A ?? jsr ProcessGameState_DB45 ; CPU:$C24C PRG:024C ?? jsr ProcessGameState_DBD7 ; CPU:$C24E PRG:024E ?? jsr ProcessGameState_DC82 ; CPU:$C250 PRG:0250 ?? jsr ProcessGameState_DD61 ; CPU:$C252 PRG:0252 ?? jsr ProcessGameState_EA1A ; CPU:$C254 PRG:0254 ?? jsr ProcessGameState_E7DE ; CPU:$C256 PRG:0256 ?? jsr ProcessGameState_E81A ; CPU:$C258 PRG:0258 ?? lda GameMode ; CPU:$C25A PRG:025A ?? beq Flow_C2A2 ; CPU:$C25C PRG:025C ?? jsr ProcessGameState_C5FF ; CPU:$C25E PRG:025E ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C2 A2. ; Local behavior: Executes the decoded flow c2 a2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C2A2: lda Ram_0465 ; CPU:$C260 PRG:0260 ?? bne Flow_C2E2 ; CPU:$C262 PRG:0262 ?? lda Ram_0464 ; CPU:$C264 PRG:0264 ?? beq Flow_C2D1 ; CPU:$C266 PRG:0266 ?? lda CurrentPlayerIndex ; CPU:$C268 PRG:0268 ?? bne Flow_C2BE ; CPU:$C26A PRG:026A ?? inc Zp_1B ; CPU:$C26C PRG:026C ?? lda Zp_1B ; CPU:$C26E PRG:026E ?? cmp #$07 ; CPU:$C270 PRG:0270 ?? bcc Flow_C2CA ; CPU:$C272 PRG:0272 ?? lda #$01 ; CPU:$C274 PRG:0274 ?? sta Zp_1B ; CPU:$C276 PRG:0276 ?? bne Flow_C2CA ; CPU:$C278 PRG:0278 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C2 BE. ; Local behavior: Executes the decoded flow c2 be sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C2BE: inc Zp_23 ; CPU:$C27A PRG:027A ?? lda Zp_23 ; CPU:$C27C PRG:027C ?? cmp #$07 ; CPU:$C27E PRG:027E ?? bcc Flow_C2CA ; CPU:$C280 PRG:0280 ?? lda #$01 ; CPU:$C282 PRG:0282 ?? sta Zp_23 ; CPU:$C284 PRG:0284 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C2 CA. ; Local behavior: Executes the decoded flow c2 ca sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C2CA: jsr ClearNametable2000 ; CPU:$C286 PRG:0286 ?? lda #$05 ; CPU:$C288 PRG:0288 ?? bne Flow_C2DC ; CPU:$C28A PRG:028A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C2 D1. ; Local behavior: Executes the decoded flow c2 d1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C2D1: lda GameMode ; CPU:$C28C PRG:028C ?? beq Flow_C2D9 ; CPU:$C28E PRG:028E ?? lda #$04 ; CPU:$C290 PRG:0290 ?? bne Flow_C2DC ; CPU:$C292 PRG:0292 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C2 D9. ; Local behavior: Executes the decoded flow c2 d9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C2D9: jmp Flow_C067 ; CPU:$C294 PRG:0294 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C2 DC. ; Local behavior: Executes the decoded flow c2 dc sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C2DC: jsr SetMainState ; CPU:$C296 PRG:0296 ?? jmp Flow_FD4F ; CPU:$C298 PRG:0298 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C2 E2. ; Local behavior: Executes the decoded flow c2 e2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C2E2: lda #$00 ; CPU:$C29A PRG:029A ?? sta Ram_0465 ; CPU:$C29C PRG:029C ?? lda GameMode ; CPU:$C29E PRG:029E ?? bne Flow_C2F2 ; CPU:$C2A0 PRG:02A0 ?? lda #$01 ; CPU:$C2A2 PRG:02A2 ?? sta Zp_56 ; CPU:$C2A4 PRG:02A4 ?? jmp Flow_C0F6 ; CPU:$C2A6 PRG:02A6 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C2 F2. ; Local behavior: Executes the decoded flow c2 f2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C2F2: lda Zp_52 ; CPU:$C2A8 PRG:02A8 ?? bne Flow_C30E ; CPU:$C2AA PRG:02AA ?? lda Zp_5A ; CPU:$C2AC PRG:02AC ?? bmi Flow_C30B ; CPU:$C2AE PRG:02AE ?? lda #$01 ; CPU:$C2B0 PRG:02B0 ?? sta Zp_51 ; CPU:$C2B2 PRG:02B2 ?? jsr ProcessGameState_E0CA ; CPU:$C2B4 PRG:02B4 ?? jsr ClearNametable2800 ; CPU:$C2B6 PRG:02B6 ?? jsr ProcessGameState_C977 ; CPU:$C2B8 PRG:02B8 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C307. ; Local behavior: Executes the decoded flow c307 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C307: lda #$06 ; CPU:$C2BA PRG:02BA ?? bne Flow_C2DC ; CPU:$C2BC PRG:02BC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C30 B. ; Local behavior: Executes the decoded flow c30 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C30B: jmp Flow_C368 ; CPU:$C2BE PRG:02BE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C30 E. ; Local behavior: Executes the decoded flow c30 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C30E: ldx CurrentPlayerIndex ; CPU:$C2C0 PRG:02C0 ?? bne Flow_C330 ; CPU:$C2C2 PRG:02C2 ?? lda Zp_5A ; CPU:$C2C4 PRG:02C4 ?? and Zp_5B ; CPU:$C2C6 PRG:02C6 ?? bmi Flow_C30B ; CPU:$C2C8 PRG:02C8 ?? lda Zp_5B ; CPU:$C2CA PRG:02CA ?? bmi Flow_C33A ; CPU:$C2CC PRG:02CC ?? lda Zp_5A ; CPU:$C2CE PRG:02CE ?? bpl Flow_C329 ; CPU:$C2D0 PRG:02D0 ?? jsr DisableRenderingAndAudio ; CPU:$C2D2 PRG:02D2 ?? jsr ProcessGameState_C523 ; CPU:$C2D4 PRG:02D4 ?? jsr ClearNametableAndSprites ; CPU:$C2D6 PRG:02D6 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C329. ; Local behavior: Executes the decoded flow c329 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C329: jsr ProcessGameState_C75A ; CPU:$C2D8 PRG:02D8 ?? lda #$01 ; CPU:$C2DA PRG:02DA ?? bne Flow_C356 ; CPU:$C2DC PRG:02DC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C330. ; Local behavior: Executes the decoded flow c330 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C330: lda Zp_5B ; CPU:$C2DE PRG:02DE ?? and Zp_5A ; CPU:$C2E0 PRG:02E0 ?? bmi Flow_C368 ; CPU:$C2E2 PRG:02E2 ?? lda Zp_5A ; CPU:$C2E4 PRG:02E4 ?? bpl Flow_C344 ; CPU:$C2E6 PRG:02E6 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C33 A. ; Local behavior: Executes the decoded flow c33 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C33A: lda #$01 ; CPU:$C2E8 PRG:02E8 ?? sta Zp_51 ; CPU:$C2EA PRG:02EA ?? jsr ProcessGameState_E0CA ; CPU:$C2EC PRG:02EC ?? jmp Flow_C307 ; CPU:$C2EE PRG:02EE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C344. ; Local behavior: Executes the decoded flow c344 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C344: lda Zp_5B ; CPU:$C2F0 PRG:02F0 ?? bpl Flow_C351 ; CPU:$C2F2 PRG:02F2 ?? jsr DisableRenderingAndAudio ; CPU:$C2F4 PRG:02F4 ?? jsr ProcessGameState_C537 ; CPU:$C2F6 PRG:02F6 ?? jsr ClearNametableAndSprites ; CPU:$C2F8 PRG:02F8 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C351. ; Local behavior: Executes the decoded flow c351 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C351: jsr ProcessGameState_C75A ; CPU:$C2FA PRG:02FA ?? lda #$00 ; CPU:$C2FC PRG:02FC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C356. ; Local behavior: Executes the decoded flow c356 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C356: sta CurrentPlayerIndex ; CPU:$C2FE PRG:02FE ?? lda #$01 ; CPU:$C300 PRG:0300 ?? sta Zp_51 ; CPU:$C302 PRG:0302 ?? jsr DisableBackgroundAndSprites ; CPU:$C304 PRG:0304 ?? jsr ProcessGameState_E0CA ; CPU:$C306 PRG:0306 ?? jsr ProcessGameState_C977 ; CPU:$C308 PRG:0308 ?? jmp Flow_C307 ; CPU:$C30A PRG:030A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C368. ; Local behavior: Executes the decoded flow c368 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C368: jsr UpdateAudioEngine ; CPU:$C30C PRG:030C ?? jsr ClearNametable2000 ; CPU:$C30E PRG:030E ?? jsr ClearNametable ; CPU:$C310 PRG:0310 ?? lda Zp_52 ; CPU:$C312 PRG:0312 ?? bne Flow_C39D ; CPU:$C314 PRG:0314 ?? jsr ProcessGameState_C54B ; CPU:$C316 PRG:0316 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C378. ; Local behavior: Executes the decoded flow c378 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C378: ldy #$5F ; CPU:$C318 PRG:0318 ?? sty Zp_42 ; CPU:$C31A PRG:031A ?? jsr EnableBackgroundAndSprites ; CPU:$C31C PRG:031C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C37 F. ; Local behavior: Executes the decoded flow c37 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C37F: jsr WaitForNmi ; CPU:$C31E PRG:031E ?? lda #$00 ; CPU:$C320 PRG:0320 ?? jsr ReadControllers ; CPU:$C322 PRG:0322 ?? lda Zp_2F ; CPU:$C324 PRG:0324 ?? and #$0C ; CPU:$C326 PRG:0326 ?? bne Flow_C395 ; CPU:$C328 PRG:0328 ?? dec Zp_42 ; CPU:$C32A PRG:032A ?? bne Flow_C37F ; CPU:$C32C PRG:032C ?? lda #$01 ; CPU:$C32E PRG:032E ?? sta Zp_56 ; CPU:$C330 PRG:0330 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C395. ; Local behavior: Executes the decoded flow c395 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C395: lda #$00 ; CPU:$C332 PRG:0332 ?? jsr SetMainState ; CPU:$C334 PRG:0334 ?? jmp Flow_FD4F ; CPU:$C336 PRG:0336 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C39 D. ; Local behavior: Executes the decoded flow c39 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C39D: lda CurrentPlayerIndex ; CPU:$C338 PRG:0338 ?? beq Flow_C3A7 ; CPU:$C33A PRG:033A ?? jsr ProcessGameState_C537 ; CPU:$C33C PRG:033C ?? jmp Flow_C378 ; CPU:$C33E PRG:033E ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C3 A7. ; Local behavior: Executes the decoded flow c3 a7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C3A7: jsr ProcessGameState_C523 ; CPU:$C340 PRG:0340 ?? jmp Flow_C378 ; CPU:$C342 PRG:0342 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Disable Rendering And Audio. ; Local behavior: Executes the decoded disable rendering and audio sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- DisableRenderingAndAudio: jsr ProcessGameState_E0CA ; CPU:$C344 PRG:0344 ?? jsr ClearNametable ; CPU:$C346 PRG:0346 ?? jsr ClearNametable2000 ; CPU:$C348 PRG:0348 ?? jmp EnableBackgroundAndSprites ; CPU:$C34A PRG:034A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Clear Nametable And Sprites. ; Local behavior: Executes the decoded clear nametable and sprites sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ClearNametableAndSprites: ldx #$5F ; CPU:$C34C PRG:034C ?? jsr RunFrameSynchronizedTask_CA80 ; CPU:$C34E PRG:034E ?? jmp DisableBackgroundAndSprites ; CPU:$C350 PRG:0350 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Initialize Object Slots. ; Local behavior: Executes the decoded initialize object slots sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- InitializeObjectSlots: lda #$FF ; CPU:$C352 PRG:0352 ?? ldx #$00 ; CPU:$C354 PRG:0354 ?? stx Ram_0600 ; CPU:$C356 PRG:0356 ?? stx Ram_060E ; CPU:$C358 PRG:0358 ?? ldy #$0D ; CPU:$C35A PRG:035A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C3 CD. ; Local behavior: Executes the decoded flow c3 cd sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C3CD: sta Ram_0601,x ; CPU:$C35C PRG:035C ?? sta Ram_060F,x ; CPU:$C35E PRG:035E ?? inx ; CPU:$C360 PRG:0360 ?? dey ; CPU:$C362 PRG:0362 ?? bne Flow_C3CD ; CPU:$C364 PRG:0364 ?? rts ; CPU:$C366 PRG:0366 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Set Ppu Control Shadow. ; Local behavior: Executes the decoded set ppu control shadow sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- SetPpuControlShadow: sta PpuControlShadow ; CPU:$C368 PRG:0368 ?? sta PPUCTRL ; CPU:$C36A PRG:036A ?? rts ; CPU:$C36C PRG:036C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Set Ppu Mask Shadow. ; Local behavior: Executes the decoded set ppu mask shadow sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- SetPpuMaskShadow: sta PpuMaskShadow ; CPU:$C36E PRG:036E ?? sta PPUMASK ; CPU:$C370 PRG:0370 ?? rts ; CPU:$C372 PRG:0372 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Disable Background And Sprites. ; Local behavior: Executes the decoded disable background and sprites sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- DisableBackgroundAndSprites: jsr WaitForPpuVblank ; CPU:$C374 PRG:0374 ?? lda PpuMaskShadow ; CPU:$C376 PRG:0376 ?? and #$E7 ; CPU:$C378 PRG:0378 ?? jmp Flow_C3F5 ; CPU:$C37A PRG:037A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Enable Background And Sprites. ; Local behavior: Executes the decoded enable background and sprites sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- EnableBackgroundAndSprites: jsr WaitForPpuVblank ; CPU:$C37C PRG:037C ?? lda PpuMaskShadow ; CPU:$C37E PRG:037E ?? ora #$18 ; CPU:$C380 PRG:0380 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C3 F5. ; Local behavior: Executes the decoded flow c3 f5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C3F5: jmp SetPpuMaskShadow ; CPU:$C382 PRG:0382 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Run Frame Synchronized Task C3 F8. ; Local behavior: Executes the decoded run frame synchronized task c3 f8 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- RunFrameSynchronizedTask_C3F8: jsr UpdateAudioEngine ; CPU:$C384 PRG:0384 ?? jsr ClearNametables ; CPU:$C386 PRG:0386 ?? lda #$92 ; CPU:$C388 PRG:0388 ?? jsr SetPpuControlShadow ; CPU:$C38A PRG:038A ?? ldx #$C5 ; CPU:$C38C PRG:038C ?? ldy #$70 ; CPU:$C38E PRG:038E ?? jsr DecodeNametableStream ; CPU:$C390 PRG:0390 ?? ldx #$C5 ; CPU:$C392 PRG:0392 ?? ldy #$55 ; CPU:$C394 PRG:0394 ?? jsr DecodeNametableStream ; CPU:$C396 PRG:0396 ?? ldx #$C5 ; CPU:$C398 PRG:0398 ?? ldy #$62 ; CPU:$C39A PRG:039A ?? jsr DecodeNametableStream ; CPU:$C39C PRG:039C ?? ldx #$C5 ; CPU:$C39E PRG:039E ?? ldy #$70 ; CPU:$C3A0 PRG:03A0 ?? jsr DecodeNametableStream ; CPU:$C3A2 PRG:03A2 ?? jsr ProcessGameState_CBC1 ; CPU:$C3A4 PRG:03A4 ?? ldx #$C5 ; CPU:$C3A6 PRG:03A6 ?? ldy #$E8 ; CPU:$C3A8 PRG:03A8 ?? jsr DecodeNametableStream ; CPU:$C3AA PRG:03AA ?? jsr ProcessGameState_CE86 ; CPU:$C3AC PRG:03AC ?? jsr ProcessGameState_C4FB ; CPU:$C3AE PRG:03AE ?? jsr TransformValue_D18F ; CPU:$C3B0 PRG:03B0 ?? jsr ProcessGameState_FD83 ; CPU:$C3B2 PRG:03B2 ?? jsr WaitForNmi ; CPU:$C3B4 PRG:03B4 ?? lda Zp_56 ; CPU:$C3B6 PRG:03B6 ?? beq Flow_C469 ; CPU:$C3B8 PRG:03B8 ?? lda #$0E ; CPU:$C3BA PRG:03BA ?? jsr SetPpuMaskShadow ; CPU:$C3BC PRG:03BC ?? lda PpuControlShadow ; CPU:$C3BE PRG:03BE ?? ora #$80 ; CPU:$C3C0 PRG:03C0 ?? jsr SetPpuControlShadow ; CPU:$C3C2 PRG:03C2 ?? lda #$FF ; CPU:$C3C4 PRG:03C4 ?? sta PendingFrameTask ; CPU:$C3C6 PRG:03C6 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C44 C. ; Local behavior: Executes the decoded flow c44 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C44C: lda #$00 ; CPU:$C3C8 PRG:03C8 ?? sta Zp_3F ; CPU:$C3CA PRG:03CA ?? jsr ReadControllers ; CPU:$C3CC PRG:03CC ?? lda Zp_2F ; CPU:$C3CE PRG:03CE ?? and #$0C ; CPU:$C3D0 PRG:03D0 ?? bne Flow_C469 ; CPU:$C3D2 PRG:03D2 ?? lda PendingFrameTask ; CPU:$C3D4 PRG:03D4 ?? cmp #$F0 ; CPU:$C3D6 PRG:03D6 ?? beq Flow_C469 ; CPU:$C3D8 PRG:03D8 85 10 ; ----------------------------------------------------------------------------- ; Global purpose: Flow C45 F. ; Local behavior: Executes the decoded flow c45 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C45F: lda Zp_3F ; CPU:$C3DA PRG:03DA 8D 00 20 beq Flow_C45F ; CPU:$C3DD PRG:03DD 60 bne Flow_C44C ; CPU:$C3DE PRG:03DE 85 11 ; ----------------------------------------------------------------------------- ; Global purpose: Flow C465. ; Local behavior: Executes the decoded flow c465 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C465: lda Zp_3F ; CPU:$C3E0 PRG:03E0 8D 01 20 beq Flow_C465 ; CPU:$C3E3 PRG:03E3 60 ; ----------------------------------------------------------------------------- ; Global purpose: Flow C469. ; Local behavior: Executes the decoded flow c469 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C469: lda #$00 ; CPU:$C3E4 PRG:03E4 20 A6 FD sta PendingFrameTask ; CPU:$C3E7 PRG:03E7 A5 11 sta Zp_56 ; CPU:$C3E9 PRG:03E9 29 E7 lda #$B0 ; CPU:$C3EB PRG:03EB 4C F5 C3 jsr SetPpuControlShadow ; CPU:$C3EE PRG:03EE ?? lda #$1A ; CPU:$C3F0 PRG:03F0 ?? sta PpuMaskShadow ; CPU:$C3F2 PRG:03F2 ?? and #$0F ; CPU:$C3F4 PRG:03F4 ?? sta PPUMASK ; CPU:$C3F6 PRG:03F6 ?? jsr SetDefaultScroll ; CPU:$C3F8 PRG:03F8 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C480. ; Local behavior: Executes the decoded flow c480 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C480: jsr WaitForNmi ; CPU:$C3FA PRG:03FA ?? lda #$00 ; CPU:$C3FC PRG:03FC ?? jsr ReadControllers ; CPU:$C3FE PRG:03FE ?? lda Zp_2F ; CPU:$C400 PRG:0400 ?? and #$08 ; CPU:$C402 PRG:0402 ?? bne Flow_C480 ; CPU:$C404 PRG:0404 ?? lda #$00 ; CPU:$C406 PRG:0406 ?? sta Zp_41 ; CPU:$C408 PRG:0408 ?? sta Zp_3F ; CPU:$C40A PRG:040A ?? sta Zp_40 ; CPU:$C40C PRG:040C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C496. ; Local behavior: Executes the decoded flow c496 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C496: jsr WaitForNmi ; CPU:$C40E PRG:040E ?? clc ; CPU:$C410 PRG:0410 ?? lda #$01 ; CPU:$C412 PRG:0412 ?? adc Zp_40 ; CPU:$C414 PRG:0414 ?? sta Zp_40 ; CPU:$C416 PRG:0416 ?? lda #$00 ; CPU:$C418 PRG:0418 ?? adc Zp_3F ; CPU:$C41A PRG:041A ?? sta Zp_3F ; CPU:$C41C PRG:041C ?? cmp #$02 ; CPU:$C41E PRG:041E ?? beq Flow_C4F7 ; CPU:$C420 PRG:0420 ?? lda #$00 ; CPU:$C422 PRG:0422 ?? jsr ReadControllers ; CPU:$C424 PRG:0424 ?? lda Zp_2F ; CPU:$C426 PRG:0426 ?? and #$08 ; CPU:$C428 PRG:0428 ?? beq Flow_C4D7 ; CPU:$C42A PRG:042A ?? jsr ProcessGameState_CB53 ; CPU:$C42C PRG:042C ?? lda Zp_52 ; CPU:$C42E PRG:042E ?? beq Flow_C4C4 ; CPU:$C430 PRG:0430 ?? lda #$00 ; CPU:$C432 PRG:0432 ?? sta Zp_61 ; CPU:$C434 PRG:0434 ?? sta Zp_62 ; CPU:$C436 PRG:0436 ?? sta Zp_63 ; CPU:$C438 PRG:0438 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C4 C4. ; Local behavior: Executes the decoded flow c4 c4 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C4C4: lda #$00 ; CPU:$C43A PRG:043A ?? sta Zp_5E ; CPU:$C43C PRG:043C ?? sta Zp_5F ; CPU:$C43E PRG:043E ?? sta Zp_60 ; CPU:$C440 PRG:0440 ?? lda #$02 ; CPU:$C442 PRG:0442 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C4 CE. ; Local behavior: Executes the decoded flow c4 ce sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C4CE: jsr SetMainState ; CPU:$C444 PRG:0444 ?? jsr DisableBackgroundAndSprites ; CPU:$C446 PRG:0446 ?? jmp Flow_FD4F ; CPU:$C448 PRG:0448 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C4 D7. ; Local behavior: Executes the decoded flow c4 d7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C4D7: lda Zp_2F ; CPU:$C44A PRG:044A ?? and #$04 ; CPU:$C44C PRG:044C ?? beq Flow_C4F1 ; CPU:$C44E PRG:044E ?? lda Zp_41 ; CPU:$C450 PRG:0450 ?? bne Flow_C496 ; CPU:$C452 PRG:0452 ?? lda Zp_52 ; CPU:$C454 PRG:0454 ?? eor #$01 ; CPU:$C456 PRG:0456 ?? sta Zp_52 ; CPU:$C458 PRG:0458 ?? lda #$01 ; CPU:$C45A PRG:045A ?? sta Zp_41 ; CPU:$C45C PRG:045C ?? jsr TransformValue_D18F ; CPU:$C45E PRG:045E ?? jmp Flow_C496 ; CPU:$C460 PRG:0460 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C4 F1. ; Local behavior: Executes the decoded flow c4 f1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C4F1: lda #$00 ; CPU:$C462 PRG:0462 ?? sta Zp_41 ; CPU:$C464 PRG:0464 ?? beq Flow_C496 ; CPU:$C466 PRG:0466 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C4 F7. ; Local behavior: Executes the decoded flow c4 f7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C4F7: lda #$01 ; CPU:$C468 PRG:0468 ?? bne Flow_C4CE ; CPU:$C46A PRG:046A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C4 FB. ; Local behavior: Executes the decoded process game state c4 fb sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C4FB: lda #$00 ; CPU:$C46C PRG:046C ?? sta CurrentPlayerIndex ; CPU:$C46E PRG:046E ?? ldx #$F1 ; CPU:$C470 PRG:0470 ?? ldy #$FE ; CPU:$C472 PRG:0472 ?? jsr ProcessGameState_CA31 ; CPU:$C474 PRG:0474 ?? ldx #$F2 ; CPU:$C476 PRG:0476 ?? ldy #$33 ; CPU:$C478 PRG:0478 ?? jsr ProcessGameState_CA31 ; CPU:$C47A PRG:047A ?? ldx #$F2 ; CPU:$C47C PRG:047C ?? ldy #$2A ; CPU:$C47E PRG:047E ?? jsr ProcessGameState_CA31 ; CPU:$C480 PRG:0480 ?? ldx #$03 ; CPU:$C482 PRG:0482 ?? jsr TransformValue_CA37 ; CPU:$C484 PRG:0484 ?? ldx #$04 ; CPU:$C486 PRG:0486 ?? jsr TransformValue_CA37 ; CPU:$C488 PRG:0488 ?? ldx #$05 ; CPU:$C48A PRG:048A ?? jmp TransformValue_CA37 ; CPU:$C48C PRG:048C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C523. ; Local behavior: Executes the decoded process game state c523 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C523: inc Ram_0467 ; CPU:$C48E PRG:048E ?? ldx #$C5 ; CPU:$C490 PRG:0490 ?? ldy #$C0 ; CPU:$C492 PRG:0492 ?? jsr DecodeNametableStream ; CPU:$C494 PRG:0494 ?? inc Ram_0467 ; CPU:$C496 PRG:0496 ?? ldx #$C5 ; CPU:$C498 PRG:0498 ?? ldy #$DA ; CPU:$C49A PRG:049A ?? jmp DecodeNametableStream ; CPU:$C49C PRG:049C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C537. ; Local behavior: Executes the decoded process game state c537 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C537: inc Ram_0467 ; CPU:$C49E PRG:049E ?? ldx #$C5 ; CPU:$C4A0 PRG:04A0 ?? ldy #$CD ; CPU:$C4A2 PRG:04A2 ?? jsr DecodeNametableStream ; CPU:$C4A4 PRG:04A4 ?? inc Ram_0467 ; CPU:$C4A6 PRG:04A6 ?? ldx #$C5 ; CPU:$C4A8 PRG:04A8 ?? ldy #$DA ; CPU:$C4AA PRG:04AA ?? jmp DecodeNametableStream ; CPU:$C4AC PRG:04AC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C54 B. ; Local behavior: Executes the decoded process game state c54 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C54B: inc Ram_0467 ; CPU:$C4AE PRG:04AE ?? ldx #$C5 ; CPU:$C4B0 PRG:04B0 ?? ldy #$DA ; CPU:$C4B2 PRG:04B2 ?? jmp DecodeNametableStream ; CPU:$C4B4 PRG:04B4 ?? .byte $59,$C5,$4C,$22,$31,$20,$50,$4C,$41,$59,$45,$52,$FF,$66,$C5,$8C ; PRG $0555 | CPU $C555 ; CPU:$C4B6 PRG:04B6 59 C5 4C 22 31 20 50 4C 41 59 45 52 FF 66 C5 8C .byte $22,$32,$20,$50,$4C,$41,$59,$45,$52,$53,$FF,$74,$C5,$C3,$22,$40 ; PRG $0565 | CPU $C565 ; CPU:$C4C6 PRG:04C6 22 32 20 50 4C 41 59 45 52 53 FF 74 C5 C3 22 40 .byte $20,$31,$39,$38,$32,$20,$44,$41,$54,$41,$20,$45,$41,$53,$54,$20 ; PRG $0575 | CPU $C575 ; CPU:$C4D6 PRG:04D6 20 31 39 38 32 20 44 41 54 41 20 45 41 53 54 20 .byte $55,$53,$41,$2E,$20,$49,$4E,$43,$2E,$0A,$0A,$20,$20,$4C,$49,$43 ; PRG $0585 | CPU $C585 ; CPU:$C4E6 PRG:04E6 55 53 41 2E 20 49 4E 43 2E 0A 0A 20 20 4C 49 43 .byte $45,$4E,$53,$45,$44,$20,$42,$59,$20,$4E,$49,$4E,$54,$45,$4E,$44 ; PRG $0595 | CPU $C595 ; CPU:$C4F6 PRG:04F6 45 4E 53 45 44 20 42 59 20 4E 49 4E 54 45 4E 44 .byte $4F,$0A,$20,$20,$20,$20,$20,$20,$20,$20,$4F,$46,$20,$41,$4D,$45 ; PRG $05A5 | CPU $C5A5 ; CPU:$C506 PRG:0506 4F 0A 20 20 20 20 20 20 20 20 4F 46 20 41 4D 45 .byte $52,$49,$43,$41,$2E,$20,$49,$4E,$43,$2E,$FF,$C4,$C5,$CE,$21,$50 ; PRG $05B5 | CPU $C5B5 ; CPU:$C516 PRG:0516 52 49 43 41 2E 20 49 4E 43 2E FF C4 C5 CE 21 50 .byte $4C,$41,$59,$45,$52,$20,$31,$FF,$D1,$C5,$CE,$21,$50,$4C,$41,$59 ; PRG $05C5 | CPU $C5C5 ; CPU:$C526 PRG:0526 4C 41 59 45 52 20 31 FF D1 C5 CE 21 50 4C 41 59 .byte $45,$52,$20,$32,$FF,$DE,$C5,$0D,$22,$47,$41,$4D,$45,$20,$4F,$56 ; PRG $05D5 | CPU $C5D5 ; CPU:$C536 PRG:0536 45 52 20 32 FF DE C5 0D 22 47 41 4D 45 20 4F 56 .byte $45,$52,$FF,$EC,$C5,$C8,$21,$DA,$DB,$D9,$0A,$DC,$DD,$20,$20,$44 ; PRG $05E5 | CPU $C5E5 ; CPU:$C546 PRG:0546 45 52 FF EC C5 C8 21 DA DB D9 0A DC DD 20 20 44 .byte $41,$54,$41,$20,$45,$41,$53,$54,$D9,$FF ; PRG $05F5 | CPU $C5F5 ; CPU:$C556 PRG:0556 41 54 41 20 45 41 53 54 D9 FF ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C5 FF. ; Local behavior: Executes the decoded process game state c5 ff sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C5FF: lda Ram_040E ; CPU:$C560 PRG:0560 ?? cmp #$80 ; CPU:$C562 PRG:0562 ?? bne Flow_C609 ; CPU:$C564 PRG:0564 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C606. ; Local behavior: Executes the decoded flow c606 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C606: jmp Flow_C68D ; CPU:$C566 PRG:0566 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C609. ; Local behavior: Executes the decoded flow c609 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C609: cmp #$F0 ; CPU:$C568 PRG:0568 ?? beq Flow_C606 ; CPU:$C56A PRG:056A ?? lda Zp_2F ; CPU:$C56C PRG:056C ?? and #$08 ; CPU:$C56E PRG:056E ?? bne Flow_C615 ; CPU:$C570 PRG:0570 ?? beq Flow_C68E ; CPU:$C572 PRG:0572 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C615. ; Local behavior: Executes the decoded flow c615 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C615: lda Ram_046E ; CPU:$C574 PRG:0574 ?? bne Flow_C682 ; CPU:$C576 PRG:0576 ?? jsr WaitForNmi ; CPU:$C578 PRG:0578 ?? jsr UpdateAudioEngine ; CPU:$C57A PRG:057A ?? lda #$01 ; CPU:$C57C PRG:057C ?? sta Ram_046E ; CPU:$C57E PRG:057E ?? jsr ProcessGameState_C69C ; CPU:$C580 PRG:0580 ?? jsr ProcessGameState_C6BC ; CPU:$C582 PRG:0582 ?? jsr ProcessGameState_C6ED ; CPU:$C584 PRG:0584 ?? lda #$0B ; CPU:$C586 PRG:0586 ?? jsr StorePendingSoundCommand ; CPU:$C588 PRG:0588 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C633. ; Local behavior: Executes the decoded flow c633 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C633: inc Ram_046F ; CPU:$C58A PRG:058A ?? lda Ram_046F ; CPU:$C58C PRG:058C ?? and #$0F ; CPU:$C58E PRG:058E ?? cmp #$0F ; CPU:$C590 PRG:0590 ?? bne Flow_C642 ; CPU:$C592 PRG:0592 ?? jsr ProcessGameState_C6CD ; CPU:$C594 PRG:0594 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C642. ; Local behavior: Executes the decoded flow c642 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C642: jsr WaitForNmi ; CPU:$C596 PRG:0596 ?? lda #$00 ; CPU:$C598 PRG:0598 ?? jsr ReadControllers ; CPU:$C59A PRG:059A ?? lda Zp_2F ; CPU:$C59C PRG:059C ?? and #$08 ; CPU:$C59E PRG:059E ?? bne Flow_C695 ; CPU:$C5A0 PRG:05A0 ?? lda Ram_0470 ; CPU:$C5A2 PRG:05A2 ?? bne Flow_C633 ; CPU:$C5A4 PRG:05A4 ?? lda #$01 ; CPU:$C5A6 PRG:05A6 ?? ora Ram_0470 ; CPU:$C5A8 PRG:05A8 ?? sta Ram_0470 ; CPU:$C5AA PRG:05AA ?? bne Flow_C633 ; CPU:$C5AC PRG:05AC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C65 F. ; Local behavior: Executes the decoded flow c65 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C65F: lda #$0B ; CPU:$C5AE PRG:05AE ?? jsr StorePendingSoundCommand ; CPU:$C5B0 PRG:05B0 ?? jsr ProcessGameState_C6ED ; CPU:$C5B2 PRG:05B2 ?? lda Ram_04E0 ; CPU:$C5B4 PRG:05B4 ?? cmp #$68 ; CPU:$C5B6 PRG:05B6 ?? beq Flow_C671 ; CPU:$C5B8 PRG:05B8 ?? jsr ProcessGameState_C6BC ; CPU:$C5BA PRG:05BA ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C671. ; Local behavior: Executes the decoded flow c671 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C671: ldy #$0F ; CPU:$C5BC PRG:05BC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C673. ; Local behavior: Executes the decoded flow c673 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C673: jsr WaitForNmi ; CPU:$C5BE PRG:05BE ?? dey ; CPU:$C5C0 PRG:05C0 ?? bne Flow_C673 ; CPU:$C5C2 PRG:05C2 ?? lda #$00 ; CPU:$C5C4 PRG:05C4 ?? sta Zp_2F ; CPU:$C5C6 PRG:05C6 ?? lda #$04 ; CPU:$C5C8 PRG:05C8 ?? jsr StorePendingSoundCommand ; CPU:$C5CA PRG:05CA ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C682. ; Local behavior: Executes the decoded flow c682 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C682: lda #$00 ; CPU:$C5CC PRG:05CC ?? sta Ram_046F ; CPU:$C5CE PRG:05CE ?? sta Ram_0470 ; CPU:$C5D0 PRG:05D0 ?? jsr ProcessGameState_C6E0 ; CPU:$C5D2 PRG:05D2 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C68 D. ; Local behavior: Executes the decoded flow c68 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C68D: rts ; CPU:$C5D4 PRG:05D4 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C68 E. ; Local behavior: Executes the decoded flow c68 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C68E: lda #$00 ; CPU:$C5D6 PRG:05D6 ?? sta Ram_046E ; CPU:$C5D8 PRG:05D8 ?? beq Flow_C682 ; CPU:$C5DA PRG:05DA ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C695. ; Local behavior: Executes the decoded flow c695 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C695: lda Ram_0470 ; CPU:$C5DC PRG:05DC ?? beq Flow_C633 ; CPU:$C5DE PRG:05DE ?? bne Flow_C65F ; CPU:$C5E0 PRG:05E0 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C69 C. ; Local behavior: Executes the decoded process game state c69 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C69C: ldx #$C6 ; CPU:$C5E2 PRG:05E2 ?? ldy #$A3 ; CPU:$C5E4 PRG:05E4 ?? jmp ProcessGameState_C715 ; CPU:$C5E6 PRG:05E6 ?? .byte $A8,$C6,$E0,$04,$14,$68,$C8,$01,$68,$68,$CA,$01,$70,$68,$CC,$01 ; PRG $06A3 | CPU $C6A3 ; CPU:$C5E8 PRG:05E8 A8 C6 E0 04 14 68 C8 01 68 68 CA 01 70 68 CC 01 .byte $78,$68,$CE,$01,$80,$68,$D0,$01,$88 ; PRG $06B3 | CPU $C6B3 ; CPU:$C5F8 PRG:05F8 78 68 CE 01 80 68 D0 01 88 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C6 BC. ; Local behavior: Executes the decoded process game state c6 bc sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C6BC: lda #$E0 ; CPU:$C601 PRG:0601 ?? sta Zp_32 ; CPU:$C603 PRG:0603 ?? sta Zp_34 ; CPU:$C605 PRG:0605 ?? lda #$04 ; CPU:$C607 PRG:0607 ?? sta Zp_33 ; CPU:$C609 PRG:0609 ?? lda #$07 ; CPU:$C60B PRG:060B ?? sta Zp_35 ; CPU:$C60D PRG:060D ?? jmp Flow_C700 ; CPU:$C60F PRG:060F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C6 CD. ; Local behavior: Executes the decoded process game state c6 cd sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C6CD: lda #$E0 ; CPU:$C611 PRG:0611 ?? sta Zp_32 ; CPU:$C613 PRG:0613 ?? lda #$04 ; CPU:$C615 PRG:0615 ?? sta Zp_33 ; CPU:$C617 PRG:0617 ?? lda #$00 ; CPU:$C619 PRG:0619 ?? sta Zp_34 ; CPU:$C61B PRG:061B ?? lda #$07 ; CPU:$C61D PRG:061D ?? sta Zp_35 ; CPU:$C61F PRG:061F ?? jmp Flow_C700 ; CPU:$C621 PRG:0621 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C6 E0. ; Local behavior: Executes the decoded process game state c6 e0 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C6E0: lda #$00 ; CPU:$C623 PRG:0623 ?? ldy #$00 ; CPU:$C625 PRG:0625 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C6 E4. ; Local behavior: Executes the decoded flow c6 e4 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C6E4: sta Ram_04E0,y ; CPU:$C627 PRG:0627 ?? iny ; CPU:$C629 PRG:0629 ?? cpy #$14 ; CPU:$C62B PRG:062B ?? bne Flow_C6E4 ; CPU:$C62D PRG:062D ?? rts ; CPU:$C62F PRG:062F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C6 ED. ; Local behavior: Executes the decoded process game state c6 ed sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C6ED: lda #$00 ; CPU:$C631 PRG:0631 ?? sta Zp_32 ; CPU:$C633 PRG:0633 ?? lda #$07 ; CPU:$C635 PRG:0635 ?? sta Zp_33 ; CPU:$C637 PRG:0637 ?? lda #$E0 ; CPU:$C639 PRG:0639 ?? sta Zp_34 ; CPU:$C63B PRG:063B ?? lda #$07 ; CPU:$C63D PRG:063D ?? sta Zp_35 ; CPU:$C63F PRG:063F ?? jmp Flow_C700 ; CPU:$C641 PRG:0641 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C700. ; Local behavior: Executes the decoded flow c700 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C700: ldy #$00 ; CPU:$C643 PRG:0643 ?? jsr WaitForPpuVblank ; CPU:$C645 PRG:0645 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C705. ; Local behavior: Executes the decoded flow c705 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C705: lda (Zp_32),y ; CPU:$C647 PRG:0647 ?? tax ; CPU:$C649 PRG:0649 ?? lda (Zp_34),y ; CPU:$C64B PRG:064B ?? sta (Zp_32),y ; CPU:$C64D PRG:064D ?? txa ; CPU:$C64F PRG:064F ?? sta (Zp_34),y ; CPU:$C651 PRG:0651 ?? iny ; CPU:$C653 PRG:0653 ?? cpy #$14 ; CPU:$C655 PRG:0655 ?? bne Flow_C705 ; CPU:$C657 PRG:0657 ?? rts ; CPU:$C659 PRG:0659 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C715. ; Local behavior: Executes the decoded process game state c715 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C715: sty Zp_32 ; CPU:$C65B PRG:065B ?? stx Zp_33 ; CPU:$C65D PRG:065D ?? ldy #$00 ; CPU:$C65F PRG:065F ?? lda (Zp_32),y ; CPU:$C661 PRG:0661 ?? sta Zp_34 ; CPU:$C663 PRG:0663 ?? iny ; CPU:$C665 PRG:0665 ?? lda (Zp_32),y ; CPU:$C667 PRG:0667 ?? sta Zp_35 ; CPU:$C669 PRG:0669 ?? iny ; CPU:$C66B PRG:066B ?? lda (Zp_32),y ; CPU:$C66D PRG:066D ?? sta Zp_36 ; CPU:$C66F PRG:066F ?? iny ; CPU:$C671 PRG:0671 ?? lda (Zp_32),y ; CPU:$C673 PRG:0673 ?? sta Zp_37 ; CPU:$C675 PRG:0675 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C72 E. ; Local behavior: Executes the decoded flow c72 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C72E: iny ; CPU:$C677 PRG:0677 ?? lda (Zp_32),y ; CPU:$C679 PRG:0679 ?? tax ; CPU:$C67B PRG:067B ?? ldy #$00 ; CPU:$C67D PRG:067D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C734. ; Local behavior: Executes the decoded flow c734 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C734: lda (Zp_34),y ; CPU:$C67F PRG:067F ?? sta (Zp_36),y ; CPU:$C681 PRG:0681 ?? iny ; CPU:$C683 PRG:0683 ?? dex ; CPU:$C685 PRG:0685 ?? bne Flow_C734 ; CPU:$C687 PRG:0687 ?? ldy Zp_32 ; CPU:$C689 PRG:0689 ?? ldx Zp_33 ; CPU:$C68B PRG:068B ?? rts ; CPU:$C68D PRG:068D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C741. ; Local behavior: Executes the decoded process game state c741 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C741: sty Zp_32 ; CPU:$C68F PRG:068F ?? stx Zp_33 ; CPU:$C691 PRG:0691 ?? ldy #$00 ; CPU:$C693 PRG:0693 ?? lda (Zp_32),y ; CPU:$C695 PRG:0695 ?? sta Zp_34 ; CPU:$C697 PRG:0697 ?? iny ; CPU:$C699 PRG:0699 ?? lda (Zp_32),y ; CPU:$C69B PRG:069B ?? sta Zp_35 ; CPU:$C69D PRG:069D ?? lda #$00 ; CPU:$C69F PRG:069F ?? sta Zp_36 ; CPU:$C6A1 PRG:06A1 ?? lda #$05 ; CPU:$C6A3 PRG:06A3 ?? sta Zp_37 ; CPU:$C6A5 PRG:06A5 ?? bne Flow_C72E ; CPU:$C6A7 PRG:06A7 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C75 A. ; Local behavior: Executes the decoded process game state c75 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C75A: ldy #$00 ; CPU:$C6A9 PRG:06A9 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C75 C. ; Local behavior: Executes the decoded flow c75 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C75C: lda OamBuffer,y ; CPU:$C6AB PRG:06AB ?? tax ; CPU:$C6AD PRG:06AD ?? lda Ram_0300,y ; CPU:$C6AF PRG:06AF ?? sta OamBuffer,y ; CPU:$C6B1 PRG:06B1 ?? txa ; CPU:$C6B3 PRG:06B3 ?? sta Ram_0300,y ; CPU:$C6B5 PRG:06B5 ?? iny ; CPU:$C6B7 PRG:06B7 ?? bne Flow_C75C ; CPU:$C6B9 PRG:06B9 ?? rts ; CPU:$C6BB PRG:06BB ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C76 E. ; Local behavior: Executes the decoded process game state c76 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C76E: lda #$00 ; CPU:$C6BD PRG:06BD ?? sta Zp_32 ; CPU:$C6BF PRG:06BF ?? lda #$02 ; CPU:$C6C1 PRG:06C1 ?? sta Zp_33 ; CPU:$C6C3 PRG:06C3 ?? ldx #$02 ; CPU:$C6C5 PRG:06C5 ?? jsr ProcessGameState_C7D9 ; CPU:$C6C7 PRG:06C7 ?? lda #$05 ; CPU:$C6C9 PRG:06C9 ?? sta Zp_33 ; CPU:$C6CB PRG:06CB ?? ldx #$02 ; CPU:$C6CD PRG:06CD ?? jsr ProcessGameState_C7D9 ; CPU:$C6CF PRG:06CF ?? lda #$FC ; CPU:$C6D1 PRG:06D1 ?? sta Zp_32 ; CPU:$C6D3 PRG:06D3 ?? lda #$04 ; CPU:$C6D5 PRG:06D5 ?? sta Zp_33 ; CPU:$C6D7 PRG:06D7 ?? ldy #$00 ; CPU:$C6D9 PRG:06D9 ?? ldx #$04 ; CPU:$C6DB PRG:06DB ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C790. ; Local behavior: Executes the decoded flow c790 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C790: lda (Zp_32),y ; CPU:$C6DD PRG:06DD ?? cmp LookupTable_C7F3,y ; CPU:$C6DF PRG:06DF ?? bne Flow_C79D ; CPU:$C6E1 PRG:06E1 ?? iny ; CPU:$C6E3 PRG:06E3 ?? dex ; CPU:$C6E5 PRG:06E5 ?? bne Flow_C790 ; CPU:$C6E7 PRG:06E7 ?? beq Flow_C7BD ; CPU:$C6E9 PRG:06E9 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C79 D. ; Local behavior: Executes the decoded flow c79 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C79D: ldy #$00 ; CPU:$C6EB PRG:06EB ?? ldx #$04 ; CPU:$C6ED PRG:06ED ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C7 A1. ; Local behavior: Executes the decoded flow c7 a1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C7A1: lda LookupTable_C7F3,y ; CPU:$C6EF PRG:06EF ?? sta (Zp_32),y ; CPU:$C6F1 PRG:06F1 ?? iny ; CPU:$C6F3 PRG:06F3 ?? dex ; CPU:$C6F5 PRG:06F5 ?? bne Flow_C7A1 ; CPU:$C6F7 PRG:06F7 ?? lda #$00 ; CPU:$C6F9 PRG:06F9 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C7 AC. ; Local behavior: Executes the decoded flow c7 ac sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C7AC: sta Zp_30,x ; CPU:$C6FB PRG:06FB ?? inx ; CPU:$C6FD PRG:06FD ?? cpx #$CF ; CPU:$C6FF PRG:06FF ?? bne Flow_C7AC ; CPU:$C701 PRG:0701 ?? lda #$02 ; CPU:$C703 PRG:0703 ?? sta Zp_66 ; CPU:$C705 PRG:0705 ?? lda #$00 ; CPU:$C707 PRG:0707 ?? sta Zp_64 ; CPU:$C709 PRG:0709 ?? sta Zp_65 ; CPU:$C70B PRG:070B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C7 BD. ; Local behavior: Executes the decoded flow c7 bd sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C7BD: lda PpuControlShadow ; CPU:$C70D PRG:070D ?? ora #$20 ; CPU:$C70F PRG:070F ?? sta PpuControlShadow ; CPU:$C711 PRG:0711 ?? sta Zp_56 ; CPU:$C713 PRG:0713 ?? lda #$00 ; CPU:$C715 PRG:0715 ?? sta Zp_1B ; CPU:$C717 PRG:0717 ?? sta Zp_23 ; CPU:$C719 PRG:0719 ?? sta Ram_0400 ; CPU:$C71B PRG:071B ?? sta Ram_0401 ; CPU:$C71D PRG:071D ?? sta Zp_51 ; CPU:$C71F PRG:071F ?? jsr ProcessGameState_C7E7 ; CPU:$C721 PRG:0721 ?? jmp UpdateAudioEngine ; CPU:$C723 PRG:0723 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C7 D9. ; Local behavior: Executes the decoded process game state c7 d9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C7D9: lda #$00 ; CPU:$C725 PRG:0725 ?? tay ; CPU:$C727 PRG:0727 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C7 DC. ; Local behavior: Executes the decoded flow c7 dc sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C7DC: sta (Zp_32),y ; CPU:$C729 PRG:0729 ?? iny ; CPU:$C72B PRG:072B ?? bne Flow_C7DC ; CPU:$C72D PRG:072D ?? inc Zp_33 ; CPU:$C72F PRG:072F ?? dex ; CPU:$C731 PRG:0731 ?? bne ProcessGameState_C7D9 ; CPU:$C733 PRG:0733 ?? rts ; CPU:$C735 PRG:0735 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C7 E7. ; Local behavior: Executes the decoded process game state c7 e7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C7E7: lda #$00 ; CPU:$C737 PRG:0737 ?? tax ; CPU:$C739 PRG:0739 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C7 EA. ; Local behavior: Executes the decoded flow c7 ea sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C7EA: sta Ram_0402,x ; CPU:$C73B PRG:073B ?? inx ; CPU:$C73D PRG:073D ?? cpx #$F9 ; CPU:$C73F PRG:073F ?? bne Flow_C7EA ; CPU:$C741 PRG:0741 ?? rts ; CPU:$C743 PRG:0743 ?? LookupTable_C7F3: .byte $44,$45,$43,$4F ; PRG $07F3 | CPU $C7F3 ; CPU:$C745 PRG:0745 44 45 43 4F ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C7 F7. ; Local behavior: Executes the decoded process game state c7 f7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C7F7: lda #$01 ; CPU:$C749 PRG:0749 ?? sta Ram_0400 ; CPU:$C74B PRG:074B ?? sta Ram_0401 ; CPU:$C74D PRG:074D ?? sta Zp_1B ; CPU:$C74F PRG:074F ?? sta Zp_23 ; CPU:$C751 PRG:0751 ?? lda #$00 ; CPU:$C753 PRG:0753 ?? sta Ram_0404 ; CPU:$C755 PRG:0755 ?? sta Ram_0405 ; CPU:$C757 PRG:0757 ?? sta CurrentPlayerIndex ; CPU:$C759 PRG:0759 ?? sta PlayerDeathFlag ; CPU:$C75B PRG:075B ?? jsr ProcessGameState_CADC ; CPU:$C75D PRG:075D ?? jsr ProcessGameState_C75A ; CPU:$C75F PRG:075F ?? dec Ram_0400 ; CPU:$C761 PRG:0761 ?? jmp ClearNametable2000 ; CPU:$C763 PRG:0763 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C81 B. ; Local behavior: Executes the decoded process game state c81 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C81B: jsr ClearNametable ; CPU:$C765 PRG:0765 ?? lda Zp_52 ; CPU:$C767 PRG:0767 ?? bne Flow_C82C ; CPU:$C769 PRG:0769 ?? jsr ClearNametable2000 ; CPU:$C76B PRG:076B ?? lda Zp_51 ; CPU:$C76D PRG:076D ?? bne Flow_C82C ; CPU:$C76F PRG:076F ?? jsr ProcessGameState_C7E7 ; CPU:$C771 PRG:0771 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C82 C. ; Local behavior: Executes the decoded flow c82 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C82C: jsr ProcessGameState_CB88 ; CPU:$C773 PRG:0773 ?? lda Zp_51 ; CPU:$C775 PRG:0775 ?? beq Flow_C836 ; CPU:$C777 PRG:0777 ?? jmp Flow_C90A ; CPU:$C779 PRG:0779 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C836. ; Local behavior: Executes the decoded flow c836 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C836: ldx CurrentPlayerIndex ; CPU:$C77B PRG:077B A9 05 inc Ram_0400,x ; CPU:$C77D PRG:077D 85 33 lda #$00 ; CPU:$C77F PRG:077F A2 02 sta Ram_0404,x ; CPU:$C781 PRG:0781 20 D9 C7 jsr InitializeObjectSlots ; CPU:$C784 PRG:0784 A9 FC jsr ProcessGameState_CADC ; CPU:$C786 PRG:0786 85 32 lda #$00 ; CPU:$C788 PRG:0788 A9 04 sta Zp_51 ; CPU:$C78A PRG:078A 85 33 jsr TransformValue_CC8E ; CPU:$C78C PRG:078C A0 00 jsr TransformValue_CC7D ; CPU:$C78E PRG:078E A2 04 ; ----------------------------------------------------------------------------- ; Global purpose: Flow C850. ; Local behavior: Executes the decoded flow c850 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C850: lda StateInitializedFlag ; CPU:$C790 PRG:0790 B1 32 bne Flow_C859 ; CPU:$C792 PRG:0792 D9 F3 C7 lda #$04 ; CPU:$C795 PRG:0795 D0 06 jsr StorePendingSoundCommand ; CPU:$C797 PRG:0797 C8 ; ----------------------------------------------------------------------------- ; Global purpose: Flow C859. ; Local behavior: Executes the decoded flow c859 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C859: ldx CurrentPlayerIndex ; CPU:$C798 PRG:0798 CA ldy Ram_0400,x ; CPU:$C799 PRG:0799 D0 F5 dey ; CPU:$C79B PRG:079B F0 20 ; ----------------------------------------------------------------------------- ; Global purpose: Flow C85 F. ; Local behavior: Executes the decoded flow c85 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C85F: cpy #$06 ; CPU:$C79D PRG:079D A0 00 bcc Flow_C86B ; CPU:$C79F PRG:079F A2 04 tya ; CPU:$C7A1 PRG:07A1 B9 F3 C7 sec ; CPU:$C7A4 PRG:07A4 91 32 sbc #$06 ; CPU:$C7A6 PRG:07A6 C8 tay ; CPU:$C7A7 PRG:07A7 CA jmp Flow_C85F ; CPU:$C7A8 PRG:07A8 D0 F7 ; ----------------------------------------------------------------------------- ; Global purpose: Flow C86 B. ; Local behavior: Executes the decoded flow c86 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C86B: sty Ram_0402 ; CPU:$C7AA PRG:07AA A9 00 ldy Ram_0400,x ; CPU:$C7AC PRG:07AC 95 30 dey ; CPU:$C7AE PRG:07AE E8 cpy #$06 ; CPU:$C7AF PRG:07AF E0 CF bcc Flow_C878 ; CPU:$C7B1 PRG:07B1 D0 F9 ldy #$05 ; CPU:$C7B3 PRG:07B3 A9 02 ; ----------------------------------------------------------------------------- ; Global purpose: Flow C878. ; Local behavior: Executes the decoded flow c878 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C878: sty Ram_0403 ; CPU:$C7B5 PRG:07B5 85 66 ldy Ram_0402 ; CPU:$C7B7 PRG:07B7 A9 00 lda LookupTable_F247,y ; CPU:$C7B9 PRG:07B9 85 64 sta Ram_071E ; CPU:$C7BB PRG:07BB 85 65 sta Ram_0722 ; CPU:$C7BD PRG:07BD A5 10 sta Ram_046D ; CPU:$C7BF PRG:07BF 09 20 lda LookupTable_F24D,y ; CPU:$C7C1 PRG:07C1 85 10 sta Ram_071D ; CPU:$C7C3 PRG:07C3 85 56 clc ; CPU:$C7C5 PRG:07C5 A9 00 lda #$02 ; CPU:$C7C7 PRG:07C7 85 1B adc Ram_071D ; CPU:$C7C9 PRG:07C9 85 23 sta Ram_0721 ; CPU:$C7CB PRG:07CB 8D 00 04 lda LookupTable_F253,y ; CPU:$C7CE PRG:07CE 8D 01 04 sta Ram_071F ; CPU:$C7D1 PRG:07D1 85 51 clc ; CPU:$C7D3 PRG:07D3 20 E7 C7 lda #$08 ; CPU:$C7D6 PRG:07D6 4C 78 F4 adc Ram_071F ; CPU:$C7D9 PRG:07D9 A9 00 sta Ram_0723 ; CPU:$C7DB PRG:07DB A8 lda LookupTable_F259,y ; CPU:$C7DC PRG:07DC 91 32 sta Ram_071C ; CPU:$C7DE PRG:07DE C8 sta Ram_0720 ; CPU:$C7DF PRG:07DF D0 FB ldx #$07 ; CPU:$C7E1 PRG:07E1 E6 33 lda #$FF ; CPU:$C7E3 PRG:07E3 CA ; ----------------------------------------------------------------------------- ; Global purpose: Flow C8 B5. ; Local behavior: Executes the decoded flow c8 b5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C8B5: sta Ram_0407,x ; CPU:$C7E4 PRG:07E4 D0 F3 dex ; CPU:$C7E6 PRG:07E6 60 bpl Flow_C8B5 ; CPU:$C7E7 PRG:07E7 A9 00 ldx #$07 ; CPU:$C7E9 PRG:07E9 AA lda #$01 ; CPU:$C7EA PRG:07EA 9D 02 04 ; ----------------------------------------------------------------------------- ; Global purpose: Flow C8 BF. ; Local behavior: Executes the decoded flow c8 bf sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C8BF: nop ; CPU:$C7ED PRG:07ED E8 sta Ram_0438,x ; CPU:$C7EE PRG:07EE E0 F9 dex ; CPU:$C7F0 PRG:07F0 D0 F8 bpl Flow_C8BF ; CPU:$C7F2 PRG:07F2 60 ldx #$07 ; CPU:$C7F3 PRG:07F3 ?? lda #$04 ; CPU:$C7F5 PRG:07F5 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C8 CA. ; Local behavior: Executes the decoded flow c8 ca sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C8CA: nop ; CPU:$C7F7 PRG:07F7 ?? sta Ram_0440,x ; CPU:$C7F9 PRG:07F9 ?? dex ; CPU:$C7FB PRG:07FB ?? bpl Flow_C8CA ; CPU:$C7FD PRG:07FD ?? ldx #$07 ; CPU:$C7FF PRG:07FF ?? lda #$00 ; CPU:$C801 PRG:0801 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C8 D5. ; Local behavior: Executes the decoded flow c8 d5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C8D5: sta Ram_0448,x ; CPU:$C803 PRG:0803 ?? dex ; CPU:$C805 PRG:0805 ?? bpl Flow_C8D5 ; CPU:$C807 PRG:0807 ?? sta Ram_040E ; CPU:$C809 PRG:0809 ?? lda #$03 ; CPU:$C80B PRG:080B ?? sta Ram_0447 ; CPU:$C80D PRG:080D ?? lda #$00 ; CPU:$C80F PRG:080F ?? sta Ram_0464 ; CPU:$C811 PRG:0811 ?? sta Ram_0463 ; CPU:$C813 PRG:0813 ?? jsr TransformValue_DA99 ; CPU:$C815 PRG:0815 ?? jsr ProcessGameState_C9DF ; CPU:$C817 PRG:0817 ?? ldx CurrentPlayerIndex ; CPU:$C819 PRG:0819 ?? jsr TransformValue_CA37 ; CPU:$C81B PRG:081B ?? ldx #$02 ; CPU:$C81D PRG:081D ?? jsr TransformValue_CA37 ; CPU:$C81F PRG:081F ?? jsr ProcessGameState_CA87 ; CPU:$C821 PRG:0821 ?? jsr ProcessGameState_CAA7 ; CPU:$C823 PRG:0823 ?? jsr ProcessGameState_C928 ; CPU:$C825 PRG:0825 ?? lda #$3E ; CPU:$C827 PRG:0827 ?? sta Zp_45 ; CPU:$C829 PRG:0829 ?? bne Flow_C918 ; CPU:$C82B PRG:082B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C90 A. ; Local behavior: Executes the decoded flow c90 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C90A: lda #$00 ; CPU:$C82D PRG:082D ?? sta Zp_51 ; CPU:$C82F PRG:082F ?? lda Zp_52 ; CPU:$C831 PRG:0831 ?? bne Flow_C915 ; CPU:$C833 PRG:0833 ?? jsr ProcessGameState_C977 ; CPU:$C835 PRG:0835 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C915. ; Local behavior: Executes the decoded flow c915 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C915: jmp Flow_C850 ; CPU:$C837 PRG:0837 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C918. ; Local behavior: Executes the decoded flow c918 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C918: jsr ProcessGameState_CEBE ; CPU:$C839 PRG:0839 ?? dex ; CPU:$C83B PRG:083B ?? lda LookupTable_C922,x ; CPU:$C83D PRG:083D ?? sta Zp_58 ; CPU:$C83F PRG:083F ?? rts ; CPU:$C841 PRG:0841 ?? LookupTable_C922: .byte $AC,$BC,$CC,$8C,$CC,$AC ; PRG $0922 | CPU $C922 ; CPU:$C843 PRG:0843 AC BC CC 8C CC AC ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C928. ; Local behavior: Executes the decoded process game state c928 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C928: ldx #$C9 ; CPU:$C849 PRG:0849 ?? ldy #$55 ; CPU:$C84B PRG:084B ?? jsr ProcessGameState_C741 ; CPU:$C84D PRG:084D ?? ldx CurrentPlayerIndex ; CPU:$C84F PRG:084F ?? lda Ram_0400,x ; CPU:$C851 PRG:0851 ?? cmp #$17 ; CPU:$C853 PRG:0853 ?? bcc Flow_C93A ; CPU:$C855 PRG:0855 ?? lda #$16 ; CPU:$C857 PRG:0857 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C93 A. ; Local behavior: Executes the decoded flow c93 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C93A: tay ; CPU:$C859 PRG:0859 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C93 B. ; Local behavior: Executes the decoded flow c93 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C93B: jsr ProcessGameState_CE86 ; CPU:$C85B PRG:085B ?? dey ; CPU:$C85D PRG:085D ?? beq Flow_C954 ; CPU:$C85F PRG:085F ?? clc ; CPU:$C861 PRG:0861 ?? lda #$20 ; CPU:$C863 PRG:0863 ?? adc Ram_0501 ; CPU:$C865 PRG:0865 ?? sta Ram_0501 ; CPU:$C867 PRG:0867 ?? lda #$00 ; CPU:$C869 PRG:0869 ?? adc Ram_0500 ; CPU:$C86B PRG:086B ?? sta Ram_0500 ; CPU:$C86D PRG:086D ?? bne Flow_C93B ; CPU:$C86F PRG:086F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C954. ; Local behavior: Executes the decoded flow c954 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C954: rts ; CPU:$C871 PRG:0871 ?? .byte $58,$C9,$04,$20,$C3,$01,$A7 ; PRG $0955 | CPU $C955 ; CPU:$C873 PRG:0873 58 C9 04 20 C3 01 A7 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C95 C. ; Local behavior: Executes the decoded process game state c95 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C95C: clc ; CPU:$C87A PRG:087A ?? lda #$01 ; CPU:$C87C PRG:087C ?? adc Zp_33 ; CPU:$C87E PRG:087E ?? sta Zp_33 ; CPU:$C880 PRG:0880 ?? lda #$00 ; CPU:$C882 PRG:0882 ?? adc Zp_32 ; CPU:$C884 PRG:0884 ?? sta Zp_32 ; CPU:$C886 PRG:0886 ?? clc ; CPU:$C888 PRG:0888 ?? lda #$01 ; CPU:$C88A PRG:088A ?? adc Zp_35 ; CPU:$C88C PRG:088C ?? sta Zp_35 ; CPU:$C88E PRG:088E ?? lda #$00 ; CPU:$C890 PRG:0890 ?? adc Zp_34 ; CPU:$C892 PRG:0892 ?? sta Zp_34 ; CPU:$C894 PRG:0894 ?? rts ; CPU:$C896 PRG:0896 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C977. ; Local behavior: Executes the decoded process game state c977 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C977: jsr DisableBackgroundAndSprites ; CPU:$C898 PRG:0898 ?? ldx #$20 ; CPU:$C89A PRG:089A ?? ldy #$00 ; CPU:$C89C PRG:089C ?? stx Zp_32 ; CPU:$C89E PRG:089E ?? sty Zp_33 ; CPU:$C8A0 PRG:08A0 ?? sty Zp_35 ; CPU:$C8A2 PRG:08A2 ?? ldx #$28 ; CPU:$C8A4 PRG:08A4 ?? stx Zp_34 ; CPU:$C8A6 PRG:08A6 ?? jmp Flow_C98B ; CPU:$C8A8 PRG:08A8 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C98 B. ; Local behavior: Executes the decoded flow c98 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C98B: lda #$30 ; CPU:$C8AA PRG:08AA ?? sta PPUCTRL ; CPU:$C8AC PRG:08AC ?? lda #$08 ; CPU:$C8AE PRG:08AE ?? sta Zp_38 ; CPU:$C8B0 PRG:08B0 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C994. ; Local behavior: Executes the decoded flow c994 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C994: lda #$80 ; CPU:$C8B2 PRG:08B2 ?? sta Zp_39 ; CPU:$C8B4 PRG:08B4 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C998. ; Local behavior: Executes the decoded flow c998 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C998: ldx Zp_32 ; CPU:$C8B6 PRG:08B6 ?? ldy Zp_33 ; CPU:$C8B8 PRG:08B8 ?? jsr SetPpuAddress ; CPU:$C8BA PRG:08BA ?? lda PPUDATA ; CPU:$C8BC PRG:08BC ?? lda PPUDATA ; CPU:$C8BE PRG:08BE ?? sta Zp_36 ; CPU:$C8C0 PRG:08C0 ?? ldx Zp_34 ; CPU:$C8C2 PRG:08C2 ?? ldy Zp_35 ; CPU:$C8C4 PRG:08C4 ?? jsr SetPpuAddress ; CPU:$C8C6 PRG:08C6 ?? lda PPUDATA ; CPU:$C8C8 PRG:08C8 ?? lda PPUDATA ; CPU:$C8CA PRG:08CA ?? sta Zp_37 ; CPU:$C8CC PRG:08CC ?? ldx Zp_32 ; CPU:$C8CE PRG:08CE ?? ldy Zp_33 ; CPU:$C8D0 PRG:08D0 ?? jsr SetPpuAddress ; CPU:$C8D2 PRG:08D2 ?? lda Zp_37 ; CPU:$C8D4 PRG:08D4 ?? sta PPUDATA ; CPU:$C8D6 PRG:08D6 ?? ldx Zp_34 ; CPU:$C8D8 PRG:08D8 ?? ldy Zp_35 ; CPU:$C8DA PRG:08DA ?? jsr SetPpuAddress ; CPU:$C8DC PRG:08DC ?? lda Zp_36 ; CPU:$C8DE PRG:08DE ?? sta PPUDATA ; CPU:$C8E0 PRG:08E0 ?? jsr ProcessGameState_C95C ; CPU:$C8E2 PRG:08E2 ?? dec Zp_39 ; CPU:$C8E4 PRG:08E4 ?? bne Flow_C998 ; CPU:$C8E6 PRG:08E6 ?? dec Zp_38 ; CPU:$C8E8 PRG:08E8 ?? bne Flow_C994 ; CPU:$C8EA PRG:08EA ?? lda #$B0 ; CPU:$C8EC PRG:08EC ?? sta PPUCTRL ; CPU:$C8EE PRG:08EE ?? rts ; CPU:$C8F0 PRG:08F0 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C9 DF. ; Local behavior: Executes the decoded process game state c9 df sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C9DF: ldx #$F2 ; CPU:$C8F2 PRG:08F2 ?? ldy #$10 ; CPU:$C8F4 PRG:08F4 ?? jsr ProcessGameState_CA31 ; CPU:$C8F6 PRG:08F6 ?? lda CurrentPlayerIndex ; CPU:$C8F8 PRG:08F8 ?? bne Flow_C9F1 ; CPU:$C8FA PRG:08FA ?? ldx #$F1 ; CPU:$C8FC PRG:08FC ?? ldy #$FE ; CPU:$C8FE PRG:08FE ?? jmp ProcessGameState_CA31 ; CPU:$C900 PRG:0900 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow C9 F1. ; Local behavior: Executes the decoded flow c9 f1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_C9F1: ldx #$F2 ; CPU:$C902 PRG:0902 ?? ldy #$18 ; CPU:$C904 PRG:0904 ?? jsr ProcessGameState_CA31 ; CPU:$C906 PRG:0906 ?? rts ; CPU:$C908 PRG:0908 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State C9 F9. ; Local behavior: Executes the decoded process game state c9 f9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_C9F9: lda Zp_45 ; CPU:$C90A PRG:090A ?? and #$3F ; CPU:$C90C PRG:090C ?? bne Flow_CA1A ; CPU:$C90E PRG:090E ?? lda CurrentPlayerIndex ; CPU:$C910 PRG:0910 ?? bne Flow_CA0F ; CPU:$C912 PRG:0912 ?? ldx GameMode ; CPU:$C914 PRG:0914 ?? beq Flow_CA0E ; CPU:$C916 PRG:0916 ?? ldx #$F2 ; CPU:$C918 PRG:0918 ?? ldy #$07 ; CPU:$C91A PRG:091A ?? jsr ProcessGameState_CA31 ; CPU:$C91C PRG:091C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CA0 E. ; Local behavior: Executes the decoded flow ca0 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CA0E: rts ; CPU:$C91E PRG:091E ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CA0 F. ; Local behavior: Executes the decoded flow ca0 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CA0F: ldx GameMode ; CPU:$C920 PRG:0920 ?? beq Flow_CA0E ; CPU:$C922 PRG:0922 ?? ldx #$F2 ; CPU:$C924 PRG:0924 ?? ldy #$21 ; CPU:$C926 PRG:0926 ?? jmp ProcessGameState_CA31 ; CPU:$C928 PRG:0928 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CA1 A. ; Local behavior: Executes the decoded flow ca1 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CA1A: cmp #$0F ; CPU:$C92A PRG:092A ?? bne Flow_CA30 ; CPU:$C92C PRG:092C ?? lda CurrentPlayerIndex ; CPU:$C92E PRG:092E ?? bne Flow_CA29 ; CPU:$C930 PRG:0930 ?? ldx #$F1 ; CPU:$C932 PRG:0932 ?? ldy #$FE ; CPU:$C934 PRG:0934 ?? jmp ProcessGameState_CA31 ; CPU:$C936 PRG:0936 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CA29. ; Local behavior: Executes the decoded flow ca29 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CA29: ldx #$F2 ; CPU:$C938 PRG:0938 ?? ldy #$18 ; CPU:$C93A PRG:093A ?? jsr ProcessGameState_CA31 ; CPU:$C93C PRG:093C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CA30. ; Local behavior: Executes the decoded flow ca30 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CA30: rts ; CPU:$C93E PRG:093E ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CA31. ; Local behavior: Executes the decoded process game state ca31 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CA31: jsr ProcessGameState_C741 ; CPU:$C940 PRG:0940 ?? jmp ProcessGameState_CE86 ; CPU:$C942 PRG:0942 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Transform Value CA37. ; Local behavior: Executes the decoded transform value ca37 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- TransformValue_CA37: cpx #$06 ; CPU:$C944 PRG:0944 ?? bcs Flow_CA73 ; CPU:$C946 PRG:0946 ?? txa ; CPU:$C948 PRG:0948 ?? asl a ; CPU:$C94A PRG:094A ?? tay ; CPU:$C94C PRG:094C ?? cpx #$00 ; CPU:$C94E PRG:094E ?? beq Flow_CA52 ; CPU:$C950 PRG:0950 ?? cpx #$01 ; CPU:$C952 PRG:0952 ?? beq Flow_CA56 ; CPU:$C954 PRG:0954 ?? cpx #$03 ; CPU:$C956 PRG:0956 ?? beq Flow_CA52 ; CPU:$C958 PRG:0958 ?? cpx #$05 ; CPU:$C95A PRG:095A ?? beq Flow_CA56 ; CPU:$C95C PRG:095C ?? lda #$64 ; CPU:$C95E PRG:095E ?? bne Flow_CA58 ; CPU:$C960 PRG:0960 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CA52. ; Local behavior: Executes the decoded flow ca52 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CA52: lda #$5E ; CPU:$C962 PRG:0962 ?? bne Flow_CA58 ; CPU:$C964 PRG:0964 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CA56. ; Local behavior: Executes the decoded flow ca56 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CA56: lda #$61 ; CPU:$C966 PRG:0966 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CA58. ; Local behavior: Executes the decoded flow ca58 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CA58: sta Zp_32 ; CPU:$C968 PRG:0968 ?? lda #$00 ; CPU:$C96A PRG:096A ?? sta Zp_33 ; CPU:$C96C PRG:096C ?? lda LookupTable_CA74,y ; CPU:$C96E PRG:096E ?? sta Zp_34 ; CPU:$C970 PRG:0970 ?? lda LookupTable_CA75,y ; CPU:$C972 PRG:0972 ?? sta Zp_35 ; CPU:$C974 PRG:0974 ?? lda #$06 ; CPU:$C976 PRG:0976 ?? sta Zp_36 ; CPU:$C978 PRG:0978 ?? ldx #$00 ; CPU:$C97A PRG:097A ?? ldy #$32 ; CPU:$C97C PRG:097C ?? jsr DecodeAttributeStream ; CPU:$C97E PRG:097E ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CA73. ; Local behavior: Executes the decoded flow ca73 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CA73: rts ; CPU:$C980 PRG:0980 ?? LookupTable_CA74: .byte $67 ; PRG $0A74 | CPU $CA74 ; CPU:$C982 PRG:0982 67 LookupTable_CA75: .byte $20,$67,$20,$71,$20,$66,$20,$6F,$20,$79,$20 ; PRG $0A75 | CPU $CA75 ; CPU:$C983 PRG:0983 20 67 20 71 20 66 20 6F 20 79 20 ; ----------------------------------------------------------------------------- ; Global purpose: Run Frame Synchronized Task CA80. ; Local behavior: Executes the decoded run frame synchronized task ca80 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- RunFrameSynchronizedTask_CA80: jsr WaitForNmi ; CPU:$C98E PRG:098E ?? dex ; CPU:$C990 PRG:0990 ?? bne RunFrameSynchronizedTask_CA80 ; CPU:$C992 PRG:0992 ?? rts ; CPU:$C994 PRG:0994 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CA87. ; Local behavior: Executes the decoded process game state ca87 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CA87: ldx #$CA ; CPU:$C996 PRG:0996 ?? ldy #$A0 ; CPU:$C998 PRG:0998 ?? jsr ProcessGameState_C741 ; CPU:$C99A PRG:099A ?? jsr ProcessGameState_CE86 ; CPU:$C99C PRG:099C ?? lda #$7D ; CPU:$C99E PRG:099E ?? sta Zp_34 ; CPU:$C9A0 PRG:09A0 ?? lda #$20 ; CPU:$C9A2 PRG:09A2 ?? sta Zp_35 ; CPU:$C9A4 PRG:09A4 ?? ldx CurrentPlayerIndex ; CPU:$C9A6 PRG:09A6 ?? lda Zp_5A,x ; CPU:$C9A8 PRG:09A8 ?? jmp Flow_CAC7 ; CPU:$C9AA PRG:09AA ?? .byte $A3,$CA,$04,$20,$7C,$01,$A6 ; PRG $0AA0 | CPU $CAA0 ; CPU:$C9AC PRG:09AC A3 CA 04 20 7C 01 A6 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CAA7. ; Local behavior: Executes the decoded process game state caa7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CAA7: ldx #$CA ; CPU:$C9B3 PRG:09B3 ?? ldy #$C0 ; CPU:$C9B5 PRG:09B5 ?? jsr ProcessGameState_C741 ; CPU:$C9B7 PRG:09B7 ?? jsr ProcessGameState_CE86 ; CPU:$C9B9 PRG:09B9 ?? lda #$79 ; CPU:$C9BB PRG:09BB ?? sta Zp_34 ; CPU:$C9BD PRG:09BD ?? lda #$20 ; CPU:$C9BF PRG:09BF ?? sta Zp_35 ; CPU:$C9C1 PRG:09C1 ?? ldx CurrentPlayerIndex ; CPU:$C9C3 PRG:09C3 ?? lda Zp_5C,x ; CPU:$C9C5 PRG:09C5 ?? jmp Flow_CAC7 ; CPU:$C9C7 PRG:09C7 ?? .byte $C3,$CA,$04,$20,$78,$01,$AF ; PRG $0AC0 | CPU $CAC0 ; CPU:$C9C9 PRG:09C9 C3 CA 04 20 78 01 AF ; ----------------------------------------------------------------------------- ; Global purpose: Flow CAC7. ; Local behavior: Executes the decoded flow cac7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CAC7: sta Zp_37 ; CPU:$C9D0 PRG:09D0 ?? lda #$02 ; CPU:$C9D2 PRG:09D2 ?? sta Zp_36 ; CPU:$C9D4 PRG:09D4 ?? lda #$37 ; CPU:$C9D6 PRG:09D6 ?? sta Zp_32 ; CPU:$C9D8 PRG:09D8 ?? lda #$00 ; CPU:$C9DA PRG:09DA ?? sta Zp_33 ; CPU:$C9DC PRG:09DC ?? ldx #$00 ; CPU:$C9DE PRG:09DE ?? ldy #$32 ; CPU:$C9E0 PRG:09E0 ?? jmp DecodeAttributeStream ; CPU:$C9E2 PRG:09E2 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CADC. ; Local behavior: Executes the decoded process game state cadc sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CADC: ldx CurrentPlayerIndex ; CPU:$C9E4 PRG:09E4 ?? ldy Ram_0400,x ; CPU:$C9E6 PRG:09E6 ?? dey ; CPU:$C9E8 PRG:09E8 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CAE2. ; Local behavior: Executes the decoded flow cae2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CAE2: cpy #$06 ; CPU:$C9EA PRG:09EA ?? bcc Flow_CAEE ; CPU:$C9EC PRG:09EC ?? tya ; CPU:$C9EE PRG:09EE ?? sec ; CPU:$C9F0 PRG:09F0 ?? sbc #$06 ; CPU:$C9F2 PRG:09F2 ?? tay ; CPU:$C9F4 PRG:09F4 ?? jmp Flow_CAE2 ; CPU:$C9F6 PRG:09F6 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CAEE. ; Local behavior: Executes the decoded flow caee sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CAEE: tya ; CPU:$C9F8 PRG:09F8 ?? asl a ; CPU:$C9FA PRG:09FA ?? tay ; CPU:$C9FC PRG:09FC ?? lda LookupTable_F23B,y ; CPU:$C9FE PRG:09FE ?? sta Zp_32 ; CPU:$CA00 PRG:0A00 ?? lda LookupTable_F23C,y ; CPU:$CA02 PRG:0A02 ?? sta Zp_33 ; CPU:$CA04 PRG:0A04 ?? ldy #$00 ; CPU:$CA06 PRG:0A06 ?? ldx #$00 ; CPU:$CA08 PRG:0A08 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CAFF. ; Local behavior: Executes the decoded flow caff sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CAFF: lda (Zp_32),y ; CPU:$CA0A PRG:0A0A ?? cmp #$FF ; CPU:$CA0C PRG:0A0C ?? beq Flow_CB1A ; CPU:$CA0E PRG:0A0E ?? sta OamBuffer,x ; CPU:$CA10 PRG:0A10 ?? iny ; CPU:$CA12 PRG:0A12 ?? inx ; CPU:$CA14 PRG:0A14 ?? txa ; CPU:$CA16 PRG:0A16 ?? and #$03 ; CPU:$CA18 PRG:0A18 ?? cmp #$03 ; CPU:$CA1A PRG:0A1A ?? bne Flow_CAFF ; CPU:$CA1C PRG:0A1C ?? inx ; CPU:$CA1E PRG:0A1E ?? lda #$00 ; CPU:$CA20 PRG:0A20 ?? sta OamBuffer,x ; CPU:$CA22 PRG:0A22 ?? jmp Flow_CAFF ; CPU:$CA24 PRG:0A24 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CB1 A. ; Local behavior: Executes the decoded flow cb1 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CB1A: lda #$00 ; CPU:$CA26 PRG:0A26 ?? sta OamBuffer,x ; CPU:$CA28 PRG:0A28 ?? inx ; CPU:$CA2A PRG:0A2A ?? bne Flow_CB1A ; CPU:$CA2C PRG:0A2C ?? rts ; CPU:$CA2E PRG:0A2E ?? .byte $B9,$02,$02,$85,$34,$84,$42,$A2,$00,$A0,$0D,$A5,$42,$DD,$01,$06 ; PRG $0B23 | CPU $CB23 ; CPU:$CA30 PRG:0A30 B9 02 02 85 34 84 42 A2 00 A0 0D A5 42 DD 01 06 .byte $F0,$07,$E8,$88,$D0,$F7,$A4,$42,$60,$8A,$0A,$0A,$0A,$0A,$AA,$A0 ; PRG $0B33 | CPU $CB33 ; CPU:$CA40 PRG:0A40 F0 07 E8 88 D0 F7 A4 42 60 8A 0A 0A 0A 0A AA A0 .byte $04,$A5,$34,$9D,$24,$07,$E8,$E8,$E8,$E8,$88,$D0,$F4,$A4,$42,$60 ; PRG $0B43 | CPU $CB43 ; CPU:$CA50 PRG:0A50 04 A5 34 9D 24 07 E8 E8 E8 E8 88 D0 F4 A4 42 60 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CB53. ; Local behavior: Executes the decoded process game state cb53 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CB53: ldx #$04 ; CPU:$CA60 PRG:0A60 ?? stx Zp_5A ; CPU:$CA62 PRG:0A62 ?? stx Zp_5B ; CPU:$CA64 PRG:0A64 ?? ldx #$00 ; CPU:$CA66 PRG:0A66 ?? lda LookupTable_CB6B,x ; CPU:$CA68 PRG:0A68 ?? sta Zp_8B ; CPU:$CA6A PRG:0A6A ?? sta Zp_8C ; CPU:$CA6C PRG:0A6C ?? sta Zp_8D ; CPU:$CA6E PRG:0A6E ?? lda #$05 ; CPU:$CA70 PRG:0A70 ?? sta Zp_5C ; CPU:$CA72 PRG:0A72 ?? sta Zp_5D ; CPU:$CA74 PRG:0A74 ?? rts ; CPU:$CA76 PRG:0A76 ?? LookupTable_CB6B: .byte $02,$03,$04,$05 ; PRG $0B6B | CPU $CB6B ; CPU:$CA78 PRG:0A78 02 03 04 05 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CB6 F. ; Local behavior: Executes the decoded process game state cb6 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CB6F: inc Zp_45 ; CPU:$CA7C PRG:0A7C ?? lda Zp_45 ; CPU:$CA7E PRG:0A7E ?? and #$3F ; CPU:$CA80 PRG:0A80 ?? inc Zp_46 ; CPU:$CA82 PRG:0A82 ?? bne Flow_CB7B ; CPU:$CA84 PRG:0A84 ?? inc Zp_47 ; CPU:$CA86 PRG:0A86 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CB7 B. ; Local behavior: Executes the decoded flow cb7 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CB7B: inc Zp_48 ; CPU:$CA88 PRG:0A88 ?? lda Ram_046B ; CPU:$CA8A PRG:0A8A ?? adc Ram_046C ; CPU:$CA8C PRG:0A8C ?? adc Zp_48 ; CPU:$CA8E PRG:0A8E ?? sta Zp_48 ; CPU:$CA90 PRG:0A90 ?? rts ; CPU:$CA92 PRG:0A92 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CB88. ; Local behavior: Executes the decoded process game state cb88 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CB88: ldx #$23 ; CPU:$CA94 PRG:0A94 ?? ldy #$C0 ; CPU:$CA96 PRG:0A96 ?? jsr WaitForNmiAndSetPpuAddress ; CPU:$CA98 PRG:0A98 ?? lda #$55 ; CPU:$CA9A PRG:0A9A ?? ldy #$08 ; CPU:$CA9C PRG:0A9C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CB93. ; Local behavior: Executes the decoded flow cb93 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CB93: sta PPUDATA ; CPU:$CA9E PRG:0A9E ?? dey ; CPU:$CAA0 PRG:0AA0 ?? bne Flow_CB93 ; CPU:$CAA2 PRG:0AA2 ?? ldx #$CB ; CPU:$CAA4 PRG:0AA4 ?? ldy #$B5 ; CPU:$CAA6 PRG:0AA6 ?? jsr ProcessGameState_C741 ; CPU:$CAA8 PRG:0AA8 ?? lda #$06 ; CPU:$CAAA PRG:0AAA ?? sta Zp_3C ; CPU:$CAAC PRG:0AAC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CBA4. ; Local behavior: Executes the decoded flow cba4 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CBA4: jsr ProcessGameState_CE86 ; CPU:$CAAE PRG:0AAE ?? lda Ram_0501 ; CPU:$CAB0 PRG:0AB0 ?? clc ; CPU:$CAB2 PRG:0AB2 ?? adc #$08 ; CPU:$CAB4 PRG:0AB4 ?? sta Ram_0501 ; CPU:$CAB6 PRG:0AB6 ?? dec Zp_3C ; CPU:$CAB8 PRG:0AB8 ?? bne Flow_CBA4 ; CPU:$CABA PRG:0ABA ?? rts ; CPU:$CABC PRG:0ABC ?? .byte $B8,$CB,$09,$23,$C9,$06,$CC,$33,$FF,$CC,$33,$FF ; PRG $0BB5 | CPU $CBB5 ; CPU:$CABE PRG:0ABE B8 CB 09 23 C9 06 CC 33 FF CC 33 FF ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CBC1. ; Local behavior: Executes the decoded process game state cbc1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CBC1: ldx #$EA ; CPU:$CACA PRG:0ACA ?? ldy #$CB ; CPU:$CACC PRG:0ACC ?? stx Zp_3A ; CPU:$CACE PRG:0ACE ?? sty Zp_3B ; CPU:$CAD0 PRG:0AD0 ?? ldy #$00 ; CPU:$CAD2 PRG:0AD2 ?? sty Zp_3C ; CPU:$CAD4 PRG:0AD4 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CBCD. ; Local behavior: Executes the decoded flow cbcd sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CBCD: lda Zp_3C ; CPU:$CAD6 PRG:0AD6 ?? asl a ; CPU:$CAD8 PRG:0AD8 ?? tay ; CPU:$CADA PRG:0ADA ?? lda (Zp_3A),y ; CPU:$CADC PRG:0ADC ?? sta Zp_44 ; CPU:$CADE PRG:0ADE ?? iny ; CPU:$CAE0 PRG:0AE0 ?? lda (Zp_3A),y ; CPU:$CAE2 PRG:0AE2 ?? tax ; CPU:$CAE4 PRG:0AE4 ?? ldy Zp_44 ; CPU:$CAE6 PRG:0AE6 ?? jsr ProcessGameState_C741 ; CPU:$CAE8 PRG:0AE8 ?? jsr ProcessGameState_CE86 ; CPU:$CAEA PRG:0AEA ?? inc Zp_3C ; CPU:$CAEC PRG:0AEC ?? lda Zp_3C ; CPU:$CAEE PRG:0AEE ?? cmp #$08 ; CPU:$CAF0 PRG:0AF0 ?? bne Flow_CBCD ; CPU:$CAF2 PRG:0AF2 ?? rts ; CPU:$CAF4 PRG:0AF4 ?? .byte $FA,$CB,$03,$CC,$0C,$CC,$15,$CC,$1C,$CC,$35,$CC,$4D,$CC,$65,$CC ; PRG $0BEA | CPU $CBEA ; CPU:$CAF6 PRG:0AF6 FA CB 03 CC 0C CC 15 CC 1C CC 35 CC 4D CC 65 CC .byte $FD,$CB,$06,$20,$E8,$03,$C3,$C4,$C5,$06,$CC,$06,$20,$F4,$03,$C6 ; PRG $0BFA | CPU $CBFA ; CPU:$CB06 PRG:0B06 FD CB 06 20 E8 03 C3 C4 C5 06 CC 06 20 F4 03 C6 .byte $C7,$C8,$0F,$CC,$06,$21,$08,$03,$C9,$CA,$CB,$18,$CC,$04,$21,$15 ; PRG $0C0A | CPU $CC0A ; CPU:$CB16 PRG:0B16 C7 C8 0F CC 06 21 08 03 C9 CA CB 18 CC 04 21 15 .byte $01,$CC,$1F,$CC,$16,$21,$28,$13,$CD,$CE,$CF,$D0,$D1,$D2,$D3,$D4 ; PRG $0C1A | CPU $CC1A ; CPU:$CB26 PRG:0B26 01 CC 1F CC 16 21 28 13 CD CE CF D0 D1 D2 D3 D4 .byte $D5,$D6,$D1,$D2,$D7,$D8,$D9,$DA,$D5,$D6,$B9,$38,$CC,$15,$21,$48 ; PRG $0C2A | CPU $CC2A ; CPU:$CB36 PRG:0B36 D5 D6 D1 D2 D7 D8 D9 DA D5 D6 B9 38 CC 15 21 48 .byte $12,$DB,$DC,$DD,$DE,$DF,$00,$E0,$E1,$E2,$E3,$DF,$00,$E4,$E5,$E6 ; PRG $0C3A | CPU $CC3A ; CPU:$CB46 PRG:0B46 12 DB DC DD DE DF 00 E0 E1 E2 E3 DF 00 E4 E5 E6 .byte $E7,$E2,$E3,$50,$CC,$15,$21,$68,$12,$E8,$E8,$E8,$E8,$E8,$E8,$E9 ; PRG $0C4A | CPU $CC4A ; CPU:$CB56 PRG:0B56 E7 E2 E3 50 CC 15 21 68 12 E8 E8 E8 E8 E8 E8 E9 .byte $EA,$E8,$E8,$E8,$E8,$E8,$E8,$E8,$E8,$E8,$E8,$68,$CC,$15,$23,$C9 ; PRG $0C5A | CPU $CC5A ; CPU:$CB66 PRG:0B66 EA E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 68 CC 15 23 C9 .byte $12,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; PRG $0C6A | CPU $CC6A ; CPU:$CB76 PRG:0B76 12 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF,$FF,$EF ; PRG $0C7A | CPU $CC7A ; CPU:$CB86 PRG:0B86 FF FF EF ; ----------------------------------------------------------------------------- ; Global purpose: Transform Value CC7 D. ; Local behavior: Executes the decoded transform value cc7 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- TransformValue_CC7D: jsr ProcessGameState_CEBE ; CPU:$CB89 PRG:0B89 ?? dex ; CPU:$CB8B PRG:0B8B ?? txa ; CPU:$CB8D PRG:0B8D ?? asl a ; CPU:$CB8F PRG:0B8F ?? ldx #$09 ; CPU:$CB91 PRG:0B91 ?? ldy #$CD ; CPU:$CB93 PRG:0B93 ?? stx Zp_32 ; CPU:$CB95 PRG:0B95 ?? sty Zp_33 ; CPU:$CB97 PRG:0B97 ?? jmp Flow_CC9F ; CPU:$CB99 PRG:0B99 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Transform Value CC8 E. ; Local behavior: Executes the decoded transform value cc8 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- TransformValue_CC8E: jsr ProcessGameState_CEBE ; CPU:$CB9B PRG:0B9B ?? dex ; CPU:$CB9D PRG:0B9D ?? txa ; CPU:$CB9F PRG:0B9F ?? asl a ; CPU:$CBA1 PRG:0BA1 ?? ldx #$3B ; CPU:$CBA3 PRG:0BA3 ?? ldy #$F2 ; CPU:$CBA5 PRG:0BA5 ?? stx Zp_32 ; CPU:$CBA7 PRG:0BA7 ?? sty Zp_33 ; CPU:$CBA9 PRG:0BA9 ?? jmp Flow_CC9F ; CPU:$CBAB PRG:0BAB ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CC9 F. ; Local behavior: Executes the decoded flow cc9 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CC9F: jsr WaitForPpuVblank ; CPU:$CBAD PRG:0BAD ?? ldy #$30 ; CPU:$CBAF PRG:0BAF ?? sty PPUCTRL ; CPU:$CBB1 PRG:0BB1 ?? tay ; CPU:$CBB3 PRG:0BB3 ?? lda (Zp_32),y ; CPU:$CBB5 PRG:0BB5 ?? sta Zp_34 ; CPU:$CBB7 PRG:0BB7 ?? iny ; CPU:$CBB9 PRG:0BB9 ?? lda (Zp_32),y ; CPU:$CBBB PRG:0BBB ?? sta Zp_35 ; CPU:$CBBD PRG:0BBD ?? ldy #$00 ; CPU:$CBBF PRG:0BBF ?? lda (Zp_34),y ; CPU:$CBC1 PRG:0BC1 ?? cmp #$FF ; CPU:$CBC3 PRG:0BC3 ?? beq Flow_CCE0 ; CPU:$CBC5 PRG:0BC5 ?? sta Zp_44 ; CPU:$CBC7 PRG:0BC7 ?? and #$0F ; CPU:$CBC9 PRG:0BC9 ?? sty Zp_42 ; CPU:$CBCB PRG:0BCB ?? sta Zp_36 ; CPU:$CBCD PRG:0BCD ?? asl a ; CPU:$CBCF PRG:0BCF ?? tax ; CPU:$CBD1 PRG:0BD1 ?? lda LookupTable_CCE9,x ; CPU:$CBD3 PRG:0BD3 ?? sta Zp_36 ; CPU:$CBD5 PRG:0BD5 ?? inx ; CPU:$CBD7 PRG:0BD7 ?? lda LookupTable_CCE9,x ; CPU:$CBD9 PRG:0BD9 ?? sta Zp_37 ; CPU:$CBDB PRG:0BDB ?? ldx #$00 ; CPU:$CBDD PRG:0BDD ?? ldy #$05 ; CPU:$CBDF PRG:0BDF ?? stx Zp_32 ; CPU:$CBE1 PRG:0BE1 ?? sty Zp_33 ; CPU:$CBE3 PRG:0BE3 ?? jsr ProcessGameState_CE25 ; CPU:$CBE5 PRG:0BE5 ?? lda Zp_44 ; CPU:$CBE7 PRG:0BE7 ?? ldy Zp_42 ; CPU:$CBE9 PRG:0BE9 ?? jmp (Zp_36) ; CPU:$CBEB PRG:0BEB ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CCE0. ; Local behavior: Executes the decoded flow cce0 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CCE0: jsr ProcessGameState_CEC8 ; CPU:$CBED PRG:0BED ?? lda #$B0 ; CPU:$CBEF PRG:0BEF ?? sta PPUCTRL ; CPU:$CBF1 PRG:0BF1 ?? rts ; CPU:$CBF3 PRG:0BF3 ?? LookupTable_CCE9: .byte $02,$CE,$95,$CD,$BD,$CD,$A5,$CD,$9D,$CD,$B5,$CD,$AD,$CD,$15,$CD ; PRG $0CE9 | CPU $CCE9 ; CPU:$CBF5 PRG:0BF5 02 CE 95 CD BD CD A5 CD 9D CD B5 CD AD CD 15 CD .byte $2B,$CD,$3F,$CD,$52,$CD,$6F,$CD,$02,$CE,$02,$CE,$02,$CE,$C5,$CD ; PRG $0CF9 | CPU $CCF9 ; CPU:$CC05 PRG:0C05 2B CD 3F CD 52 CD 6F CD 02 CE 02 CE 02 CE C5 CD .byte $41,$EB,$FC,$EB,$DB,$EC,$ED,$ED,$D2,$EE,$90,$EF,$29,$F0,$4A,$4A ; PRG $0D09 | CPU $CD09 ; CPU:$CC15 PRG:0C15 41 EB FC EB DB EC ED ED D2 EE 90 EF 29 F0 4A 4A .byte $4A,$8D,$02,$05,$AA,$A0,$03,$A9,$A1,$91,$32,$C8,$CA,$D0,$FA,$4C ; PRG $0D19 | CPU $CD19 ; CPU:$CC25 PRG:0C25 4A 8D 02 05 AA A0 03 A9 A1 91 32 C8 CA D0 FA 4C .byte $FF,$CD,$A9,$04,$8D,$02,$05,$A2,$04,$A9,$A1,$A0,$03,$91,$32,$C8 ; PRG $0D29 | CPU $CD29 ; CPU:$CC35 PRG:0C35 FF CD A9 04 8D 02 05 A2 04 A9 A1 A0 03 91 32 C8 .byte $CA,$D0,$FA,$4C,$FF,$CD,$A9,$02,$8D,$02,$05,$A0,$03,$A9,$A3,$91 ; PRG $0D39 | CPU $CD39 ; CPU:$CC45 PRG:0C45 CA D0 FA 4C FF CD A9 02 8D 02 05 A0 03 A9 A3 91 .byte $32,$C8,$A9,$A4,$91,$32,$4C,$FF,$CD,$A9,$04,$8D,$02,$05,$A0,$03 ; PRG $0D49 | CPU $CD49 ; CPU:$CC55 PRG:0C55 32 C8 A9 A4 91 32 4C FF CD A9 04 8D 02 05 A0 03 .byte $A9,$A1,$91,$32,$C8,$A9,$A3,$91,$32,$C8,$A9,$A4,$91,$32,$C8,$A9 ; PRG $0D59 | CPU $CD59 ; CPU:$CC65 PRG:0C65 A9 A1 91 32 C8 A9 A3 91 32 C8 A9 A4 91 32 C8 A9 .byte $A1,$91,$32,$4C,$FF,$CD,$29,$F0,$4A,$4A,$4A,$4A,$AA,$A9,$02,$8D ; PRG $0D69 | CPU $CD69 ; CPU:$CC75 PRG:0C75 A1 91 32 4C FF CD 29 F0 4A 4A 4A 4A AA A9 02 8D .byte $02,$05,$A0,$03,$A9,$9F,$91,$32,$C8,$A9,$A0,$91,$32,$20,$97,$CE ; PRG $0D79 | CPU $CD79 ; CPU:$CC85 PRG:0C85 02 05 A0 03 A9 9F 91 32 C8 A9 A0 91 32 20 97 CE .byte $18,$A9,$20,$20,$73,$CE,$CA,$D0,$E4,$4C,$02,$CE,$A9,$4A,$20,$11 ; PRG $0D89 | CPU $CD89 ; CPU:$CC95 PRG:0C95 18 A9 20 20 73 CE CA D0 E4 4C 02 CE A9 4A 20 11 .byte $CE,$4C,$FF,$CD,$A9,$5A,$20,$11,$CE,$4C,$FF,$CD,$A9,$56,$20,$11 ; PRG $0D99 | CPU $CD99 ; CPU:$CCA5 PRG:0CA5 CE 4C FF CD A9 5A 20 11 CE 4C FF CD A9 56 20 11 .byte $CE,$4C,$FF,$CD,$A9,$62,$20,$11,$CE,$4C,$FF,$CD,$A9,$5E,$20,$11 ; PRG $0DA9 | CPU $CDA9 ; CPU:$CCB5 PRG:0CB5 CE 4C FF CD A9 62 20 11 CE 4C FF CD A9 5E 20 11 .byte $CE,$4C,$FF,$CD,$A9,$4E,$20,$11,$CE,$4C,$FF,$CD,$A9,$01,$8D,$02 ; PRG $0DB9 | CPU $CDB9 ; CPU:$CCC5 PRG:0CC5 CE 4C FF CD A9 4E 20 11 CE 4C FF CD A9 01 8D 02 .byte $05,$A0,$03,$A9,$96,$91,$32,$20,$97,$CE,$18,$A9,$05,$20,$73,$CE ; PRG $0DC9 | CPU $CDC9 ; CPU:$CCD5 PRG:0CD5 05 A0 03 A9 96 91 32 20 97 CE 18 A9 05 20 73 CE .byte $A9,$98,$91,$32,$20,$97,$CE,$A9,$1B,$20,$73,$CE,$A9,$06,$8D,$02 ; PRG $0DD9 | CPU $CDD9 ; CPU:$CCE5 PRG:0CE5 A9 98 91 32 20 97 CE A9 1B 20 73 CE A9 06 8D 02 .byte $05,$A0,$03,$A9,$97,$91,$32,$C8,$A2,$04,$A9,$9E,$91,$32,$C8,$CA ; PRG $0DE9 | CPU $CDE9 ; CPU:$CCF5 PRG:0CF5 05 A0 03 A9 97 91 32 C8 A2 04 A9 9E 91 32 C8 CA .byte $D0,$FA,$A9,$99,$91,$32,$20,$97,$CE,$A4,$42,$C8,$C8,$C8,$84,$42 ; PRG $0DF9 | CPU $CDF9 ; CPU:$CD05 PRG:0D05 D0 FA A9 99 91 32 20 97 CE A4 42 C8 C8 C8 84 42 .byte $D0,$03,$20,$6B,$CE,$4C,$B3,$CC,$A0,$03,$A2,$04,$8E,$02,$05,$85 ; PRG $0E09 | CPU $CE09 ; CPU:$CD15 PRG:0D15 D0 03 20 6B CE 4C B3 CC A0 03 A2 04 8E 02 05 85 .byte $38,$A5,$38,$91,$32,$C8,$E6,$38,$CA,$D0,$F6,$60 ; PRG $0E19 | CPU $CE19 ; CPU:$CD25 PRG:0D25 38 A5 38 91 32 C8 E6 38 CA D0 F6 60 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CE25. ; Local behavior: Executes the decoded process game state ce25 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CE25: sty Zp_38 ; CPU:$CD31 PRG:0D31 ?? ldy Zp_42 ; CPU:$CD33 PRG:0D33 ?? lda (Zp_34),y ; CPU:$CD35 PRG:0D35 ?? sta Zp_3C ; CPU:$CD37 PRG:0D37 ?? lda #$00 ; CPU:$CD39 PRG:0D39 ?? sta Ram_0500 ; CPU:$CD3B PRG:0D3B ?? iny ; CPU:$CD3D PRG:0D3D ?? bne Flow_CE38 ; CPU:$CD3F PRG:0D3F ?? jsr ProcessGameState_CE6B ; CPU:$CD41 PRG:0D41 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CE38. ; Local behavior: Executes the decoded flow ce38 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CE38: lda (Zp_34),y ; CPU:$CD43 PRG:0D43 ?? sta Zp_39 ; CPU:$CD45 PRG:0D45 ?? iny ; CPU:$CD47 PRG:0D47 ?? bne Flow_CE42 ; CPU:$CD49 PRG:0D49 ?? jsr ProcessGameState_CE6B ; CPU:$CD4B PRG:0D4B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CE42. ; Local behavior: Executes the decoded flow ce42 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CE42: lda (Zp_34),y ; CPU:$CD4D PRG:0D4D ?? sta Ram_0501 ; CPU:$CD4F PRG:0D4F ?? asl Ram_0501 ; CPU:$CD51 PRG:0D51 ?? rol Ram_0500 ; CPU:$CD53 PRG:0D53 ?? asl Ram_0501 ; CPU:$CD55 PRG:0D55 ?? rol Ram_0500 ; CPU:$CD57 PRG:0D57 ?? lda Zp_3C ; CPU:$CD59 PRG:0D59 ?? cmp #$0F ; CPU:$CD5B PRG:0D5B ?? bne Flow_CE60 ; CPU:$CD5D PRG:0D5D ?? lda Zp_39 ; CPU:$CD5F PRG:0D5F ?? sec ; CPU:$CD61 PRG:0D61 ?? sbc #$08 ; CPU:$CD63 PRG:0D63 ?? bne Flow_CE62 ; CPU:$CD65 PRG:0D65 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CE60. ; Local behavior: Executes the decoded flow ce60 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CE60: lda Zp_39 ; CPU:$CD67 PRG:0D67 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CE62. ; Local behavior: Executes the decoded flow ce62 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CE62: lsr a ; CPU:$CD69 PRG:0D69 ?? lsr a ; CPU:$CD6B PRG:0D6B ?? lsr a ; CPU:$CD6D PRG:0D6D ?? jsr ProcessGameState_DA80 ; CPU:$CD6F PRG:0D6F ?? ldy Zp_38 ; CPU:$CD71 PRG:0D71 ?? rts ; CPU:$CD73 PRG:0D73 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CE6 B. ; Local behavior: Executes the decoded process game state ce6 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CE6B: clc ; CPU:$CD75 PRG:0D75 ?? lda #$01 ; CPU:$CD77 PRG:0D77 ?? adc Zp_35 ; CPU:$CD79 PRG:0D79 ?? sta Zp_35 ; CPU:$CD7B PRG:0D7B ?? rts ; CPU:$CD7D PRG:0D7D ?? .byte $84,$36,$A0,$01,$18,$71,$32,$91,$32,$88,$A9,$00,$71,$32,$91,$32 ; PRG $0E73 | CPU $CE73 ; CPU:$CD7F PRG:0D7F 84 36 A0 01 18 71 32 91 32 88 A9 00 71 32 91 32 .byte $A4,$36,$60 ; PRG $0E83 | CPU $CE83 ; CPU:$CD8F PRG:0D8F A4 36 60 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CE86. ; Local behavior: Executes the decoded process game state ce86 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CE86: stx Zp_36 ; CPU:$CD92 PRG:0D92 ?? sty Zp_37 ; CPU:$CD94 PRG:0D94 ?? lda #$FF ; CPU:$CD96 PRG:0D96 ?? sta StageCompleteFlag ; CPU:$CD98 PRG:0D98 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CE8 E. ; Local behavior: Executes the decoded flow ce8 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CE8E: lda StageCompleteFlag ; CPU:$CD9A PRG:0D9A ?? bne Flow_CE8E ; CPU:$CD9C PRG:0D9C ?? ldx Zp_36 ; CPU:$CD9E PRG:0D9E ?? ldy Zp_37 ; CPU:$CDA0 PRG:0DA0 ?? rts ; CPU:$CDA2 PRG:0DA2 ?? .byte $86,$36,$84,$37,$20,$A3,$CE,$A6,$36,$A4,$37,$60 ; PRG $0E97 | CPU $CE97 ; CPU:$CDA4 PRG:0DA4 86 36 84 37 20 A3 CE A6 36 A4 37 60 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CEA3. ; Local behavior: Executes the decoded process game state cea3 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CEA3: ldx Ram_0500 ; CPU:$CDB0 PRG:0DB0 ?? ldy Ram_0501 ; CPU:$CDB2 PRG:0DB2 ?? jsr SetPpuAddress ; CPU:$CDB4 PRG:0DB4 ?? ldy #$03 ; CPU:$CDB6 PRG:0DB6 ?? ldx Ram_0502 ; CPU:$CDB8 PRG:0DB8 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CEB1. ; Local behavior: Executes the decoded flow ceb1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CEB1: lda Ram_0500,y ; CPU:$CDBA PRG:0DBA ?? sta PPUDATA ; CPU:$CDBC PRG:0DBC ?? iny ; CPU:$CDBE PRG:0DBE ?? dex ; CPU:$CDC0 PRG:0DC0 ?? bne Flow_CEB1 ; CPU:$CDC2 PRG:0DC2 ?? jmp SetDefaultScroll ; CPU:$CDC4 PRG:0DC4 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CEBE. ; Local behavior: Executes the decoded process game state cebe sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CEBE: ldx Zp_1B ; CPU:$CDC6 PRG:0DC6 ?? lda CurrentPlayerIndex ; CPU:$CDC8 PRG:0DC8 ?? beq Flow_CEC6 ; CPU:$CDCA PRG:0DCA ?? ldx Zp_23 ; CPU:$CDCC PRG:0DCC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CEC6. ; Local behavior: Executes the decoded flow cec6 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CEC6: txa ; CPU:$CDCE PRG:0DCE ?? rts ; CPU:$CDD0 PRG:0DD0 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CEC8. ; Local behavior: Executes the decoded process game state cec8 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CEC8: lda #$00 ; CPU:$CDD2 PRG:0DD2 ?? ldx #$CE ; CPU:$CDD4 PRG:0DD4 ?? ldy #$DA ; CPU:$CDD6 PRG:0DD6 ?? jsr LoadPalette ; CPU:$CDD8 PRG:0DD8 ?? lda #$01 ; CPU:$CDDA PRG:0DDA ?? ldx #$CE ; CPU:$CDDC PRG:0DDC ?? ldy #$EA ; CPU:$CDDE PRG:0DDE ?? jmp LoadPalette ; CPU:$CDE0 PRG:0DE0 ?? .byte $0F,$21,$27,$17,$0F,$30,$35,$28,$0F,$30,$27,$07,$0F,$2A,$27,$17 ; PRG $0EDA | CPU $CEDA ; CPU:$CDE2 PRG:0DE2 0F 21 27 17 0F 30 35 28 0F 30 27 07 0F 2A 27 17 .byte $0F,$16,$30,$27,$0F,$20,$26,$28,$0F,$2A,$30,$16,$0F,$2A,$27,$17 ; PRG $0EEA | CPU $CEEA ; CPU:$CDF2 PRG:0DF2 0F 16 30 27 0F 20 26 28 0F 2A 30 16 0F 2A 27 17 .byte $0A,$86,$43,$84,$42,$A2,$08,$86,$3C,$A2,$64,$A0,$CF ; PRG $0EFA | CPU $CEFA ; CPU:$CE02 PRG:0E02 0A 86 43 84 42 A2 08 86 3C A2 64 A0 CF ; ----------------------------------------------------------------------------- ; Global purpose: Flow CF07. ; Local behavior: Executes the decoded flow cf07 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CF07: stx Zp_3A ; CPU:$CE0F PRG:0E0F ?? sty Zp_3B ; CPU:$CE11 PRG:0E11 ?? tay ; CPU:$CE13 PRG:0E13 ?? lda (Zp_3A),y ; CPU:$CE15 PRG:0E15 ?? sta Zp_44 ; CPU:$CE17 PRG:0E17 ?? iny ; CPU:$CE19 PRG:0E19 ?? lda (Zp_3A),y ; CPU:$CE1B PRG:0E1B ?? tax ; CPU:$CE1D PRG:0E1D ?? ldy Zp_44 ; CPU:$CE1F PRG:0E1F ?? jsr ProcessGameState_C741 ; CPU:$CE21 PRG:0E21 ?? jsr ProcessGameState_CE86 ; CPU:$CE23 PRG:0E23 ?? jsr ProcessGameState_CF54 ; CPU:$CE25 PRG:0E25 ?? jsr ProcessGameState_C741 ; CPU:$CE27 PRG:0E27 ?? jsr ProcessGameState_CE86 ; CPU:$CE29 PRG:0E29 ?? lda Zp_3C ; CPU:$CE2B PRG:0E2B ?? cmp #$08 ; CPU:$CE2D PRG:0E2D ?? bne Flow_CF3F ; CPU:$CE2F PRG:0E2F ?? jsr ProcessGameState_CF54 ; CPU:$CE31 PRG:0E31 ?? jsr ProcessGameState_C741 ; CPU:$CE33 PRG:0E33 ?? jsr ProcessGameState_CE86 ; CPU:$CE35 PRG:0E35 ?? dec Zp_3C ; CPU:$CE37 PRG:0E37 ?? jsr ProcessGameState_CF54 ; CPU:$CE39 PRG:0E39 ?? jsr ProcessGameState_C741 ; CPU:$CE3B PRG:0E3B ?? jsr ProcessGameState_CE86 ; CPU:$CE3D PRG:0E3D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow CF3 F. ; Local behavior: Executes the decoded flow cf3 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_CF3F: ldy Zp_42 ; CPU:$CE3F PRG:0E3F ?? ldx Zp_43 ; CPU:$CE41 PRG:0E41 ?? rts ; CPU:$CE43 PRG:0E43 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Transform Value CF44. ; Local behavior: Executes the decoded transform value cf44 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- TransformValue_CF44: asl a ; CPU:$CE45 PRG:0E45 ?? stx Zp_43 ; CPU:$CE47 PRG:0E47 ?? sty Zp_42 ; CPU:$CE49 PRG:0E49 ?? ldx #$08 ; CPU:$CE4B PRG:0E4B ?? stx Zp_3C ; CPU:$CE4D PRG:0E4D ?? ldx #$70 ; CPU:$CE4F PRG:0E4F ?? ldy #$CF ; CPU:$CE51 PRG:0E51 ?? jmp Flow_CF07 ; CPU:$CE53 PRG:0E53 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State CF54. ; Local behavior: Executes the decoded process game state cf54 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_CF54: sty Zp_32 ; CPU:$CE55 PRG:0E55 ?? stx Zp_33 ; CPU:$CE57 PRG:0E57 ?? clc ; CPU:$CE59 PRG:0E59 ?? lda Zp_3C ; CPU:$CE5B PRG:0E5B ?? adc Zp_32 ; CPU:$CE5D PRG:0E5D ?? tay ; CPU:$CE5F PRG:0E5F ?? lda #$00 ; CPU:$CE61 PRG:0E61 ?? adc Zp_33 ; CPU:$CE63 PRG:0E63 ?? tax ; CPU:$CE65 PRG:0E65 ?? rts ; CPU:$CE67 PRG:0E67 ?? .byte $7C,$CF,$9A,$CF,$B8,$CF,$D6,$CF,$F4,$CF,$12,$D0,$30,$D0,$4E,$D0 ; PRG $0F64 | CPU $CF64 ; CPU:$CE69 PRG:0E69 7C CF 9A CF B8 CF D6 CF F4 CF 12 D0 30 D0 4E D0 .byte $6C,$D0,$8A,$D0,$A8,$D0,$C6,$D0,$7F,$CF,$05,$21,$70,$02,$42,$44 ; PRG $0F74 | CPU $CF74 ; CPU:$CE79 PRG:0E79 6C D0 8A D0 A8 D0 C6 D0 7F CF 05 21 70 02 42 44 .byte $87,$CF,$05,$21,$90,$02,$43,$45,$8F,$CF,$04,$23,$D4,$01,$EC,$96 ; PRG $0F84 | CPU $CF84 ; CPU:$CE89 PRG:0E89 87 CF 05 21 90 02 43 45 8F CF 04 23 D4 01 EC 96 .byte $CF,$04,$23,$DC,$01,$CE,$9D,$CF,$05,$21,$F0,$02,$46,$48,$A5,$CF ; PRG $0F94 | CPU $CF94 ; CPU:$CE99 PRG:0E99 CF 04 23 DC 01 CE 9D CF 05 21 F0 02 46 48 A5 CF .byte $05,$22,$10,$02,$47,$49,$AD,$CF,$04,$23,$DC,$01,$EC,$B4,$CF,$04 ; PRG $0FA4 | CPU $CFA4 ; CPU:$CEA9 PRG:0EA9 05 22 10 02 47 49 AD CF 04 23 DC 01 EC B4 CF 04 .byte $23,$E4,$01,$CE,$BB,$CF,$05,$21,$D0,$02,$3E,$40,$C3,$CF,$05,$21 ; PRG $0FB4 | CPU $CFB4 ; CPU:$CEB9 PRG:0EB9 23 E4 01 CE BB CF 05 21 D0 02 3E 40 C3 CF 05 21 .byte $F0,$02,$3F,$41,$CB,$CF,$04,$23,$DC,$01,$EC,$D2,$CF,$04,$23,$E4 ; PRG $0FC4 | CPU $CFC4 ; CPU:$CEC9 PRG:0EC9 F0 02 3F 41 CB CF 04 23 DC 01 EC D2 CF 04 23 E4 .byte $01,$CC,$D9,$CF,$05,$20,$B0,$02,$42,$44,$E1,$CF,$05,$20,$D0,$02 ; PRG $0FD4 | CPU $CFD4 ; CPU:$CED9 PRG:0ED9 01 CC D9 CF 05 20 B0 02 42 44 E1 CF 05 20 D0 02 .byte $43,$45,$E9,$CF,$04,$23,$CC,$01,$EE,$F0,$CF,$04,$23,$D4,$01,$CC ; PRG $0FE4 | CPU $CFE4 ; CPU:$CEE9 PRG:0EE9 43 45 E9 CF 04 23 CC 01 EE F0 CF 04 23 D4 01 CC .byte $F7,$CF,$05,$21,$16,$02,$46,$48,$FF,$CF,$05,$21,$36,$02,$47,$49 ; PRG $0FF4 | CPU $CFF4 ; CPU:$CEF9 PRG:0EF9 F7 CF 05 21 16 02 46 48 FF CF 05 21 36 02 47 49 .byte $07,$D0,$04,$23,$D5,$01,$3B,$0E,$D0,$04,$23,$DD,$01,$33,$15,$D0 ; PRG $1004 | CPU $D004 ; CPU:$CF09 PRG:0F09 07 D0 04 23 D5 01 3B 0E D0 04 23 DD 01 33 15 D0 .byte $05,$21,$B0,$02,$3E,$40,$1D,$D0,$05,$21,$D0,$02,$3F,$41,$25,$D0 ; PRG $1014 | CPU $D014 ; CPU:$CF19 PRG:0F19 05 21 B0 02 3E 40 1D D0 05 21 D0 02 3F 41 25 D0 .byte $04,$23,$DC,$01,$EE,$2C,$D0,$04,$23,$E4,$01,$CC,$33,$D0,$05,$21 ; PRG $1024 | CPU $D024 ; CPU:$CF29 PRG:0F29 04 23 DC 01 EE 2C D0 04 23 E4 01 CC 33 D0 05 21 .byte $70,$02,$A3,$A4,$3B,$D0,$05,$21,$90,$02,$9F,$A0,$43,$D0,$04,$23 ; PRG $1034 | CPU $D034 ; CPU:$CF39 PRG:0F39 70 02 A3 A4 3B D0 05 21 90 02 9F A0 43 D0 04 23 .byte $D4,$01,$CC,$4A,$D0,$04,$23,$DC,$01,$CC,$51,$D0,$05,$21,$F0,$02 ; PRG $1044 | CPU $D044 ; CPU:$CF49 PRG:0F49 D4 01 CC 4A D0 04 23 DC 01 CC 51 D0 05 21 F0 02 .byte $A3,$A4,$59,$D0,$05,$22,$10,$02,$9F,$A0,$61,$D0,$04,$23,$DC,$01 ; PRG $1054 | CPU $D054 ; CPU:$CF59 PRG:0F59 A3 A4 59 D0 05 22 10 02 9F A0 61 D0 04 23 DC 01 .byte $CC,$68,$D0,$04,$23,$E4,$01,$CC,$6F,$D0,$05,$21,$D0,$02,$9F,$A0 ; PRG $1064 | CPU $D064 ; CPU:$CF69 PRG:0F69 CC 68 D0 04 23 E4 01 CC 6F D0 05 21 D0 02 9F A0 .byte $77,$D0,$05,$21,$F0,$02,$A3,$A4,$7F,$D0,$04,$23,$DC,$01,$CC,$86 ; PRG $1074 | CPU $D074 ; CPU:$CF79 PRG:0F79 77 D0 05 21 F0 02 A3 A4 7F D0 04 23 DC 01 CC 86 .byte $D0,$04,$23,$E4,$01,$CC,$8D,$D0,$05,$20,$B0,$02,$A1,$A1,$95,$D0 ; PRG $1084 | CPU $D084 ; CPU:$CF89 PRG:0F89 D0 04 23 E4 01 CC 8D D0 05 20 B0 02 A1 A1 95 D0 .byte $05,$20,$D0,$02,$9F,$A0,$9D,$D0,$04,$23,$CC,$01,$CC,$A4,$D0,$04 ; PRG $1094 | CPU $D094 ; CPU:$CF99 PRG:0F99 05 20 D0 02 9F A0 9D D0 04 23 CC 01 CC A4 D0 04 .byte $23,$D4,$01,$CC,$AB,$D0,$05,$21,$16,$02,$9F,$A0,$B3,$D0,$05,$21 ; PRG $10A4 | CPU $D0A4 ; CPU:$CFA9 PRG:0FA9 23 D4 01 CC AB D0 05 21 16 02 9F A0 B3 D0 05 21 .byte $36,$02,$A3,$A4,$BB,$D0,$04,$23,$D5,$01,$33,$C2,$D0,$04,$23,$DD ; PRG $10B4 | CPU $D0B4 ; CPU:$CFB9 PRG:0FB9 36 02 A3 A4 BB D0 04 23 D5 01 33 C2 D0 04 23 DD .byte $01,$33,$C9,$D0,$05,$21,$B0,$02,$A3,$A4,$D1,$D0,$05,$21,$D0,$02 ; PRG $10C4 | CPU $D0C4 ; CPU:$CFC9 PRG:0FC9 01 33 C9 D0 05 21 B0 02 A3 A4 D1 D0 05 21 D0 02 .byte $9F,$A0,$D9,$D0,$04,$23,$DC,$01,$CC,$E0,$D0,$04,$23,$E4,$01,$CC ; PRG $10D4 | CPU $D0D4 ; CPU:$CFD9 PRG:0FD9 9F A0 D9 D0 04 23 DC 01 CC E0 D0 04 23 E4 01 CC ; ----------------------------------------------------------------------------- ; Global purpose: Transform Value D0 E4. ; Local behavior: Executes the decoded transform value d0 e4 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- TransformValue_D0E4: stx Zp_38 ; CPU:$CFE9 PRG:0FE9 ?? sty Zp_39 ; CPU:$CFEB PRG:0FEB ?? jsr ProcessGameState_CEBE ; CPU:$CFED PRG:0FED ?? asl a ; CPU:$CFEF PRG:0FEF ?? tay ; CPU:$CFF1 PRG:0FF1 ?? lda LookupTable_D11F,y ; CPU:$CFF3 PRG:0FF3 ?? sta Zp_32 ; CPU:$CFF5 PRG:0FF5 ?? iny ; CPU:$CFF7 PRG:0FF7 ?? lda LookupTable_D11F,y ; CPU:$CFF9 PRG:0FF9 ?? sta Zp_33 ; CPU:$CFFB PRG:0FFB ?? ldy #$00 ; CPU:$CFFD PRG:0FFD ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D0 FA. ; Local behavior: Executes the decoded flow d0 fa sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D0FA: lda (Zp_32),y ; CPU:$CFFF PRG:0FFF ?? cmp #$FF ; CPU:$D001 PRG:1001 ?? beq Flow_D11C ; CPU:$D003 PRG:1003 ?? cmp Ram_0501 ; CPU:$D005 PRG:1005 ?? beq Flow_D10A ; CPU:$D007 PRG:1007 ?? iny ; CPU:$D009 PRG:1009 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D106. ; Local behavior: Executes the decoded flow d106 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D106: iny ; CPU:$D00B PRG:100B ?? jmp Flow_D0FA ; CPU:$D00D PRG:100D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D10 A. ; Local behavior: Executes the decoded flow d10 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D10A: iny ; CPU:$D00F PRG:100F ?? lda (Zp_32),y ; CPU:$D011 PRG:1011 ?? cmp Ram_0500 ; CPU:$D013 PRG:1013 ?? bne Flow_D106 ; CPU:$D015 PRG:1015 ?? lda #$A3 ; CPU:$D017 PRG:1017 ?? sta Ram_0504 ; CPU:$D019 PRG:1019 ?? lda #$A4 ; CPU:$D01B PRG:101B ?? sta Ram_0505 ; CPU:$D01D PRG:101D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D11 C. ; Local behavior: Executes the decoded flow d11 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D11C: ldy Zp_39 ; CPU:$D01F PRG:101F ?? ldx Zp_38 ; CPU:$D021 PRG:1021 ?? rts ; CPU:$D023 PRG:1023 ?? .byte $2D,$D1,$3A,$D1,$5B,$D1,$68,$D1,$81,$D1,$82,$D1,$A6,$21,$66,$22 ; PRG $1121 | CPU $D121 ; CPU:$D025 PRG:1025 2D D1 3A D1 5B D1 68 D1 81 D1 82 D1 A6 21 66 22 .byte $6C,$21,$F2,$21,$38,$22,$F8,$22,$FF,$E6,$20,$26,$21,$A6,$21,$EC ; PRG $1131 | CPU $D131 ; CPU:$D035 PRG:1035 6C 21 F2 21 38 22 F8 22 FF E6 20 26 21 A6 21 EC .byte $20,$6C,$21,$AC,$21,$2C,$22,$AC,$22,$32,$21,$B2,$21,$F2,$21,$72 ; PRG $1141 | CPU $D141 ; CPU:$D045 PRG:1045 20 6C 21 AC 21 2C 22 AC 22 32 21 B2 21 F2 21 72 .byte $22,$B2,$22,$38,$21,$78,$21,$B8,$21,$FF,$A6,$22,$E6,$22,$EC,$20 ; PRG $1151 | CPU $D151 ; CPU:$D055 PRG:1055 22 B2 22 38 21 78 21 B8 21 FF A6 22 E6 22 EC 20 .byte $6C,$21,$EC,$21,$F2,$20,$FF,$26,$21,$A6,$21,$26,$22,$2C,$21,$AC ; PRG $1161 | CPU $D161 ; CPU:$D065 PRG:1065 6C 21 EC 21 F2 20 FF 26 21 A6 21 26 22 2C 21 AC .byte $21,$2C,$22,$32,$21,$B2,$21,$32,$22,$38,$21,$B8,$21,$38,$22,$FF ; PRG $1171 | CPU $D171 ; CPU:$D075 PRG:1075 21 2C 22 32 21 B2 21 32 22 38 21 B8 21 38 22 FF .byte $FF,$2C,$21,$AC,$21,$AC,$22,$72,$21,$72,$22,$B2,$22,$FF ; PRG $1181 | CPU $D181 ; CPU:$D085 PRG:1085 FF 2C 21 AC 21 AC 22 72 21 72 22 B2 22 FF ; ----------------------------------------------------------------------------- ; Global purpose: Transform Value D18 F. ; Local behavior: Executes the decoded transform value d18 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- TransformValue_D18F: stx Zp_43 ; CPU:$D093 PRG:1093 ?? sty Zp_42 ; CPU:$D095 PRG:1095 ?? ldx #$A1 ; CPU:$D097 PRG:1097 ?? ldy #$D1 ; CPU:$D099 PRG:1099 ?? lda #$07 ; CPU:$D09B PRG:109B ?? sta Zp_3C ; CPU:$D09D PRG:109D ?? lda Zp_52 ; CPU:$D09F PRG:109F ?? asl a ; CPU:$D0A1 PRG:10A1 ?? jmp Flow_CF07 ; CPU:$D0A3 PRG:10A3 ?? .byte $A5,$D1,$B3,$D1,$A8,$D1,$04,$22,$49,$01,$C2,$AF,$D1,$04,$22,$89 ; PRG $11A1 | CPU $D1A1 ; CPU:$D0A5 PRG:10A5 A5 D1 B3 D1 A8 D1 04 22 49 01 C2 AF D1 04 22 89 .byte $01,$00,$B6,$D1,$04,$22,$49,$01,$00,$BD,$D1,$04,$22,$89,$01,$C2 ; PRG $11B1 | CPU $D1B1 ; CPU:$D0B5 PRG:10B5 01 00 B6 D1 04 22 49 01 00 BD D1 04 22 89 01 C2 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State D1 C1. ; Local behavior: Executes the decoded process game state d1 c1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_D1C1: lda Ram_040E ; CPU:$D0C5 PRG:10C5 ?? bmi Flow_D1CD ; CPU:$D0C7 PRG:10C7 ?? lda Ram_040D ; CPU:$D0C9 PRG:10C9 ?? bmi Flow_D1CE ; CPU:$D0CB PRG:10CB ?? bpl Flow_D21E ; CPU:$D0CD PRG:10CD ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D1 CD. ; Local behavior: Executes the decoded flow d1 cd sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D1CD: rts ; CPU:$D0CF PRG:10CF ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D1 CE. ; Local behavior: Executes the decoded flow d1 ce sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D1CE: ldx CurrentPlayerIndex ; CPU:$D0D1 PRG:10D1 ?? lda Zp_2F ; CPU:$D0D3 PRG:10D3 ?? and #$03 ; CPU:$D0D5 PRG:10D5 ?? beq Flow_D219 ; CPU:$D0D7 PRG:10D7 ?? lda Ram_0458 ; CPU:$D0D9 PRG:10D9 ?? bne Flow_D21E ; CPU:$D0DB PRG:10DB ?? lda Zp_5C,x ; CPU:$D0DD PRG:10DD ?? beq Flow_D207 ; CPU:$D0DF PRG:10DF ?? sta Ram_0458 ; CPU:$D0E1 PRG:10E1 ?? lda #$00 ; CPU:$D0E3 PRG:10E3 ?? sta Ram_040D ; CPU:$D0E5 PRG:10E5 ?? lda Ram_0459 ; CPU:$D0E7 PRG:10E7 ?? tax ; CPU:$D0E9 PRG:10E9 ?? clc ; CPU:$D0EB PRG:10EB ?? lda LookupTable_D268,x ; CPU:$D0ED PRG:10ED ?? adc Ram_071F ; CPU:$D0EF PRG:10EF ?? sta Ram_071B ; CPU:$D0F1 PRG:10F1 ?? clc ; CPU:$D0F3 PRG:10F3 ?? lda LookupTable_D269,x ; CPU:$D0F5 PRG:10F5 ?? adc Ram_071C ; CPU:$D0F7 PRG:10F7 ?? sta Ram_0718 ; CPU:$D0F9 PRG:10F9 ?? lda #$0D ; CPU:$D0FB PRG:10FB ?? jsr StorePendingSoundCommand ; CPU:$D0FD PRG:10FD ?? jmp Flow_D21E ; CPU:$D0FF PRG:10FF ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D207. ; Local behavior: Executes the decoded flow d207 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D207: lda Ram_0458 ; CPU:$D101 PRG:1101 ?? bne Flow_D21E ; CPU:$D103 PRG:1103 ?? lda #$01 ; CPU:$D105 PRG:1105 ?? sta Ram_0458 ; CPU:$D107 PRG:1107 ?? lda #$0E ; CPU:$D109 PRG:1109 ?? jsr StorePendingSoundCommand ; CPU:$D10B PRG:110B ?? jmp Flow_D21E ; CPU:$D10D PRG:110D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D219. ; Local behavior: Executes the decoded flow d219 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D219: lda #$00 ; CPU:$D10F PRG:110F ?? sta Ram_0458 ; CPU:$D111 PRG:1111 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D21 E. ; Local behavior: Executes the decoded flow d21 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D21E: lda Zp_2E ; CPU:$D113 PRG:1113 ?? and #$0F ; CPU:$D115 PRG:1115 ?? tay ; CPU:$D117 PRG:1117 ?? lda LookupTable_D272,y ; CPU:$D119 PRG:1119 ?? tay ; CPU:$D11B PRG:111B ?? cmp Ram_045A ; CPU:$D11D PRG:111D ?? beq Flow_D24D ; CPU:$D11F PRG:111F ?? asl a ; CPU:$D121 PRG:1121 ?? asl a ; CPU:$D123 PRG:1123 ?? asl a ; CPU:$D125 PRG:1125 ?? asl a ; CPU:$D127 PRG:1127 ?? sta Ram_044F ; CPU:$D129 PRG:1129 ?? lda Ram_045A ; CPU:$D12B PRG:112B ?? cmp #$00 ; CPU:$D12D PRG:112D ?? beq Flow_D23E ; CPU:$D12F PRG:112F ?? cmp #$08 ; CPU:$D131 PRG:1131 ?? bne Flow_D24D ; CPU:$D133 PRG:1133 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D23 E. ; Local behavior: Executes the decoded flow d23 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D23E: cpy #$06 ; CPU:$D135 PRG:1135 ?? bne Flow_D24D ; CPU:$D137 PRG:1137 ?? lda Ram_071C ; CPU:$D139 PRG:1139 ?? and #$FE ; CPU:$D13B PRG:113B ?? sta Ram_071C ; CPU:$D13D PRG:113D ?? sta Ram_0720 ; CPU:$D13F PRG:113F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D24 D. ; Local behavior: Executes the decoded flow d24 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D24D: sty Ram_045A ; CPU:$D141 PRG:1141 ?? tya ; CPU:$D143 PRG:1143 ?? beq Flow_D256 ; CPU:$D145 PRG:1145 ?? sty Ram_0459 ; CPU:$D147 PRG:1147 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D256. ; Local behavior: Executes the decoded flow d256 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D256: lda Ram_045A ; CPU:$D149 PRG:1149 ?? beq Flow_D262 ; CPU:$D14B PRG:114B ?? ldx #$07 ; CPU:$D14D PRG:114D ?? jsr DispatchHandler_D44F ; CPU:$D14F PRG:114F ?? bne Flow_D267 ; CPU:$D151 PRG:1151 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D262. ; Local behavior: Executes the decoded flow d262 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D262: ldx #$07 ; CPU:$D153 PRG:1153 ?? jsr UpdateStateField_D27E ; CPU:$D155 PRG:1155 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D267. ; Local behavior: Executes the decoded flow d267 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D267: rts ; CPU:$D157 PRG:1157 ?? LookupTable_D268: .byte $00 ; PRG $1268 | CPU $D268 ; CPU:$D159 PRG:1159 00 LookupTable_D269: .byte $10,$10,$00,$F0,$00,$00,$F0,$00,$10 ; PRG $1269 | CPU $D269 ; CPU:$D15A PRG:115A 10 10 00 F0 00 00 F0 00 10 LookupTable_D272: .byte $00,$06,$08,$00,$04,$00,$00,$00,$02,$00,$00,$00 ; PRG $1272 | CPU $D272 ; CPU:$D163 PRG:1163 00 06 08 00 04 00 00 00 02 00 00 00 ; ----------------------------------------------------------------------------- ; Global purpose: Update State Field D27 E. ; Local behavior: Executes the decoded update state field d27 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- UpdateStateField_D27E: lda Ram_0407,x ; CPU:$D16F PRG:116F ?? bpl Flow_D284 ; CPU:$D171 PRG:1171 ?? rts ; CPU:$D173 PRG:1173 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D284. ; Local behavior: Executes the decoded flow d284 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D284: lda Zp_45 ; CPU:$D175 PRG:1175 ?? and Ram_0430,x ; CPU:$D177 PRG:1177 ?? bne Flow_D28C ; CPU:$D179 PRG:1179 ?? rts ; CPU:$D17B PRG:117B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D28 C. ; Local behavior: Executes the decoded flow d28 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D28C: dec Ram_0438,x ; CPU:$D17D PRG:117D ?? beq Flow_D292 ; CPU:$D17F PRG:117F ?? rts ; CPU:$D181 PRG:1181 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D292. ; Local behavior: Executes the decoded flow d292 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D292: lda Ram_0440,x ; CPU:$D183 PRG:1183 ?? sta Ram_0438,x ; CPU:$D185 PRG:1185 ?? lda Ram_0448,x ; CPU:$D187 PRG:1187 ?? and #$0F ; CPU:$D189 PRG:1189 ?? sta Zp_32 ; CPU:$D18B PRG:118B ?? lda Ram_0448,x ; CPU:$D18D PRG:118D ?? lsr a ; CPU:$D18F PRG:118F ?? lsr a ; CPU:$D191 PRG:1191 ?? lsr a ; CPU:$D193 PRG:1193 ?? beq Flow_D2AF ; CPU:$D195 PRG:1195 ?? clc ; CPU:$D197 PRG:1197 ?? adc Zp_32 ; CPU:$D199 PRG:1199 ?? sta Zp_32 ; CPU:$D19B PRG:119B ?? jmp Flow_D2BF ; CPU:$D19D PRG:119D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D2 AF. ; Local behavior: Executes the decoded flow d2 af sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D2AF: cpx #$07 ; CPU:$D19F PRG:119F ?? bne Flow_D2BF ; CPU:$D1A1 PRG:11A1 ?? ldy #$00 ; CPU:$D1A3 PRG:11A3 ?? lda Ram_0459 ; CPU:$D1A5 PRG:11A5 ?? cmp #$06 ; CPU:$D1A7 PRG:11A7 ?? bne Flow_D2BD ; CPU:$D1A9 PRG:11A9 ?? iny ; CPU:$D1AB PRG:11AB ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D2 BD. ; Local behavior: Executes the decoded flow d2 bd sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D2BD: sty Zp_32 ; CPU:$D1AD PRG:11AD ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D2 BF. ; Local behavior: Executes the decoded flow d2 bf sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D2BF: txa ; CPU:$D1AF PRG:11AF ?? stx Zp_43 ; CPU:$D1B1 PRG:11B1 ?? asl a ; CPU:$D1B3 PRG:11B3 ?? asl a ; CPU:$D1B5 PRG:11B5 ?? sta Zp_38 ; CPU:$D1B7 PRG:11B7 ?? lda Ram_0407,x ; CPU:$D1B9 PRG:11B9 ?? and #$07 ; CPU:$D1BB PRG:11BB ?? asl a ; CPU:$D1BD PRG:11BD ?? tay ; CPU:$D1BF PRG:11BF ?? lda LookupTable_D3E5,y ; CPU:$D1C1 PRG:11C1 ?? sta Zp_34 ; CPU:$D1C3 PRG:11C3 ?? lda LookupTable_D3E6,y ; CPU:$D1C5 PRG:11C5 ?? sta Zp_35 ; CPU:$D1C7 PRG:11C7 ?? ldy Zp_32 ; CPU:$D1C9 PRG:11C9 ?? lda (Zp_34),y ; CPU:$D1CB PRG:11CB ?? cmp #$FF ; CPU:$D1CD PRG:11CD ?? bne Flow_D2E2 ; CPU:$D1CF PRG:11CF ?? jmp Flow_D3A8 ; CPU:$D1D1 PRG:11D1 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D2 E2. ; Local behavior: Executes the decoded flow d2 e2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D2E2: ldy Zp_38 ; CPU:$D1D3 PRG:11D3 ?? sta Ram_0701,y ; CPU:$D1D5 PRG:11D5 ?? sta Zp_44 ; CPU:$D1D7 PRG:11D7 ?? lda Zp_43 ; CPU:$D1D9 PRG:11D9 ?? cmp #$07 ; CPU:$D1DB PRG:11DB ?? bne Flow_D2F8 ; CPU:$D1DD PRG:11DD ?? inc Zp_44 ; CPU:$D1DF PRG:11DF ?? inc Zp_44 ; CPU:$D1E1 PRG:11E1 ?? lda Zp_44 ; CPU:$D1E3 PRG:11E3 ?? sta Ram_0721 ; CPU:$D1E5 PRG:11E5 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D2 F8. ; Local behavior: Executes the decoded flow d2 f8 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D2F8: lda Ram_0448,x ; CPU:$D1E7 PRG:11E7 ?? asl a ; CPU:$D1E9 PRG:11E9 ?? sta Zp_44 ; CPU:$D1EB PRG:11EB ?? and #$40 ; CPU:$D1ED PRG:11ED ?? sta Zp_3C ; CPU:$D1EF PRG:11EF ?? lda Ram_0407,x ; CPU:$D1F1 PRG:11F1 ?? and #$0F ; CPU:$D1F3 PRG:11F3 ?? cmp #$02 ; CPU:$D1F5 PRG:11F5 ?? bne Flow_D311 ; CPU:$D1F7 PRG:11F7 ?? lda Zp_3C ; CPU:$D1F9 PRG:11F9 ?? ora #$02 ; CPU:$D1FB PRG:11FB ?? sta Zp_3C ; CPU:$D1FD PRG:11FD ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D311. ; Local behavior: Executes the decoded flow d311 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D311: lda Zp_3C ; CPU:$D1FF PRG:11FF ?? sta Ram_0702,y ; CPU:$D201 PRG:1201 ?? cpx #$07 ; CPU:$D203 PRG:1203 ?? bne Flow_D354 ; CPU:$D205 PRG:1205 ?? lda Zp_44 ; CPU:$D207 PRG:1207 ?? and #$E0 ; CPU:$D209 PRG:1209 ?? cmp #$40 ; CPU:$D20B PRG:120B ?? beq Flow_D324 ; CPU:$D20D PRG:120D ?? lda #$00 ; CPU:$D20F PRG:120F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D324. ; Local behavior: Executes the decoded flow d324 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D324: ora #$01 ; CPU:$D211 PRG:1211 ?? sta Ram_0702,y ; CPU:$D213 PRG:1213 ?? sta Ram_0722 ; CPU:$D215 PRG:1215 ?? sta Zp_44 ; CPU:$D217 PRG:1217 ?? lda Ram_071D ; CPU:$D219 PRG:1219 ?? sta Zp_3A ; CPU:$D21B PRG:121B ?? lda Ram_0721 ; CPU:$D21D PRG:121D ?? sta Zp_3B ; CPU:$D21F PRG:121F ?? lda #$41 ; CPU:$D221 PRG:1221 ?? cmp Zp_44 ; CPU:$D223 PRG:1223 ?? beq Flow_D346 ; CPU:$D225 PRG:1225 ?? lda Zp_3A ; CPU:$D227 PRG:1227 ?? cmp Zp_3B ; CPU:$D229 PRG:1229 ?? bcc Flow_D354 ; CPU:$D22B PRG:122B ?? bcs Flow_D34C ; CPU:$D22D PRG:122D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D346. ; Local behavior: Executes the decoded flow d346 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D346: lda Zp_3A ; CPU:$D22F PRG:122F ?? cmp Zp_3B ; CPU:$D231 PRG:1231 ?? bcs Flow_D354 ; CPU:$D233 PRG:1233 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D34 C. ; Local behavior: Executes the decoded flow d34 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D34C: sta Ram_0721 ; CPU:$D235 PRG:1235 ?? lda Zp_3B ; CPU:$D237 PRG:1237 ?? sta Ram_071D ; CPU:$D239 PRG:1239 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D354. ; Local behavior: Executes the decoded flow d354 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D354: lda Ram_0448,x ; CPU:$D23B PRG:123B ?? and #$F0 ; CPU:$D23D PRG:123D ?? bne Flow_D35E ; CPU:$D23F PRG:123F ?? jmp Flow_D3E4 ; CPU:$D241 PRG:1241 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D35 E. ; Local behavior: Executes the decoded flow d35 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D35E: inc Ram_0448,x ; CPU:$D243 PRG:1243 ?? lda Ram_0448,x ; CPU:$D245 PRG:1245 ?? and #$F3 ; CPU:$D247 PRG:1247 ?? sta Ram_0448,x ; CPU:$D249 PRG:1249 ?? stx Zp_37 ; CPU:$D24B PRG:124B ?? ldy Zp_38 ; CPU:$D24D PRG:124D ?? lsr a ; CPU:$D24F PRG:124F ?? lsr a ; CPU:$D251 PRG:1251 ?? lsr a ; CPU:$D253 PRG:1253 ?? lsr a ; CPU:$D255 PRG:1255 ?? tax ; CPU:$D257 PRG:1257 ?? clc ; CPU:$D259 PRG:1259 ?? lda LookupTable_D445,x ; CPU:$D25B PRG:125B ?? adc Ram_0703,y ; CPU:$D25D PRG:125D ?? sta Ram_0703,y ; CPU:$D25F PRG:125F ?? sta Zp_44 ; CPU:$D261 PRG:1261 ?? lda Zp_43 ; CPU:$D263 PRG:1263 ?? cmp #$07 ; CPU:$D265 PRG:1265 ?? bne Flow_D38C ; CPU:$D267 PRG:1267 ?? clc ; CPU:$D269 PRG:1269 ?? lda Zp_44 ; CPU:$D26B PRG:126B ?? adc #$08 ; CPU:$D26D PRG:126D ?? sta Ram_0723 ; CPU:$D26F PRG:126F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D38 C. ; Local behavior: Executes the decoded flow d38 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D38C: clc ; CPU:$D271 PRG:1271 ?? lda LookupTable_D446,x ; CPU:$D273 PRG:1273 ?? adc Ram_0700,y ; CPU:$D275 PRG:1275 ?? sta Ram_0700,y ; CPU:$D277 PRG:1277 ?? sta Zp_44 ; CPU:$D279 PRG:1279 ?? lda Zp_43 ; CPU:$D27B PRG:127B ?? cmp #$07 ; CPU:$D27D PRG:127D ?? bne Flow_D3A3 ; CPU:$D27F PRG:127F ?? lda Zp_44 ; CPU:$D281 PRG:1281 ?? sta Ram_0720 ; CPU:$D283 PRG:1283 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D3 A3. ; Local behavior: Executes the decoded flow d3 a3 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D3A3: ldx Zp_37 ; CPU:$D285 PRG:1285 ?? jmp Flow_D3E4 ; CPU:$D287 PRG:1287 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D3 A8. ; Local behavior: Executes the decoded flow d3 a8 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D3A8: ldy Zp_38 ; CPU:$D289 PRG:1289 ?? lda Ram_0448,x ; CPU:$D28B PRG:128B ?? bmi Flow_D3B9 ; CPU:$D28D PRG:128D ?? lda Ram_0700,y ; CPU:$D28F PRG:128F ?? sta Zp_3A ; CPU:$D291 PRG:1291 ?? inc Zp_3A ; CPU:$D293 PRG:1293 ?? jmp Flow_D3C0 ; CPU:$D295 PRG:1295 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D3 B9. ; Local behavior: Executes the decoded flow d3 b9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D3B9: lda Ram_0700,y ; CPU:$D297 PRG:1297 ?? sta Zp_3A ; CPU:$D299 PRG:1299 ?? dec Zp_3A ; CPU:$D29B PRG:129B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D3 C0. ; Local behavior: Executes the decoded flow d3 c0 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D3C0: lda Zp_3A ; CPU:$D29D PRG:129D ?? sta Ram_0700,y ; CPU:$D29F PRG:129F ?? sta Zp_44 ; CPU:$D2A1 PRG:12A1 ?? lda Zp_43 ; CPU:$D2A3 PRG:12A3 ?? cmp #$07 ; CPU:$D2A5 PRG:12A5 ?? bne Flow_D3D2 ; CPU:$D2A7 PRG:12A7 ?? lda Zp_44 ; CPU:$D2A9 PRG:12A9 ?? sta Ram_0720 ; CPU:$D2AB PRG:12AB ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D3 D2. ; Local behavior: Executes the decoded flow d3 d2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D3D2: lda Ram_0448,x ; CPU:$D2AD PRG:12AD ?? and #$F0 ; CPU:$D2AF PRG:12AF ?? beq Flow_D3E4 ; CPU:$D2B1 PRG:12B1 ?? inc Ram_0448,x ; CPU:$D2B3 PRG:12B3 ?? lda Ram_0448,x ; CPU:$D2B5 PRG:12B5 ?? and #$F3 ; CPU:$D2B7 PRG:12B7 ?? sta Ram_0448,x ; CPU:$D2B9 PRG:12B9 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D3 E4. ; Local behavior: Executes the decoded flow d3 e4 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D3E4: rts ; CPU:$D2BB PRG:12BB ?? LookupTable_D3E5: .byte $F5 ; PRG $13E5 | CPU $D3E5 ; CPU:$D2BD PRG:12BD F5 LookupTable_D3E6: .byte $D3,$09,$D4,$1D,$D4,$31,$D4,$F5,$D3,$09,$D4,$1D,$D4,$31,$D4,$1C ; PRG $13E6 | CPU $D3E6 ; CPU:$D2BE PRG:12BE D3 09 D4 1D D4 31 D4 F5 D3 09 D4 1D D4 31 D4 1C .byte $20,$1C,$20,$00,$04,$08,$04,$00,$04,$08,$04,$14,$FF,$18,$FF,$0C ; PRG $13F6 | CPU $D3F6 ; CPU:$D2CE PRG:12CE 20 1C 20 00 04 08 04 00 04 08 04 14 FF 18 FF 0C .byte $FF,$10,$FF,$00,$00,$00,$00,$4C,$4E,$4C,$4E,$4C,$4E,$4C,$4E,$54 ; PRG $1406 | CPU $D406 ; CPU:$D2DE PRG:12DE FF 10 FF 00 00 00 00 4C 4E 4C 4E 4C 4E 4C 4E 54 .byte $FF,$56,$FF,$50,$FF,$52,$FF,$00,$00,$00,$00,$64,$66,$64,$66,$64 ; PRG $1416 | CPU $D416 ; CPU:$D2EE PRG:12EE FF 56 FF 50 FF 52 FF 00 00 00 00 64 66 64 66 64 .byte $66,$64,$66,$6C,$FF,$6E,$FF,$68,$FF,$6A,$FF,$00,$00,$00,$00,$7C ; PRG $1426 | CPU $D426 ; CPU:$D2FE PRG:12FE 66 64 66 6C FF 6E FF 68 FF 6A FF 00 00 00 00 7C .byte $7E,$7C,$7E,$7C,$7E,$7C,$7E,$84,$FF,$86,$FF,$80,$FF,$82,$FF ; PRG $1436 | CPU $D436 ; CPU:$D30E PRG:130E 7E 7C 7E 7C 7E 7C 7E 84 FF 86 FF 80 FF 82 FF LookupTable_D445: .byte $00 ; PRG $1445 | CPU $D445 ; CPU:$D31D PRG:131D 00 LookupTable_D446: .byte $00,$02,$00,$FE,$00,$00,$FD,$00,$03 ; PRG $1446 | CPU $D446 ; CPU:$D31E PRG:131E 00 02 00 FE 00 00 FD 00 03 ; ----------------------------------------------------------------------------- ; Global purpose: Dispatch Handler D44 F. ; Local behavior: Executes the decoded dispatch handler d44 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- DispatchHandler_D44F: lda Ram_0448,x ; CPU:$D327 PRG:1327 ?? lsr a ; CPU:$D329 PRG:1329 ?? lsr a ; CPU:$D32B PRG:132B ?? lsr a ; CPU:$D32D PRG:132D ?? lsr a ; CPU:$D32F PRG:132F ?? tay ; CPU:$D331 PRG:1331 ?? lda LookupTable_D475,y ; CPU:$D333 PRG:1333 ?? sta Zp_34 ; CPU:$D335 PRG:1335 ?? lda LookupTable_D476,y ; CPU:$D337 PRG:1337 ?? sta Zp_35 ; CPU:$D339 PRG:1339 ?? txa ; CPU:$D33B PRG:133B ?? asl a ; CPU:$D33D PRG:133D ?? asl a ; CPU:$D33F PRG:133F ?? tay ; CPU:$D341 PRG:1341 ?? lda Ram_0703,y ; CPU:$D343 PRG:1343 ?? sta Zp_32 ; CPU:$D345 PRG:1345 ?? lda Ram_0700,y ; CPU:$D347 PRG:1347 ?? sta Zp_33 ; CPU:$D349 PRG:1349 ?? inc Ram_0406 ; CPU:$D34B PRG:134B ?? jmp (Zp_34) ; CPU:$D34D PRG:134D ?? LookupTable_D475: .byte $7F ; PRG $1475 | CPU $D475 ; CPU:$D34F PRG:134F 7F LookupTable_D476: .byte $D4,$85,$D4,$C1,$D4,$FD,$D4,$1F,$D5,$A9,$00,$8D,$06,$04,$60,$A5 ; PRG $1476 | CPU $D476 ; CPU:$D350 PRG:1350 D4 85 D4 C1 D4 FD D4 1F D5 A9 00 8D 06 04 60 A5 .byte $32,$E0,$07,$F0,$27,$C9,$DC,$90,$07,$A9,$DC,$99,$03,$07,$D0,$1B ; PRG $1486 | CPU $D486 ; CPU:$D360 PRG:1360 32 E0 07 F0 27 C9 DC 90 07 A9 DC 99 03 07 D0 1B .byte $20,$3C,$E0,$D0,$16,$20,$95,$D5,$D0,$11,$A5,$33,$99,$00,$07,$E0 ; PRG $1496 | CPU $D496 ; CPU:$D370 PRG:1370 20 3C E0 D0 16 20 95 D5 D0 11 A5 33 99 00 07 E0 .byte $07,$D0,$03,$8D,$20,$07,$A9,$00,$8D,$06,$04,$60,$C9,$D8,$90,$E0 ; PRG $14A6 | CPU $D4A6 ; CPU:$D380 PRG:1380 07 D0 03 8D 20 07 A9 00 8D 06 04 60 C9 D8 90 E0 .byte $A9,$D8,$99,$03,$07,$A9,$E0,$8D,$23,$07,$60,$A5,$32,$E0,$07,$F0 ; PRG $14B6 | CPU $D4B6 ; CPU:$D390 PRG:1390 A9 D8 99 03 07 A9 E0 8D 23 07 60 A5 32 E0 07 F0 .byte $27,$C9,$1D,$B0,$07,$A9,$1C,$99,$03,$07,$D0,$1B,$20,$3C,$E0,$D0 ; PRG $14C6 | CPU $D4C6 ; CPU:$D3A0 PRG:13A0 27 C9 1D B0 07 A9 1C 99 03 07 D0 1B 20 3C E0 D0 .byte $16,$20,$9F,$D5,$D0,$11,$A5,$33,$99,$00,$07,$E0,$07,$D0,$03,$8D ; PRG $14D6 | CPU $D4D6 ; CPU:$D3B0 PRG:13B0 16 20 9F D5 D0 11 A5 33 99 00 07 E0 07 D0 03 8D .byte $20,$07,$A9,$00,$8D,$06,$04,$60,$C9,$19,$B0,$E0,$A9,$18,$99,$03 ; PRG $14E6 | CPU $D4E6 ; CPU:$D3C0 PRG:13C0 20 07 A9 00 8D 06 04 60 C9 19 B0 E0 A9 18 99 03 .byte $07,$A9,$20,$8D,$23,$07,$60,$A5,$33,$C9,$1D,$B0,$0E,$A9,$1C,$99 ; PRG $14F6 | CPU $D4F6 ; CPU:$D3D0 PRG:13D0 07 A9 20 8D 23 07 60 A5 33 C9 1D B0 0E A9 1C 99 .byte $00,$07,$E0,$07,$D0,$12,$8D,$20,$07,$D0,$0D,$20,$1E,$D6,$D0,$08 ; PRG $1506 | CPU $D506 ; CPU:$D3E0 PRG:13E0 00 07 E0 07 D0 12 8D 20 07 D0 0D 20 1E D6 D0 08 .byte $20,$43,$D5,$A9,$00,$8D,$06,$04,$60,$A5,$33,$C5,$58,$90,$0E,$A5 ; PRG $1516 | CPU $D516 ; CPU:$D3F0 PRG:13F0 20 43 D5 A9 00 8D 06 04 60 A5 33 C5 58 90 0E A5 .byte $58,$99,$00,$07,$E0,$07,$D0,$12,$8D,$20,$07,$D0,$0D,$20,$28,$D6 ; PRG $1526 | CPU $D526 ; CPU:$D400 PRG:1400 58 99 00 07 E0 07 D0 12 8D 20 07 D0 0D 20 28 D6 .byte $D0,$08,$20,$43,$D5,$A9,$00,$8D,$06,$04,$60,$02,$01,$B9,$03,$07 ; PRG $1536 | CPU $D536 ; CPU:$D410 PRG:1410 D0 08 20 43 D5 A9 00 8D 06 04 60 02 01 B9 03 07 .byte $85,$3B,$E0,$07,$F0,$1A,$A5,$3B,$29,$08,$F0,$0A,$A5,$3B,$29,$F0 ; PRG $1546 | CPU $D546 ; CPU:$D420 PRG:1420 85 3B E0 07 F0 1A A5 3B 29 08 F0 0A A5 3B 29 F0 .byte $09,$0C,$99,$03,$07,$60,$A5,$3B,$29,$F0,$09,$04,$99,$03,$07,$60 ; PRG $1556 | CPU $D556 ; CPU:$D430 PRG:1430 09 0C 99 03 07 60 A5 3B 29 F0 09 04 99 03 07 60 .byte $A5,$3B,$29,$0F,$C9,$0C,$B0,$1E,$C9,$04,$B0,$04,$29,$08,$F0,$08 ; PRG $1566 | CPU $D566 ; CPU:$D440 PRG:1440 A5 3B 29 0F C9 0C B0 1E C9 04 B0 04 29 08 F0 08 .byte $A5,$3B,$29,$F0,$09,$08,$D0,$04,$A5,$3B,$29,$F0,$8D,$1F,$07,$18 ; PRG $1576 | CPU $D576 ; CPU:$D450 PRG:1450 A5 3B 29 F0 09 08 D0 04 A5 3B 29 F0 8D 1F 07 18 .byte $69,$08,$8D,$23,$07,$60,$A5,$3B,$18,$69,$10,$85,$3B,$D0,$E9,$84 ; PRG $1586 | CPU $D586 ; CPU:$D460 PRG:1460 69 08 8D 23 07 60 A5 3B 18 69 10 85 3B D0 E9 84 .byte $42,$86,$43,$A9,$00,$85,$38,$F0,$08,$84,$42,$86,$43,$A9,$01,$85 ; PRG $1596 | CPU $D596 ; CPU:$D470 PRG:1470 42 86 43 A9 00 85 38 F0 08 84 42 86 43 A9 01 85 .byte $38,$20,$8A,$D6,$A0,$00,$B1,$34,$C9,$FF,$F0,$65,$38,$E9,$04,$85 ; PRG $15A6 | CPU $D5A6 ; CPU:$D480 PRG:1480 38 20 8A D6 A0 00 B1 34 C9 FF F0 65 38 E9 04 85 .byte $39,$C5,$33,$F0,$14,$38,$E9,$02,$C5,$33,$B0,$07,$18,$69,$03,$C5 ; PRG $15B6 | CPU $D5B6 ; CPU:$D490 PRG:1490 39 C5 33 F0 14 38 E9 02 C5 33 B0 07 18 69 03 C5 .byte $33,$B0,$06,$C8,$C8,$C8,$4C,$AC,$D5,$A5,$39,$85,$33,$C8,$B1,$34 ; PRG $15C6 | CPU $D5C6 ; CPU:$D4A0 PRG:14A0 33 B0 06 C8 C8 C8 4C AC D5 A5 39 85 33 C8 B1 34 .byte $A6,$43,$E0,$07,$F0,$03,$18,$69,$04,$C5,$32,$F0,$19,$B0,$E5,$C8 ; PRG $15D6 | CPU $D5D6 ; CPU:$D4B0 PRG:14B0 A6 43 E0 07 F0 03 18 69 04 C5 32 F0 19 B0 E5 C8 .byte $B1,$34,$38,$E9,$10,$E0,$07,$F0,$03,$18,$69,$04,$C5,$32,$F0,$16 ; PRG $15E6 | CPU $D5E6 ; CPU:$D4C0 PRG:14C0 B1 34 38 E9 10 E0 07 F0 03 18 69 04 C5 32 F0 16 .byte $B0,$18,$C8,$4C,$AC,$D5,$B1,$34,$18,$69,$10,$C8,$D1,$34,$F0,$11 ; PRG $15F6 | CPU $D5F6 ; CPU:$D4D0 PRG:14D0 B0 18 C8 4C AC D5 B1 34 18 69 10 C8 D1 34 F0 11 .byte $A5,$38,$F0,$06,$D0,$0B,$A5,$38,$F0,$07,$A4,$42,$A6,$43,$A9,$00 ; PRG $1606 | CPU $D606 ; CPU:$D4E0 PRG:14E0 A5 38 F0 06 D0 0B A5 38 F0 07 A4 42 A6 43 A9 00 .byte $60,$A4,$42,$A6,$43,$A9,$FF,$60,$84,$42,$86,$43,$A9,$00,$85,$38 ; PRG $1616 | CPU $D616 ; CPU:$D4F0 PRG:14F0 60 A4 42 A6 43 A9 FF 60 84 42 86 43 A9 00 85 38 .byte $F0,$08,$84,$42,$86,$43,$A9,$01,$85,$38,$20,$96,$D6,$A9,$07,$85 ; PRG $1626 | CPU $D626 ; CPU:$D500 PRG:1500 F0 08 84 42 86 43 A9 01 85 38 20 96 D6 A9 07 85 .byte $39,$A5,$43,$C9,$07,$F0,$02,$E6,$39,$A0,$00,$B1,$34,$C9,$FF,$F0 ; PRG $1636 | CPU $D636 ; CPU:$D510 PRG:1510 39 A5 43 C9 07 F0 02 E6 39 A0 00 B1 34 C9 FF F0 .byte $D0,$38,$E9,$04,$C5,$32,$B0,$07,$18,$65,$39,$C5,$32,$B0,$06,$C8 ; PRG $1646 | CPU $D646 ; CPU:$D520 PRG:1520 D0 38 E9 04 C5 32 B0 07 18 65 39 C5 32 B0 06 C8 .byte $C8,$C8,$4C,$41,$D6,$C8,$B1,$34,$38,$E9,$05,$C5,$33,$F0,$1F,$18 ; PRG $1656 | CPU $D656 ; CPU:$D530 PRG:1530 C8 C8 4C 41 D6 C8 B1 34 38 E9 05 C5 33 F0 1F 18 .byte $69,$01,$C5,$33,$F0,$18,$B0,$E8,$C8,$B1,$34,$38,$E9,$04,$C5,$33 ; PRG $1666 | CPU $D666 ; CPU:$D540 PRG:1540 69 01 C5 33 F0 18 B0 E8 C8 B1 34 38 E9 04 C5 33 .byte $F0,$06,$B0,$96,$C8,$4C,$41,$D6,$A5,$38,$F0,$8E,$D0,$93,$A5,$38 ; PRG $1676 | CPU $D676 ; CPU:$D550 PRG:1550 F0 06 B0 96 C8 4C 41 D6 A5 38 F0 8E D0 93 A5 38 .byte $F0,$8F,$D0,$86,$20,$BE,$CE,$CA,$8A,$A2,$5F,$A0,$F2,$4C,$A2,$D6 ; PRG $1686 | CPU $D686 ; CPU:$D560 PRG:1560 F0 8F D0 86 20 BE CE CA 8A A2 5F A0 F2 4C A2 D6 .byte $20,$BE,$CE,$CA,$8A,$A2,$6B,$A0,$F2,$4C,$A2,$D6,$86,$34,$84,$35 ; PRG $1696 | CPU $D696 ; CPU:$D570 PRG:1570 20 BE CE CA 8A A2 6B A0 F2 4C A2 D6 86 34 84 35 .byte $0A,$18,$65,$34,$85,$34,$A9,$00,$65,$35,$85,$35,$A0,$00,$B1,$34 ; PRG $16A6 | CPU $D6A6 ; CPU:$D580 PRG:1580 0A 18 65 34 85 34 A9 00 65 35 85 35 A0 00 B1 34 .byte $AA,$C8,$B1,$34,$86,$34,$85,$35,$60 ; PRG $16B6 | CPU $D6B6 ; CPU:$D590 PRG:1590 AA C8 B1 34 86 34 85 35 60 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State D6 BF. ; Local behavior: Executes the decoded process game state d6 bf sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_D6BF: lda Ram_040D ; CPU:$D599 PRG:1599 ?? cmp #$FF ; CPU:$D59B PRG:159B ?? bne Flow_D6C9 ; CPU:$D59D PRG:159D ?? jmp Flow_D753 ; CPU:$D59F PRG:159F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D6 C9. ; Local behavior: Executes the decoded flow d6 c9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D6C9: jsr ProcessGameState_E642 ; CPU:$D5A1 PRG:15A1 ?? lda Ram_040D ; CPU:$D5A3 PRG:15A3 ?? inc Ram_040D ; CPU:$D5A5 PRG:15A5 ?? cmp #$01 ; CPU:$D5A7 PRG:15A7 ?? beq Flow_D6E6 ; CPU:$D5A9 PRG:15A9 ?? cmp #$09 ; CPU:$D5AB PRG:15AB ?? beq Flow_D6FD ; CPU:$D5AD PRG:15AD ?? cmp #$11 ; CPU:$D5AF PRG:15AF ?? beq Flow_D70F ; CPU:$D5B1 PRG:15B1 ?? cmp #$19 ; CPU:$D5B3 PRG:15B3 ?? beq Flow_D721 ; CPU:$D5B5 PRG:15B5 ?? cmp #$22 ; CPU:$D5B7 PRG:15B7 ?? beq Flow_D733 ; CPU:$D5B9 PRG:15B9 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D6 E6. ; Local behavior: Executes the decoded flow d6 e6 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D6E6: lda Ram_0459 ; CPU:$D5BB PRG:15BB ?? lsr a ; CPU:$D5BD PRG:15BD ?? tay ; CPU:$D5BF PRG:15BF ?? lda LookupTable_D762,y ; CPU:$D5C1 PRG:15C1 ?? jsr CalculateAndClampValue_D78A ; CPU:$D5C3 PRG:15C3 ?? lda LookupTable_D776,y ; CPU:$D5C5 PRG:15C5 ?? sta Ram_0719 ; CPU:$D5C7 PRG:15C7 ?? lda #$01 ; CPU:$D5C9 PRG:15C9 ?? sta Ram_071A ; CPU:$D5CB PRG:15CB ?? rts ; CPU:$D5CD PRG:15CD ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D6 FD. ; Local behavior: Executes the decoded flow d6 fd sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D6FD: lda Ram_0459 ; CPU:$D5CF PRG:15CF ?? lsr a ; CPU:$D5D1 PRG:15D1 ?? tay ; CPU:$D5D3 PRG:15D3 ?? lda LookupTable_D767,y ; CPU:$D5D5 PRG:15D5 ?? jsr CalculateAndClampValue_D78A ; CPU:$D5D7 PRG:15D7 ?? lda LookupTable_D77B,y ; CPU:$D5D9 PRG:15D9 ?? sta Ram_0719 ; CPU:$D5DB PRG:15DB ?? rts ; CPU:$D5DD PRG:15DD ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D70 F. ; Local behavior: Executes the decoded flow d70 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D70F: lda Ram_0459 ; CPU:$D5DF PRG:15DF ?? lsr a ; CPU:$D5E1 PRG:15E1 ?? tay ; CPU:$D5E3 PRG:15E3 ?? lda LookupTable_D76C,y ; CPU:$D5E5 PRG:15E5 ?? jsr CalculateAndClampValue_D78A ; CPU:$D5E7 PRG:15E7 ?? lda LookupTable_D780,y ; CPU:$D5E9 PRG:15E9 ?? sta Ram_0719 ; CPU:$D5EB PRG:15EB ?? rts ; CPU:$D5ED PRG:15ED ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D721. ; Local behavior: Executes the decoded flow d721 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D721: lda Ram_0459 ; CPU:$D5EF PRG:15EF ?? lsr a ; CPU:$D5F1 PRG:15F1 ?? tay ; CPU:$D5F3 PRG:15F3 ?? lda LookupTable_D771,y ; CPU:$D5F5 PRG:15F5 ?? jsr CalculateAndClampValue_D78A ; CPU:$D5F7 PRG:15F7 ?? lda LookupTable_D785,y ; CPU:$D5F9 PRG:15F9 ?? sta Ram_0719 ; CPU:$D5FB PRG:15FB ?? rts ; CPU:$D5FD PRG:15FD ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D733. ; Local behavior: Executes the decoded flow d733 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D733: lda #$FF ; CPU:$D5FF PRG:15FF ?? sta Ram_040D ; CPU:$D601 PRG:1601 ?? lda #$00 ; CPU:$D603 PRG:1603 ?? sta Ram_0718 ; CPU:$D605 PRG:1605 ?? sta Ram_071B ; CPU:$D607 PRG:1607 ?? ldx CurrentPlayerIndex ; CPU:$D609 PRG:1609 ?? dec Zp_5C,x ; CPU:$D60B PRG:160B ?? lda Zp_5C,x ; CPU:$D60D PRG:160D ?? jsr DecrementPackedDecimalDigit ; CPU:$D60F PRG:160F ?? sta Zp_5C,x ; CPU:$D611 PRG:1611 ?? lda GameMode ; CPU:$D613 PRG:1613 ?? beq Flow_D752 ; CPU:$D615 PRG:1615 ?? jsr ProcessGameState_CAA7 ; CPU:$D617 PRG:1617 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D752. ; Local behavior: Executes the decoded flow d752 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D752: rts ; CPU:$D619 PRG:1619 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D753. ; Local behavior: Executes the decoded flow d753 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D753: lda Ram_0458 ; CPU:$D61B PRG:161B ?? beq Flow_D752 ; CPU:$D61D PRG:161D ?? lda Zp_2F ; CPU:$D61F PRG:161F ?? and #$03 ; CPU:$D621 PRG:1621 ?? bne Flow_D752 ; CPU:$D623 PRG:1623 ?? sta Ram_0458 ; CPU:$D625 PRG:1625 ?? rts ; CPU:$D627 PRG:1627 ?? LookupTable_D762: .byte $24,$24,$24,$2C,$28 ; PRG $1762 | CPU $D762 ; CPU:$D629 PRG:1629 24 24 24 2C 28 LookupTable_D767: .byte $04,$04,$04,$20,$1C ; PRG $1767 | CPU $D767 ; CPU:$D62E PRG:162E 04 04 04 20 1C LookupTable_D76C: .byte $24,$24,$24,$2C,$28 ; PRG $176C | CPU $D76C ; CPU:$D633 PRG:1633 24 24 24 2C 28 LookupTable_D771: .byte $04,$04,$04,$20,$1C ; PRG $1771 | CPU $D771 ; CPU:$D638 PRG:1638 04 04 04 20 1C LookupTable_D776: .byte $EC,$EC,$EC,$EA,$EA ; PRG $1776 | CPU $D776 ; CPU:$D63D PRG:163D EC EC EC EA EA LookupTable_D77B: .byte $EC,$EC,$EC,$EA,$EA ; PRG $177B | CPU $D77B ; CPU:$D642 PRG:1642 EC EC EC EA EA LookupTable_D780: .byte $EC,$EC,$EC,$EA,$EA ; PRG $1780 | CPU $D780 ; CPU:$D647 PRG:1647 EC EC EC EA EA LookupTable_D785: .byte $EC,$EC,$EC,$EA,$EA ; PRG $1785 | CPU $D785 ; CPU:$D64C PRG:164C EC EC EC EA EA ; ----------------------------------------------------------------------------- ; Global purpose: Calculate And Clamp Value D78 A. ; Local behavior: Executes the decoded calculate and clamp value d78 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- CalculateAndClampValue_D78A: sta Ram_071D ; CPU:$D651 PRG:1651 ?? clc ; CPU:$D653 PRG:1653 ?? adc #$02 ; CPU:$D655 PRG:1655 ?? sta Ram_0721 ; CPU:$D657 PRG:1657 ?? lda Ram_0459 ; CPU:$D659 PRG:1659 ?? cmp #$02 ; CPU:$D65B PRG:165B ?? bne Flow_D7A2 ; CPU:$D65D PRG:165D ?? lda #$41 ; CPU:$D65F PRG:165F ?? sta Ram_071E ; CPU:$D661 PRG:1661 ?? sta Ram_0722 ; CPU:$D663 PRG:1663 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D7 A2. ; Local behavior: Executes the decoded flow d7 a2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D7A2: jsr ProcessGameState_D7A6 ; CPU:$D665 PRG:1665 ?? rts ; CPU:$D667 PRG:1667 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State D7 A6. ; Local behavior: Executes the decoded process game state d7 a6 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_D7A6: lda Ram_071D ; CPU:$D669 PRG:1669 ?? sta Zp_3A ; CPU:$D66B PRG:166B ?? lda Ram_0721 ; CPU:$D66D PRG:166D ?? sta Zp_3B ; CPU:$D66F PRG:166F ?? lda #$41 ; CPU:$D671 PRG:1671 ?? cmp Ram_071E ; CPU:$D673 PRG:1673 ?? beq Flow_D7C0 ; CPU:$D675 PRG:1675 ?? lda Zp_3A ; CPU:$D677 PRG:1677 ?? cmp Zp_3B ; CPU:$D679 PRG:1679 ?? bcc Flow_D7CE ; CPU:$D67B PRG:167B ?? jmp Flow_D7C6 ; CPU:$D67D PRG:167D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D7 C0. ; Local behavior: Executes the decoded flow d7 c0 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D7C0: lda Zp_3A ; CPU:$D67F PRG:167F ?? cmp Zp_3B ; CPU:$D681 PRG:1681 ?? bcs Flow_D7CE ; CPU:$D683 PRG:1683 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D7 C6. ; Local behavior: Executes the decoded flow d7 c6 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D7C6: sta Ram_0721 ; CPU:$D685 PRG:1685 ?? lda Zp_3B ; CPU:$D687 PRG:1687 ?? sta Ram_071D ; CPU:$D689 PRG:1689 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D7 CE. ; Local behavior: Executes the decoded flow d7 ce sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D7CE: rts ; CPU:$D68B PRG:168B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D7 CF. ; Local behavior: Executes the decoded flow d7 cf sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D7CF: rts ; CPU:$D68D PRG:168D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D7 D0. ; Local behavior: Executes the decoded flow d7 d0 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D7D0: jmp Flow_D890 ; CPU:$D68F PRG:168F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Calculate And Clamp Value D7 D3. ; Local behavior: Executes the decoded calculate and clamp value d7 d3 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- CalculateAndClampValue_D7D3: lda Ram_0459 ; CPU:$D691 PRG:1691 ?? cmp #$06 ; CPU:$D693 PRG:1693 ?? beq Flow_D7CF ; CPU:$D695 PRG:1695 ?? cmp #$08 ; CPU:$D697 PRG:1697 ?? beq Flow_D7CF ; CPU:$D699 PRG:1699 ?? lda Ram_071F ; CPU:$D69B PRG:169B ?? clc ; CPU:$D69D PRG:169D ?? adc #$10 ; CPU:$D69F PRG:169F ?? sta Zp_32 ; CPU:$D6A1 PRG:16A1 ?? lda Ram_071C ; CPU:$D6A3 PRG:16A3 ?? sta Zp_33 ; CPU:$D6A5 PRG:16A5 ?? ldx #$00 ; CPU:$D6A7 PRG:16A7 ?? ldy #$02 ; CPU:$D6A9 PRG:16A9 ?? stx Zp_34 ; CPU:$D6AB PRG:16AB ?? sty Zp_35 ; CPU:$D6AD PRG:16AD ?? ldy #$00 ; CPU:$D6AF PRG:16AF ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D7 F5. ; Local behavior: Executes the decoded flow d7 f5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D7F5: sty Ram_046D ; CPU:$D6B1 PRG:16B1 ?? lda (Zp_34),y ; CPU:$D6B3 PRG:16B3 ?? beq Flow_D7CF ; CPU:$D6B5 PRG:16B5 ?? cmp #$0F ; CPU:$D6B7 PRG:16B7 ?? beq Flow_D7D0 ; CPU:$D6B9 PRG:16B9 ?? sta Zp_44 ; CPU:$D6BB PRG:16BB ?? and #$F0 ; CPU:$D6BD PRG:16BD ?? beq Flow_D809 ; CPU:$D6BF PRG:16BF ?? jmp Flow_D890 ; CPU:$D6C1 PRG:16C1 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D809. ; Local behavior: Executes the decoded flow d809 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D809: iny ; CPU:$D6C3 PRG:16C3 ?? iny ; CPU:$D6C5 PRG:16C5 ?? lda (Zp_34),y ; CPU:$D6C7 PRG:16C7 ?? sta Zp_42 ; CPU:$D6C9 PRG:16C9 ?? sec ; CPU:$D6CB PRG:16CB ?? sbc #$0C ; CPU:$D6CD PRG:16CD ?? dec Zp_33 ; CPU:$D6CF PRG:16CF ?? cmp Zp_33 ; CPU:$D6D1 PRG:16D1 ?? bne Flow_D81D ; CPU:$D6D3 PRG:16D3 ?? inc Zp_33 ; CPU:$D6D5 PRG:16D5 ?? jmp Flow_D82B ; CPU:$D6D7 PRG:16D7 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D81 D. ; Local behavior: Executes the decoded flow d81 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D81D: inc Zp_33 ; CPU:$D6D9 PRG:16D9 ?? cmp Zp_33 ; CPU:$D6DB PRG:16DB ?? beq Flow_D82B ; CPU:$D6DD PRG:16DD ?? inc Zp_33 ; CPU:$D6DF PRG:16DF ?? cmp Zp_33 ; CPU:$D6E1 PRG:16E1 ?? bne Flow_D897 ; CPU:$D6E3 PRG:16E3 ?? dec Zp_33 ; CPU:$D6E5 PRG:16E5 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D82 B. ; Local behavior: Executes the decoded flow d82 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D82B: dey ; CPU:$D6E7 PRG:16E7 ?? lda (Zp_34),y ; CPU:$D6E9 PRG:16E9 ?? sta Zp_43 ; CPU:$D6EB PRG:16EB ?? cmp Zp_32 ; CPU:$D6ED PRG:16ED ?? bcs Flow_D891 ; CPU:$D6EF PRG:16EF ?? clc ; CPU:$D6F1 PRG:16F1 ?? adc #$1F ; CPU:$D6F3 PRG:16F3 ?? cmp Zp_32 ; CPU:$D6F5 PRG:16F5 ?? bcc Flow_D891 ; CPU:$D6F7 PRG:16F7 ?? lda Zp_32 ; CPU:$D6F9 PRG:16F9 ?? sec ; CPU:$D6FB PRG:16FB ?? sbc Zp_43 ; CPU:$D6FD PRG:16FD ?? lsr a ; CPU:$D6FF PRG:16FF ?? lsr a ; CPU:$D701 PRG:1701 ?? lsr a ; CPU:$D703 PRG:1703 ?? sta Zp_3C ; CPU:$D705 PRG:1705 ?? dec Zp_44 ; CPU:$D707 PRG:1707 ?? lda Zp_44 ; CPU:$D709 PRG:1709 ?? asl a ; CPU:$D70B PRG:170B ?? asl a ; CPU:$D70D PRG:170D ?? clc ; CPU:$D70F PRG:170F ?? adc Zp_3C ; CPU:$D711 PRG:1711 ?? sta Zp_44 ; CPU:$D713 PRG:1713 ?? lda Ram_046D ; CPU:$D715 PRG:1715 ?? clc ; CPU:$D717 PRG:1717 ?? adc Zp_3C ; CPU:$D719 PRG:1719 ?? tay ; CPU:$D71B PRG:171B ?? lsr a ; CPU:$D71D PRG:171D ?? tax ; CPU:$D71F PRG:171F ?? tya ; CPU:$D721 PRG:1721 ?? and #$01 ; CPU:$D723 PRG:1723 ?? bne Flow_D89C ; CPU:$D725 PRG:1725 ?? lda Ram_02A0,x ; CPU:$D727 PRG:1727 ?? and #$F0 ; CPU:$D729 PRG:1729 ?? bne Flow_D88F ; CPU:$D72B PRG:172B ?? lda #$10 ; CPU:$D72D PRG:172D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D867. ; Local behavior: Executes the decoded flow d867 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D867: ora Ram_02A0,x ; CPU:$D72F PRG:172F ?? sta Ram_02A0,x ; CPU:$D731 PRG:1731 ?? lda Zp_44 ; CPU:$D733 PRG:1733 ?? asl a ; CPU:$D735 PRG:1735 ?? adc #$66 ; CPU:$D737 PRG:1737 ?? sta Ram_0503 ; CPU:$D739 PRG:1739 ?? lda #$01 ; CPU:$D73B PRG:173B ?? sta Ram_0502 ; CPU:$D73D PRG:173D ?? lda Zp_33 ; CPU:$D73F PRG:173F ?? clc ; CPU:$D741 PRG:1741 ?? adc #$0C ; CPU:$D743 PRG:1743 ?? sta Zp_42 ; CPU:$D745 PRG:1745 ?? jsr TransformValue_DA5E ; CPU:$D747 PRG:1747 ?? jsr ProcessGameState_CE86 ; CPU:$D749 PRG:1749 ?? lda #$01 ; CPU:$D74B PRG:174B ?? jsr StorePendingSoundCommand ; CPU:$D74D PRG:174D ?? jmp Flow_D8A7 ; CPU:$D74F PRG:174F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D88 F. ; Local behavior: Executes the decoded flow d88 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D88F: rts ; CPU:$D751 PRG:1751 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D890. ; Local behavior: Executes the decoded flow d890 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D890: iny ; CPU:$D753 PRG:1753 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D891. ; Local behavior: Executes the decoded flow d891 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D891: iny ; CPU:$D755 PRG:1755 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D892. ; Local behavior: Executes the decoded flow d892 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D892: iny ; CPU:$D757 PRG:1757 ?? iny ; CPU:$D759 PRG:1759 ?? jmp Flow_D7F5 ; CPU:$D75B PRG:175B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D897. ; Local behavior: Executes the decoded flow d897 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D897: dec Zp_33 ; CPU:$D75D PRG:175D ?? jmp Flow_D892 ; CPU:$D75F PRG:175F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D89 C. ; Local behavior: Executes the decoded flow d89 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D89C: lda Ram_02A0,x ; CPU:$D761 PRG:1761 ?? and #$0F ; CPU:$D763 PRG:1763 ?? bne Flow_D88F ; CPU:$D765 PRG:1765 ?? lda #$01 ; CPU:$D767 PRG:1767 ?? bne Flow_D867 ; CPU:$D769 PRG:1769 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D8 A7. ; Local behavior: Executes the decoded flow d8 a7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D8A7: lda Ram_046D ; CPU:$D76B PRG:176B ?? lsr a ; CPU:$D76D PRG:176D ?? tax ; CPU:$D76F PRG:176F ?? ldy #$02 ; CPU:$D771 PRG:1771 ?? lda #$00 ; CPU:$D773 PRG:1773 ?? clc ; CPU:$D775 PRG:1775 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D8 B1. ; Local behavior: Executes the decoded flow d8 b1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D8B1: adc Ram_02A0,x ; CPU:$D777 PRG:1777 ?? inx ; CPU:$D779 PRG:1779 ?? dey ; CPU:$D77B PRG:177B ?? bne Flow_D8B1 ; CPU:$D77D PRG:177D ?? cmp #$22 ; CPU:$D77F PRG:177F ?? bne Flow_D88F ; CPU:$D781 PRG:1781 ?? lda Ram_046D ; CPU:$D783 PRG:1783 ?? lsr a ; CPU:$D785 PRG:1785 ?? tax ; CPU:$D787 PRG:1787 ?? ldy #$02 ; CPU:$D789 PRG:1789 ?? lda #$00 ; CPU:$D78B PRG:178B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D8 C5. ; Local behavior: Executes the decoded flow d8 c5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D8C5: sta Ram_02A0,x ; CPU:$D78D PRG:178D ?? inx ; CPU:$D78F PRG:178F ?? dey ; CPU:$D791 PRG:1791 ?? bne Flow_D8C5 ; CPU:$D793 PRG:1793 ?? ldx Ram_046D ; CPU:$D795 PRG:1795 ?? lda OamBuffer,x ; CPU:$D797 PRG:1797 ?? and #$0F ; CPU:$D799 PRG:1799 ?? ora #$10 ; CPU:$D79B PRG:179B ?? sta OamBuffer,x ; CPU:$D79D PRG:179D ?? lda Zp_42 ; CPU:$D79F PRG:179F ?? sta Ram_0202,x ; CPU:$D7A1 PRG:17A1 ?? lda #$01 ; CPU:$D7A3 PRG:17A3 ?? sta Ram_0203,x ; CPU:$D7A5 PRG:17A5 ?? jsr CalculateAndClampValue_D948 ; CPU:$D7A7 PRG:17A7 ?? ldy #$00 ; CPU:$D7A9 PRG:17A9 ?? sty Zp_39 ; CPU:$D7AB PRG:17AB ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D8 EA. ; Local behavior: Executes the decoded flow d8 ea sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D8EA: ldy Zp_39 ; CPU:$D7AD PRG:17AD ?? lda Ram_0407,y ; CPU:$D7AF PRG:17AF ?? and #$A0 ; CPU:$D7B1 PRG:17B1 ?? bne Flow_D91F ; CPU:$D7B3 PRG:17B3 ?? tya ; CPU:$D7B5 PRG:17B5 ?? asl a ; CPU:$D7B7 PRG:17B7 ?? asl a ; CPU:$D7B9 PRG:17B9 ?? tay ; CPU:$D7BB PRG:17BB ?? lda Ram_0703,y ; CPU:$D7BD PRG:17BD ?? clc ; CPU:$D7BF PRG:17BF ?? adc #$08 ; CPU:$D7C1 PRG:17C1 ?? cmp Ram_0201,x ; CPU:$D7C3 PRG:17C3 ?? bcc Flow_D91F ; CPU:$D7C5 PRG:17C5 ?? sta Zp_44 ; CPU:$D7C7 PRG:17C7 ?? lda Ram_0201,x ; CPU:$D7C9 PRG:17C9 ?? clc ; CPU:$D7CB PRG:17CB ?? adc #$20 ; CPU:$D7CD PRG:17CD ?? cmp Zp_44 ; CPU:$D7CF PRG:17CF ?? bcc Flow_D91F ; CPU:$D7D1 PRG:17D1 ?? lda Ram_0700,y ; CPU:$D7D3 PRG:17D3 ?? clc ; CPU:$D7D5 PRG:17D5 ?? adc #$0C ; CPU:$D7D7 PRG:17D7 ?? sta Zp_3A ; CPU:$D7D9 PRG:17D9 ?? lda Ram_0202,x ; CPU:$D7DB PRG:17DB ?? and #$F8 ; CPU:$D7DD PRG:17DD ?? cmp Zp_3A ; CPU:$D7DF PRG:17DF ?? beq Flow_D929 ; CPU:$D7E1 PRG:17E1 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D91 F. ; Local behavior: Executes the decoded flow d91 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D91F: inc Zp_39 ; CPU:$D7E3 PRG:17E3 ?? ldy Zp_39 ; CPU:$D7E5 PRG:17E5 ?? cpy #$06 ; CPU:$D7E7 PRG:17E7 ?? bne Flow_D8EA ; CPU:$D7E9 PRG:17E9 ?? beq Flow_D947 ; CPU:$D7EB PRG:17EB ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D929. ; Local behavior: Executes the decoded flow d929 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D929: ldy Zp_39 ; CPU:$D7ED PRG:17ED ?? lda Ram_0407,y ; CPU:$D7EF PRG:17EF ?? and #$0F ; CPU:$D7F1 PRG:17F1 ?? ora #$40 ; CPU:$D7F3 PRG:17F3 ?? sta Ram_0407,y ; CPU:$D7F5 PRG:17F5 ?? txa ; CPU:$D7F7 PRG:17F7 ?? sta Ram_0450,y ; CPU:$D7F9 PRG:17F9 ?? inc Ram_0203,x ; CPU:$D7FB PRG:17FB ?? inc Ram_0203,x ; CPU:$D7FD PRG:17FD ?? lda #$09 ; CPU:$D7FF PRG:17FF ?? jsr StorePendingSoundCommand ; CPU:$D801 PRG:1801 ?? jmp Flow_D91F ; CPU:$D803 PRG:1803 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D947. ; Local behavior: Executes the decoded flow d947 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D947: rts ; CPU:$D805 PRG:1805 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Calculate And Clamp Value D948. ; Local behavior: Executes the decoded calculate and clamp value d948 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- CalculateAndClampValue_D948: inc Ram_060E ; CPU:$D807 PRG:1807 ?? ldy Ram_060E ; CPU:$D809 PRG:1809 ?? dey ; CPU:$D80B PRG:180B ?? txa ; CPU:$D80D PRG:180D ?? sta Ram_060F,y ; CPU:$D80F PRG:180F ?? tya ; CPU:$D811 PRG:1811 ?? asl a ; CPU:$D813 PRG:1813 ?? asl a ; CPU:$D815 PRG:1815 ?? tay ; CPU:$D817 PRG:1817 ?? lda Ram_0201,x ; CPU:$D819 PRG:1819 ?? sta Ram_061F,y ; CPU:$D81B PRG:181B ?? lda Ram_0202,x ; CPU:$D81D PRG:181D ?? sta Ram_061C,y ; CPU:$D81F PRG:181F ?? lda #$03 ; CPU:$D821 PRG:1821 ?? sta Ram_061E,y ; CPU:$D823 PRG:1823 ?? lda OamBuffer,x ; CPU:$D825 PRG:1825 ?? and #$0F ; CPU:$D827 PRG:1827 ?? sec ; CPU:$D829 PRG:1829 ?? sbc #$01 ; CPU:$D82B PRG:182B ?? asl a ; CPU:$D82D PRG:182D ?? asl a ; CPU:$D82F PRG:182F ?? asl a ; CPU:$D831 PRG:1831 ?? cmp #$10 ; CPU:$D833 PRG:1833 ?? bne Flow_D979 ; CPU:$D835 PRG:1835 ?? lda #$86 ; CPU:$D837 PRG:1837 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D979. ; Local behavior: Executes the decoded flow d979 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D979: clc ; CPU:$D839 PRG:1839 ?? adc #$67 ; CPU:$D83B PRG:183B ?? sta Ram_061D,y ; CPU:$D83D PRG:183D ?? rts ; CPU:$D83F PRG:183F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State D980. ; Local behavior: Executes the decoded process game state d980 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_D980: lda Ram_060E ; CPU:$D841 PRG:1841 ?? beq Flow_D997 ; CPU:$D843 PRG:1843 ?? jsr ProcessGameState_DA17 ; CPU:$D845 PRG:1845 ?? cmp #$FF ; CPU:$D847 PRG:1847 ?? beq Flow_D997 ; CPU:$D849 PRG:1849 ?? jsr ProcessGameState_D998 ; CPU:$D84B PRG:184B ?? jsr ProcessGameState_D9E9 ; CPU:$D84D PRG:184D ?? jsr ProcessGameState_DA3A ; CPU:$D84F PRG:184F ?? beq ProcessGameState_D980 ; CPU:$D851 PRG:1851 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D997. ; Local behavior: Executes the decoded flow d997 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D997: rts ; CPU:$D853 PRG:1853 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State D998. ; Local behavior: Executes the decoded process game state d998 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_D998: ldy Zp_3B ; CPU:$D855 PRG:1855 ?? lda #$00 ; CPU:$D857 PRG:1857 ?? sta Zp_3C ; CPU:$D859 PRG:1859 ?? lda #$F8 ; CPU:$D85B PRG:185B ?? sta Zp_3D ; CPU:$D85D PRG:185D ?? lda #$04 ; CPU:$D85F PRG:185F ?? sta Zp_44 ; CPU:$D861 PRG:1861 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow D9 A6. ; Local behavior: Executes the decoded flow d9 a6 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_D9A6: ldx #$00 ; CPU:$D863 PRG:1863 ?? lda Ram_061C,x ; CPU:$D865 PRG:1865 ?? sta Ram_0724,y ; CPU:$D867 PRG:1867 ?? inx ; CPU:$D869 PRG:1869 ?? iny ; CPU:$D86B PRG:186B ?? lda Ram_061C,x ; CPU:$D86D PRG:186D ?? clc ; CPU:$D86F PRG:186F ?? adc Zp_3C ; CPU:$D871 PRG:1871 ?? sta Ram_0724,y ; CPU:$D873 PRG:1873 ?? inx ; CPU:$D875 PRG:1875 ?? iny ; CPU:$D877 PRG:1877 ?? lda Ram_061C,x ; CPU:$D879 PRG:1879 ?? sta Ram_0724,y ; CPU:$D87B PRG:187B ?? inx ; CPU:$D87D PRG:187D ?? iny ; CPU:$D87F PRG:187F ?? lda Ram_061C,x ; CPU:$D881 PRG:1881 ?? clc ; CPU:$D883 PRG:1883 ?? adc Zp_3D ; CPU:$D885 PRG:1885 ?? sta Ram_0724,y ; CPU:$D887 PRG:1887 ?? inx ; CPU:$D889 PRG:1889 ?? iny ; CPU:$D88B PRG:188B ?? inc Zp_3C ; CPU:$D88D PRG:188D ?? inc Zp_3C ; CPU:$D88F PRG:188F ?? clc ; CPU:$D891 PRG:1891 ?? lda #$08 ; CPU:$D893 PRG:1893 ?? adc Zp_3D ; CPU:$D895 PRG:1895 ?? sta Zp_3D ; CPU:$D897 PRG:1897 ?? dec Zp_44 ; CPU:$D899 PRG:1899 ?? bne Flow_D9A6 ; CPU:$D89B PRG:189B ?? lda Ram_060F ; CPU:$D89D PRG:189D ?? ldx Zp_3F ; CPU:$D89F PRG:189F ?? sta Ram_0601,x ; CPU:$D8A1 PRG:18A1 ?? inc Ram_0600 ; CPU:$D8A3 PRG:18A3 ?? rts ; CPU:$D8A5 PRG:18A5 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State D9 E9. ; Local behavior: Executes the decoded process game state d9 e9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_D9E9: ldx #$00 ; CPU:$D8A7 PRG:18A7 ?? lda Ram_061C,x ; CPU:$D8A9 PRG:18A9 ?? and #$F8 ; CPU:$D8AB PRG:18AB ?? sta Zp_42 ; CPU:$D8AD PRG:18AD ?? lda Ram_061F,x ; CPU:$D8AF PRG:18AF ?? sta Zp_43 ; CPU:$D8B1 PRG:18B1 ?? lda #$04 ; CPU:$D8B3 PRG:18B3 ?? sta Ram_0502 ; CPU:$D8B5 PRG:18B5 ?? lda #$A1 ; CPU:$D8B7 PRG:18B7 ?? sta Ram_0503 ; CPU:$D8B9 PRG:18B9 ?? sta Ram_0504 ; CPU:$D8BB PRG:18BB ?? sta Ram_0505 ; CPU:$D8BD PRG:18BD ?? sta Ram_0506 ; CPU:$D8BF PRG:18BF ?? lda #$00 ; CPU:$D8C1 PRG:18C1 ?? sta Zp_3C ; CPU:$D8C3 PRG:18C3 ?? jsr TransformValue_DA5E ; CPU:$D8C5 PRG:18C5 ?? jsr TransformValue_D0E4 ; CPU:$D8C7 PRG:18C7 ?? jmp ProcessGameState_CE86 ; CPU:$D8C9 PRG:18C9 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State DA17. ; Local behavior: Executes the decoded process game state da17 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_DA17: ldx #$00 ; CPU:$D8CB PRG:18CB ?? ldy #$0D ; CPU:$D8CD PRG:18CD ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DA1 B. ; Local behavior: Executes the decoded flow da1 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DA1B: lda Ram_0724,x ; CPU:$D8CF PRG:18CF ?? cmp #$F0 ; CPU:$D8D1 PRG:18D1 ?? beq Flow_DA2D ; CPU:$D8D3 PRG:18D3 ?? txa ; CPU:$D8D5 PRG:18D5 ?? clc ; CPU:$D8D7 PRG:18D7 ?? adc #$10 ; CPU:$D8D9 PRG:18D9 ?? tax ; CPU:$D8DB PRG:18DB ?? dey ; CPU:$D8DD PRG:18DD ?? bne Flow_DA1B ; CPU:$D8DF PRG:18DF ?? lda #$FF ; CPU:$D8E1 PRG:18E1 ?? rts ; CPU:$D8E3 PRG:18E3 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DA2 D. ; Local behavior: Executes the decoded flow da2 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DA2D: sty Zp_3E ; CPU:$D8E5 PRG:18E5 ?? lda #$0D ; CPU:$D8E7 PRG:18E7 ?? sec ; CPU:$D8E9 PRG:18E9 ?? sbc Zp_3E ; CPU:$D8EB PRG:18EB ?? sta Zp_3F ; CPU:$D8ED PRG:18ED ?? txa ; CPU:$D8EF PRG:18EF ?? sta Zp_3B ; CPU:$D8F1 PRG:18F1 ?? rts ; CPU:$D8F3 PRG:18F3 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State DA3 A. ; Local behavior: Executes the decoded process game state da3 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_DA3A: ldx #$00 ; CPU:$D8F5 PRG:18F5 ?? ldy #$0C ; CPU:$D8F7 PRG:18F7 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DA3 E. ; Local behavior: Executes the decoded flow da3 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DA3E: lda Ram_0610,x ; CPU:$D8F9 PRG:18F9 ?? sta Ram_060F,x ; CPU:$D8FB PRG:18FB ?? inx ; CPU:$D8FD PRG:18FD ?? dey ; CPU:$D8FF PRG:18FF ?? bne Flow_DA3E ; CPU:$D901 PRG:1901 ?? dec Ram_060E ; CPU:$D903 PRG:1903 ?? lda #$30 ; CPU:$D905 PRG:1905 ?? sta Zp_3A ; CPU:$D907 PRG:1907 ?? ldx #$04 ; CPU:$D909 PRG:1909 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DA51. ; Local behavior: Executes the decoded flow da51 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DA51: lda Ram_061C,x ; CPU:$D90B PRG:190B ?? sta Ram_061C,y ; CPU:$D90D PRG:190D ?? inx ; CPU:$D90F PRG:190F ?? iny ; CPU:$D911 PRG:1911 ?? dec Zp_3A ; CPU:$D913 PRG:1913 ?? bne Flow_DA51 ; CPU:$D915 PRG:1915 ?? rts ; CPU:$D917 PRG:1917 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Transform Value DA5 E. ; Local behavior: Executes the decoded transform value da5 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- TransformValue_DA5E: lda #$00 ; CPU:$D919 PRG:1919 ?? sta Ram_0500 ; CPU:$D91B PRG:191B ?? lda Zp_42 ; CPU:$D91D PRG:191D ?? and #$F8 ; CPU:$D91F PRG:191F ?? sta Ram_0501 ; CPU:$D921 PRG:1921 ?? asl Ram_0501 ; CPU:$D923 PRG:1923 ?? rol Ram_0500 ; CPU:$D925 PRG:1925 ?? asl Ram_0501 ; CPU:$D927 PRG:1927 ?? rol Ram_0500 ; CPU:$D929 PRG:1929 ?? lda Zp_43 ; CPU:$D92B PRG:192B ?? and #$F8 ; CPU:$D92D PRG:192D ?? lsr a ; CPU:$D92F PRG:192F ?? lsr a ; CPU:$D931 PRG:1931 ?? lsr a ; CPU:$D933 PRG:1933 ?? clc ; CPU:$D935 PRG:1935 ?? adc Zp_3C ; CPU:$D937 PRG:1937 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State DA80. ; Local behavior: Executes the decoded process game state da80 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_DA80: clc ; CPU:$D939 PRG:1939 ?? adc Ram_0501 ; CPU:$D93B PRG:193B ?? sta Ram_0501 ; CPU:$D93D PRG:193D ?? lda #$00 ; CPU:$D93F PRG:193F ?? adc Ram_0500 ; CPU:$D941 PRG:1941 ?? sta Ram_0500 ; CPU:$D943 PRG:1943 ?? clc ; CPU:$D945 PRG:1945 ?? lda #$20 ; CPU:$D947 PRG:1947 ?? adc Ram_0500 ; CPU:$D949 PRG:1949 ?? sta Ram_0500 ; CPU:$D94B PRG:194B ?? rts ; CPU:$D94D PRG:194D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Transform Value DA99. ; Local behavior: Executes the decoded transform value da99 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- TransformValue_DA99: ldy #$06 ; CPU:$D94F PRG:194F ?? clc ; CPU:$D951 PRG:1951 ?? tya ; CPU:$D953 PRG:1953 ?? adc Ram_0403 ; CPU:$D955 PRG:1955 ?? tax ; CPU:$D957 PRG:1957 ?? lda LookupTable_DB21,x ; CPU:$D959 PRG:1959 ?? sta Ram_045B ; CPU:$D95B PRG:195B ?? lda LookupTable_DB2D,x ; CPU:$D95D PRG:195D ?? sta Ram_045C ; CPU:$D95F PRG:195F ?? lda LookupTable_DB39,x ; CPU:$D961 PRG:1961 ?? sta Ram_045D ; CPU:$D963 PRG:1963 ?? lda #$00 ; CPU:$D965 PRG:1965 ?? sta Ram_0461 ; CPU:$D967 PRG:1967 ?? sta Ram_0462 ; CPU:$D969 PRG:1969 ?? sta Ram_045E ; CPU:$D96B PRG:196B ?? sta Ram_045F ; CPU:$D96D PRG:196D ?? sta Ram_0460 ; CPU:$D96F PRG:196F ?? sta Ram_042F ; CPU:$D971 PRG:1971 ?? ldx CurrentPlayerIndex ; CPU:$D973 PRG:1973 ?? lda Ram_0400,x ; CPU:$D975 PRG:1975 ?? lsr a ; CPU:$D977 PRG:1977 ?? lsr a ; CPU:$D979 PRG:1979 ?? sta Zp_32 ; CPU:$D97B PRG:197B ?? lda Ram_046A ; CPU:$D97D PRG:197D ?? and #$10 ; CPU:$D97F PRG:197F ?? bne Flow_DAD9 ; CPU:$D981 PRG:1981 ?? inc Zp_32 ; CPU:$D983 PRG:1983 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DAD9. ; Local behavior: Executes the decoded flow dad9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DAD9: lda Zp_32 ; CPU:$D985 PRG:1985 ?? cmp #$08 ; CPU:$D987 PRG:1987 ?? bcc Flow_DAE1 ; CPU:$D989 PRG:1989 ?? lda #$07 ; CPU:$D98B PRG:198B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DAE1. ; Local behavior: Executes the decoded flow dae1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DAE1: tax ; CPU:$D98D PRG:198D ?? lda LookupTable_DB0F,x ; CPU:$D98F PRG:198F ?? ldy #$05 ; CPU:$D991 PRG:1991 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DAE7. ; Local behavior: Executes the decoded flow dae7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DAE7: sta Ram_0430,y ; CPU:$D993 PRG:1993 ?? dey ; CPU:$D995 PRG:1995 ?? bpl Flow_DAE7 ; CPU:$D997 PRG:1997 ?? lda LookupTable_DB18,x ; CPU:$D999 PRG:1999 ?? ldy #$05 ; CPU:$D99B PRG:199B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DAF2. ; Local behavior: Executes the decoded flow daf2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DAF2: sta Ram_0440,y ; CPU:$D99D PRG:199D ?? dey ; CPU:$D99F PRG:199F ?? bpl Flow_DAF2 ; CPU:$D9A1 PRG:19A1 ?? ldx #$00 ; CPU:$D9A3 PRG:19A3 ?? lda Ram_046A ; CPU:$D9A5 PRG:19A5 ?? and #$10 ; CPU:$D9A7 PRG:19A7 ?? bne Flow_DB02 ; CPU:$D9A9 PRG:19A9 ?? inx ; CPU:$D9AB PRG:19AB ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DB02. ; Local behavior: Executes the decoded flow db02 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DB02: lda LookupTable_DB13,x ; CPU:$D9AD PRG:19AD ?? sta Ram_0437 ; CPU:$D9AF PRG:19AF ?? lda LookupTable_DB1C,x ; CPU:$D9B1 PRG:19B1 ?? sta Ram_0447 ; CPU:$D9B3 PRG:19B3 ?? rts ; CPU:$D9B5 PRG:19B5 ?? LookupTable_DB0F: .byte $0F,$03,$07,$0F ; PRG $1B0F | CPU $DB0F ; CPU:$D9B7 PRG:19B7 0F 03 07 0F LookupTable_DB13: .byte $03,$07,$0F,$03,$07 ; PRG $1B13 | CPU $DB13 ; CPU:$D9BB PRG:19BB 03 07 0F 03 07 LookupTable_DB18: .byte $04,$03,$03,$03 ; PRG $1B18 | CPU $DB18 ; CPU:$D9C0 PRG:19C0 04 03 03 03 LookupTable_DB1C: .byte $02,$02,$02,$01,$01 ; PRG $1B1C | CPU $DB1C ; CPU:$D9C4 PRG:19C4 02 02 02 01 01 LookupTable_DB21: .byte $03,$03,$02,$04,$00,$02,$05,$05,$02,$04,$00,$02 ; PRG $1B21 | CPU $DB21 ; CPU:$D9C9 PRG:19C9 03 03 02 04 00 02 05 05 02 04 00 02 LookupTable_DB2D: .byte $00,$00,$03,$02,$02,$02,$00,$00,$03,$02,$02,$02 ; PRG $1B2D | CPU $DB2D ; CPU:$D9D5 PRG:19D5 00 00 03 02 02 02 00 00 03 02 02 02 LookupTable_DB39: .byte $01,$01,$01,$00,$04,$02,$01,$01,$01,$00,$04,$02 ; PRG $1B39 | CPU $DB39 ; CPU:$D9E1 PRG:19E1 01 01 01 00 04 02 01 01 01 00 04 02 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State DB45. ; Local behavior: Executes the decoded process game state db45 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_DB45: lda Ram_040E ; CPU:$D9ED PRG:19ED ?? bmi Flow_DBBA ; CPU:$D9EF PRG:19EF ?? lda Zp_45 ; CPU:$D9F1 PRG:19F1 ?? and #$1F ; CPU:$D9F3 PRG:19F3 ?? bne Flow_DBBA ; CPU:$D9F5 PRG:19F5 ?? inc Ram_0461 ; CPU:$D9F7 PRG:19F7 ?? ldx Ram_0461 ; CPU:$D9F9 PRG:19F9 ?? cpx #$03 ; CPU:$D9FB PRG:19FB ?? bne Flow_DB5C ; CPU:$D9FD PRG:19FD ?? ldx #$00 ; CPU:$D9FF PRG:19FF ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DB5 C. ; Local behavior: Executes the decoded flow db5 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DB5C: stx Ram_0461 ; CPU:$DA01 PRG:1A01 ?? lda Ram_045B,x ; CPU:$DA03 PRG:1A03 ?? cmp Ram_045E,x ; CPU:$DA05 PRG:1A05 ?? beq Flow_DBBA ; CPU:$DA07 PRG:1A07 ?? ldy #$00 ; CPU:$DA09 PRG:1A09 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DB69. ; Local behavior: Executes the decoded flow db69 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DB69: lda Ram_0407,y ; CPU:$DA0B PRG:1A0B ?? cmp #$FF ; CPU:$DA0D PRG:1A0D ?? beq Flow_DB78 ; CPU:$DA0F PRG:1A0F ?? iny ; CPU:$DA11 PRG:1A11 ?? cpy #$06 ; CPU:$DA13 PRG:1A13 ?? bne Flow_DB69 ; CPU:$DA15 PRG:1A15 ?? jmp Flow_DBBA ; CPU:$DA17 PRG:1A17 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DB78. ; Local behavior: Executes the decoded flow db78 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DB78: inc Ram_045E,x ; CPU:$DA19 PRG:1A19 ?? inx ; CPU:$DA1B PRG:1A1B ?? txa ; CPU:$DA1D PRG:1A1D ?? ora #$20 ; CPU:$DA1F PRG:1A1F ?? sta Ram_0407,y ; CPU:$DA21 PRG:1A21 ?? sty Zp_39 ; CPU:$DA23 PRG:1A23 ?? lda #$01 ; CPU:$DA25 PRG:1A25 ?? sta Ram_0438,y ; CPU:$DA27 PRG:1A27 ?? inc Ram_0462 ; CPU:$DA29 PRG:1A29 ?? lda Ram_0462 ; CPU:$DA2B PRG:1A2B ?? and #$03 ; CPU:$DA2D PRG:1A2D ?? sta Ram_0462 ; CPU:$DA2F PRG:1A2F ?? and #$01 ; CPU:$DA31 PRG:1A31 ?? tax ; CPU:$DA33 PRG:1A33 ?? lda LookupTable_DBBB,x ; CPU:$DA35 PRG:1A35 ?? sta Ram_0448,y ; CPU:$DA37 PRG:1A37 ?? tya ; CPU:$DA39 PRG:1A39 ?? asl a ; CPU:$DA3B PRG:1A3B ?? asl a ; CPU:$DA3D PRG:1A3D ?? tay ; CPU:$DA3F PRG:1A3F ?? lda LookupTable_DBBD,x ; CPU:$DA41 PRG:1A41 ?? sta Ram_0703,y ; CPU:$DA43 PRG:1A43 ?? lda Ram_0402 ; CPU:$DA45 PRG:1A45 ?? asl a ; CPU:$DA47 PRG:1A47 ?? asl a ; CPU:$DA49 PRG:1A49 ?? clc ; CPU:$DA4B PRG:1A4B ?? adc Ram_0462 ; CPU:$DA4D PRG:1A4D ?? tax ; CPU:$DA4F PRG:1A4F ?? lda LookupTable_DBC0,x ; CPU:$DA51 PRG:1A51 ?? sta Ram_0700,y ; CPU:$DA53 PRG:1A53 ?? jsr TransformValue_DCE6 ; CPU:$DA55 PRG:1A55 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DBBA. ; Local behavior: Executes the decoded flow dbba sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DBBA: rts ; CPU:$DA57 PRG:1A57 ?? LookupTable_DBBB: .byte $20,$40 ; PRG $1BBB | CPU $DBBB ; CPU:$DA59 PRG:1A59 20 40 LookupTable_DBBD: .byte $F0,$00,$1C ; PRG $1BBD | CPU $DBBD ; CPU:$DA5B PRG:1A5B F0 00 1C LookupTable_DBC0: .byte $1C,$AC,$AC,$1C,$1C,$5C,$5C,$1C,$1C,$AC,$AC,$1C,$1C,$8C,$8C,$1C ; PRG $1BC0 | CPU $DBC0 ; CPU:$DA5E PRG:1A5E 1C AC AC 1C 1C 5C 5C 1C 1C AC AC 1C 1C 8C 8C 1C .byte $1C,$CC,$CC,$2C,$1C,$AC,$9C ; PRG $1BD0 | CPU $DBD0 ; CPU:$DA6E PRG:1A6E 1C CC CC 2C 1C AC 9C ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State DBD7. ; Local behavior: Executes the decoded process game state dbd7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_DBD7: lda Ram_040E ; CPU:$DA75 PRG:1A75 ?? bmi Flow_DBF1 ; CPU:$DA77 PRG:1A77 ?? ldx #$00 ; CPU:$DA79 PRG:1A79 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DBDE. ; Local behavior: Executes the decoded flow dbde sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DBDE: lda Ram_0407,x ; CPU:$DA7B PRG:1A7B ?? and #$D0 ; CPU:$DA7D PRG:1A7D ?? bne Flow_DBEC ; CPU:$DA7F PRG:1A7F ?? lda Ram_0407,x ; CPU:$DA81 PRG:1A81 ?? and #$20 ; CPU:$DA83 PRG:1A83 ?? bne Flow_DBF2 ; CPU:$DA85 PRG:1A85 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DBEC. ; Local behavior: Executes the decoded flow dbec sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DBEC: inx ; CPU:$DA87 PRG:1A87 ?? cpx #$06 ; CPU:$DA89 PRG:1A89 ?? bne Flow_DBDE ; CPU:$DA8B PRG:1A8B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DBF1. ; Local behavior: Executes the decoded flow dbf1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DBF1: rts ; CPU:$DA8D PRG:1A8D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DBF2. ; Local behavior: Executes the decoded flow dbf2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DBF2: stx Ram_040F ; CPU:$DA8F PRG:1A8F ?? lda Ram_0448,x ; CPU:$DA91 PRG:1A91 ?? sta Ram_0410 ; CPU:$DA93 PRG:1A93 ?? txa ; CPU:$DA95 PRG:1A95 ?? asl a ; CPU:$DA97 PRG:1A97 ?? asl a ; CPU:$DA99 PRG:1A99 ?? tay ; CPU:$DA9B PRG:1A9B ?? lda Ram_0703,y ; CPU:$DA9D PRG:1A9D ?? sta Zp_32 ; CPU:$DA9F PRG:1A9F ?? lda Ram_0700,y ; CPU:$DAA1 PRG:1AA1 ?? sta Zp_33 ; CPU:$DAA3 PRG:1AA3 ?? lda Zp_32 ; CPU:$DAA5 PRG:1AA5 ?? cmp #$DD ; CPU:$DAA7 PRG:1AA7 ?? bcs Flow_DC69 ; CPU:$DAA9 PRG:1AA9 ?? cmp #$1C ; CPU:$DAAB PRG:1AAB ?? bcc Flow_DC59 ; CPU:$DAAD PRG:1AAD ?? jsr ProcessGameState_E056 ; CPU:$DAAF PRG:1AAF ?? bne Flow_DC53 ; CPU:$DAB1 PRG:1AB1 ?? cmp #$10 ; CPU:$DAB3 PRG:1AB3 ?? beq Flow_DC2C ; CPU:$DAB5 PRG:1AB5 ?? cmp #$40 ; CPU:$DAB7 PRG:1AB7 ?? beq Flow_DC2C ; CPU:$DAB9 PRG:1AB9 ?? cmp #$70 ; CPU:$DABB PRG:1ABB ?? beq Flow_DC2C ; CPU:$DABD PRG:1ABD ?? cmp #$A0 ; CPU:$DABF PRG:1ABF ?? beq Flow_DC2C ; CPU:$DAC1 PRG:1AC1 ?? cmp #$D0 ; CPU:$DAC3 PRG:1AC3 ?? bne Flow_DC53 ; CPU:$DAC5 PRG:1AC5 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DC2 C. ; Local behavior: Executes the decoded flow dc2 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DC2C: jsr ProcessGameState_E03C ; CPU:$DAC7 PRG:1AC7 ?? bne Flow_DC3B ; CPU:$DAC9 PRG:1AC9 ?? jsr ProcessGameState_E01C ; CPU:$DACB PRG:1ACB ?? beq Flow_DC42 ; CPU:$DACD PRG:1ACD ?? jsr ProcessGameState_E02C ; CPU:$DACF PRG:1ACF ?? beq Flow_DC42 ; CPU:$DAD1 PRG:1AD1 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DC3 B. ; Local behavior: Executes the decoded flow dc3 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DC3B: jsr UpdateObjectState_DFE0 ; CPU:$DAD3 PRG:1AD3 ?? beq Flow_DC42 ; CPU:$DAD5 PRG:1AD5 ?? bne Flow_DC76 ; CPU:$DAD7 PRG:1AD7 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DC42. ; Local behavior: Executes the decoded flow dc42 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DC42: ldx Ram_040F ; CPU:$DAD9 PRG:1AD9 ?? lda Ram_0407,x ; CPU:$DADB PRG:1ADB ?? and #$0F ; CPU:$DADD PRG:1ADD ?? sta Ram_0407,x ; CPU:$DADF PRG:1ADF ?? jsr ProcessGameState_E10D ; CPU:$DAE1 PRG:1AE1 ?? jmp Flow_DC76 ; CPU:$DAE3 PRG:1AE3 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DC53. ; Local behavior: Executes the decoded flow dc53 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DC53: lda Zp_32 ; CPU:$DAE5 PRG:1AE5 ?? cmp #$80 ; CPU:$DAE7 PRG:1AE7 ?? bcc Flow_DC69 ; CPU:$DAE9 PRG:1AE9 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DC59. ; Local behavior: Executes the decoded flow dc59 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DC59: ldx Ram_040F ; CPU:$DAEB PRG:1AEB ?? lda Ram_0448,x ; CPU:$DAED PRG:1AED ?? and #$0F ; CPU:$DAEF PRG:1AEF ?? ora #$20 ; CPU:$DAF1 PRG:1AF1 ?? sta Ram_0448,x ; CPU:$DAF3 PRG:1AF3 ?? jmp Flow_DC76 ; CPU:$DAF5 PRG:1AF5 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DC69. ; Local behavior: Executes the decoded flow dc69 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DC69: ldx Ram_040F ; CPU:$DAF7 PRG:1AF7 ?? lda Ram_0448,x ; CPU:$DAF9 PRG:1AF9 ?? and #$0F ; CPU:$DAFB PRG:1AFB ?? ora #$40 ; CPU:$DAFD PRG:1AFD ?? sta Ram_0448,x ; CPU:$DAFF PRG:1AFF ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DC76. ; Local behavior: Executes the decoded flow dc76 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DC76: ldx Ram_040F ; CPU:$DB01 PRG:1B01 ?? jsr UpdateStateField_D27E ; CPU:$DB03 PRG:1B03 ?? ldx Ram_040F ; CPU:$DB05 PRG:1B05 ?? jmp Flow_DBEC ; CPU:$DB07 PRG:1B07 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State DC82. ; Local behavior: Executes the decoded process game state dc82 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_DC82: lda Zp_45 ; CPU:$DB09 PRG:1B09 ?? and #$3F ; CPU:$DB0B PRG:1B0B ?? bne Flow_DCE5 ; CPU:$DB0D PRG:1B0D ?? inc Ram_042F ; CPU:$DB0F PRG:1B0F ?? lda Ram_042F ; CPU:$DB11 PRG:1B11 ?? cmp #$14 ; CPU:$DB13 PRG:1B13 ?? bcc Flow_DCBB ; CPU:$DB15 PRG:1B15 ?? lda #$00 ; CPU:$DB17 PRG:1B17 ?? sta Ram_042F ; CPU:$DB19 PRG:1B19 ?? ldx #$05 ; CPU:$DB1B PRG:1B1B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DC99. ; Local behavior: Executes the decoded flow dc99 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DC99: lda Ram_0430,x ; CPU:$DB1D PRG:1B1D ?? and #$10 ; CPU:$DB1F PRG:1B1F ?? beq Flow_DCB1 ; CPU:$DB21 PRG:1B21 ?? lda Ram_0440,x ; CPU:$DB23 PRG:1B23 ?? cmp #$02 ; CPU:$DB25 PRG:1B25 ?? beq Flow_DCB8 ; CPU:$DB27 PRG:1B27 ?? dec Ram_0440,x ; CPU:$DB29 PRG:1B29 ?? lda #$03 ; CPU:$DB2B PRG:1B2B ?? sta Ram_0430,x ; CPU:$DB2D PRG:1B2D ?? bne Flow_DCB8 ; CPU:$DB2F PRG:1B2F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DCB1. ; Local behavior: Executes the decoded flow dcb1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DCB1: sec ; CPU:$DB31 PRG:1B31 ?? lda Ram_0430,x ; CPU:$DB33 PRG:1B33 ?? rol Ram_0430,x ; CPU:$DB35 PRG:1B35 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DCB8. ; Local behavior: Executes the decoded flow dcb8 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DCB8: dex ; CPU:$DB37 PRG:1B37 ?? bpl Flow_DC99 ; CPU:$DB39 PRG:1B39 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DCBB. ; Local behavior: Executes the decoded flow dcbb sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DCBB: ldy #$05 ; CPU:$DB3B PRG:1B3B ?? ldx #$14 ; CPU:$DB3D PRG:1B3D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DCBF. ; Local behavior: Executes the decoded flow dcbf sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DCBF: lda Ram_0407,y ; CPU:$DB3F PRG:1B3F ?? bmi Flow_DCCC ; CPU:$DB41 PRG:1B41 ?? lda Ram_0412,x ; CPU:$DB43 PRG:1B43 ?? beq Flow_DCD5 ; CPU:$DB45 PRG:1B45 ?? dec Ram_0412,x ; CPU:$DB47 PRG:1B47 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DCCC. ; Local behavior: Executes the decoded flow dccc sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DCCC: dey ; CPU:$DB49 PRG:1B49 ?? dex ; CPU:$DB4B PRG:1B4B ?? dex ; CPU:$DB4D PRG:1B4D ?? dex ; CPU:$DB4F PRG:1B4F ?? dex ; CPU:$DB51 PRG:1B51 ?? bpl Flow_DCBF ; CPU:$DB53 PRG:1B53 ?? bmi Flow_DCE5 ; CPU:$DB55 PRG:1B55 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DCD5. ; Local behavior: Executes the decoded flow dcd5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DCD5: txa ; CPU:$DB57 PRG:1B57 ?? pha ; CPU:$DB59 PRG:1B59 ?? tya ; CPU:$DB5B PRG:1B5B ?? pha ; CPU:$DB5D PRG:1B5D ?? sty Zp_39 ; CPU:$DB5F PRG:1B5F ?? jsr TransformValue_DCE6 ; CPU:$DB61 PRG:1B61 ?? pla ; CPU:$DB63 PRG:1B63 ?? tay ; CPU:$DB65 PRG:1B65 ?? pla ; CPU:$DB67 PRG:1B67 ?? tax ; CPU:$DB69 PRG:1B69 ?? jmp Flow_DCCC ; CPU:$DB6B PRG:1B6B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DCE5. ; Local behavior: Executes the decoded flow dce5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DCE5: rts ; CPU:$DB6D PRG:1B6D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Transform Value DCE6. ; Local behavior: Executes the decoded transform value dce6 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- TransformValue_DCE6: ldy Zp_39 ; CPU:$DB6F PRG:1B6F ?? lda Ram_0407,y ; CPU:$DB71 PRG:1B71 ?? and #$03 ; CPU:$DB73 PRG:1B73 ?? asl a ; CPU:$DB75 PRG:1B75 ?? tay ; CPU:$DB77 PRG:1B77 ?? lda LookupTable_DD28,y ; CPU:$DB79 PRG:1B79 ?? sta Zp_32 ; CPU:$DB7B PRG:1B7B ?? lda Flow_DD29,y ; CPU:$DB7D PRG:1B7D ?? sta Zp_33 ; CPU:$DB7F PRG:1B7F ?? lda LookupTable_DD2E,y ; CPU:$DB81 PRG:1B81 ?? sta Zp_34 ; CPU:$DB83 PRG:1B83 ?? lda LookupTable_DD2F,y ; CPU:$DB85 PRG:1B85 ?? sta Zp_35 ; CPU:$DB87 PRG:1B87 ?? lda Zp_39 ; CPU:$DB89 PRG:1B89 ?? asl a ; CPU:$DB8B PRG:1B8B ?? asl a ; CPU:$DB8D PRG:1B8D ?? tax ; CPU:$DB8F PRG:1B8F ?? ldy Ram_0414,x ; CPU:$DB91 PRG:1B91 ?? lda (Zp_32),y ; CPU:$DB93 PRG:1B93 ?? sta Ram_0411,x ; CPU:$DB95 PRG:1B95 ?? lda (Zp_34),y ; CPU:$DB97 PRG:1B97 ?? sta Ram_0412,x ; CPU:$DB99 PRG:1B99 ?? lda #$00 ; CPU:$DB9B PRG:1B9B ?? sta Ram_0413,x ; CPU:$DB9D PRG:1B9D ?? inc Ram_0414,x ; CPU:$DB9F PRG:1B9F ?? ldy Ram_0414,x ; CPU:$DBA1 PRG:1BA1 ?? lda (Zp_32),y ; CPU:$DBA3 PRG:1BA3 ?? bpl Flow_DD29 ; CPU:$DBA5 PRG:1BA5 ?? lda #$00 ; CPU:$DBA7 PRG:1BA7 ?? sta Ram_0414,x ; CPU:$DBA9 PRG:1BA9 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DD29. ; Local behavior: Executes the decoded flow dd29 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DD29: rts ; CPU:$DBAB PRG:1BAB ?? .byte $36,$DD,$4B,$DD ; PRG $1D2A | CPU $DD2A ; CPU:$DBAD PRG:1BAD 36 DD 4B DD LookupTable_DD2E: .byte $58 ; PRG $1D2E | CPU $DD2E ; CPU:$DBB1 PRG:1BB1 58 LookupTable_DD2F: .byte $DD,$41,$DD,$52,$DD,$5D,$DD,$04,$03,$04,$05,$04,$04,$05,$04,$04 ; PRG $1D2F | CPU $DD2F ; CPU:$DBB2 PRG:1BB2 DD 41 DD 52 DD 5D DD 04 03 04 05 04 04 05 04 04 .byte $04,$FF,$03,$03,$07,$05,$03,$03,$05,$03,$03,$03,$03,$03,$04,$03 ; PRG $1D3F | CPU $DD3F ; CPU:$DBC2 PRG:1BC2 04 FF 03 03 07 05 03 03 05 03 03 03 03 03 04 03 .byte $03,$04,$FF,$03,$03,$07,$09,$0D,$03,$05,$05,$04,$05,$FF,$09,$17 ; PRG $1D4F | CPU $DD4F ; CPU:$DBD2 PRG:1BD2 03 04 FF 03 03 07 09 0D 03 05 05 04 05 FF 09 17 .byte $09,$13 ; PRG $1D5F | CPU $DD5F ; CPU:$DBE2 PRG:1BE2 09 13 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State DD61. ; Local behavior: Executes the decoded process game state dd61 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_DD61: lda Ram_040E ; CPU:$DBE4 PRG:1BE4 ?? bmi Flow_DD7A ; CPU:$DBE6 PRG:1BE6 ?? ldx #$05 ; CPU:$DBE8 PRG:1BE8 ?? stx Ram_040F ; CPU:$DBEA PRG:1BEA ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DD6 B. ; Local behavior: Executes the decoded flow dd6 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DD6B: ldx Ram_040F ; CPU:$DBEC PRG:1BEC ?? lda Ram_0407,x ; CPU:$DBEE PRG:1BEE ?? and #$F0 ; CPU:$DBF0 PRG:1BF0 ?? beq Flow_DD7B ; CPU:$DBF2 PRG:1BF2 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DD75. ; Local behavior: Executes the decoded flow dd75 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DD75: dec Ram_040F ; CPU:$DBF4 PRG:1BF4 ?? bpl Flow_DD6B ; CPU:$DBF6 PRG:1BF6 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DD7 A. ; Local behavior: Executes the decoded flow dd7 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DD7A: rts ; CPU:$DBF8 PRG:1BF8 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DD7 B. ; Local behavior: Executes the decoded flow dd7 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DD7B: txa ; CPU:$DBFA PRG:1BFA ?? asl a ; CPU:$DBFC PRG:1BFC ?? asl a ; CPU:$DBFE PRG:1BFE ?? tay ; CPU:$DC00 PRG:1C00 ?? lda Ram_0703,y ; CPU:$DC02 PRG:1C02 ?? sta Zp_32 ; CPU:$DC04 PRG:1C04 ?? lda Ram_0700,y ; CPU:$DC06 PRG:1C06 ?? cmp #$1B ; CPU:$DC08 PRG:1C08 ?? bne Flow_DD90 ; CPU:$DC0A PRG:1C0A ?? lda #$1C ; CPU:$DC0C PRG:1C0C ?? sta Ram_0700,y ; CPU:$DC0E PRG:1C0E ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DD90. ; Local behavior: Executes the decoded flow dd90 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DD90: sta Zp_33 ; CPU:$DC10 PRG:1C10 ?? lda Ram_0429,x ; CPU:$DC12 PRG:1C12 ?? beq Flow_DD9D ; CPU:$DC14 PRG:1C14 ?? dec Ram_0429,x ; CPU:$DC16 PRG:1C16 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DD9 A. ; Local behavior: Executes the decoded flow dd9 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DD9A: jmp Flow_DE69 ; CPU:$DC18 PRG:1C18 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DD9 D. ; Local behavior: Executes the decoded flow dd9 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DD9D: jsr ProcessGameState_E03C ; CPU:$DC1A PRG:1C1A ?? bne Flow_DD9A ; CPU:$DC1C PRG:1C1C ?? jsr ProcessGameState_E056 ; CPU:$DC1E PRG:1C1E ?? bne Flow_DD9A ; CPU:$DC20 PRG:1C20 ?? lda Ram_071F ; CPU:$DC22 PRG:1C22 ?? sta Zp_49 ; CPU:$DC24 PRG:1C24 ?? lda Ram_071C ; CPU:$DC26 PRG:1C26 ?? sta Zp_4A ; CPU:$DC28 PRG:1C28 ?? lda Ram_040F ; CPU:$DC2A PRG:1C2A ?? asl a ; CPU:$DC2C PRG:1C2C ?? asl a ; CPU:$DC2E PRG:1C2E ?? tax ; CPU:$DC30 PRG:1C30 ?? ldy Ram_0411,x ; CPU:$DC32 PRG:1C32 ?? beq Flow_DDCA ; CPU:$DC34 PRG:1C34 ?? dey ; CPU:$DC36 PRG:1C36 ?? beq Flow_DDCD ; CPU:$DC38 PRG:1C38 ?? dey ; CPU:$DC3A PRG:1C3A ?? beq Flow_DDD0 ; CPU:$DC3C PRG:1C3C ?? dey ; CPU:$DC3E PRG:1C3E ?? beq Flow_DDD3 ; CPU:$DC40 PRG:1C40 ?? dey ; CPU:$DC42 PRG:1C42 ?? beq Flow_DDDA ; CPU:$DC44 PRG:1C44 ?? bne Flow_DDF4 ; CPU:$DC46 PRG:1C46 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DDCA. ; Local behavior: Executes the decoded flow ddca sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DDCA: jmp Flow_DDDA ; CPU:$DC48 PRG:1C48 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DDCD. ; Local behavior: Executes the decoded flow ddcd sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DDCD: jmp Flow_DDF4 ; CPU:$DC4A PRG:1C4A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DDD0. ; Local behavior: Executes the decoded flow ddd0 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DDD0: jmp Flow_DDDA ; CPU:$DC4C PRG:1C4C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DDD3. ; Local behavior: Executes the decoded flow ddd3 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DDD3: lda Zp_49 ; CPU:$DC4E PRG:1C4E ?? sec ; CPU:$DC50 PRG:1C50 ?? sbc #$08 ; CPU:$DC52 PRG:1C52 ?? sta Zp_49 ; CPU:$DC54 PRG:1C54 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DDDA. ; Local behavior: Executes the decoded flow ddda sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DDDA: ldx Ram_040F ; CPU:$DC56 PRG:1C56 ?? lda Ram_0448,x ; CPU:$DC58 PRG:1C58 ?? sta Ram_0410 ; CPU:$DC5A PRG:1C5A ?? and #$F0 ; CPU:$DC5C PRG:1C5C ?? cmp #$20 ; CPU:$DC5E PRG:1C5E ?? beq Flow_DDFD ; CPU:$DC60 PRG:1C60 ?? cmp #$40 ; CPU:$DC62 PRG:1C62 ?? beq Flow_DE0F ; CPU:$DC64 PRG:1C64 ?? cmp #$60 ; CPU:$DC66 PRG:1C66 ?? beq Flow_DE21 ; CPU:$DC68 PRG:1C68 ?? jmp Flow_DE33 ; CPU:$DC6A PRG:1C6A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DDF4. ; Local behavior: Executes the decoded flow ddf4 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DDF4: lda Zp_4A ; CPU:$DC6C PRG:1C6C ?? adc #$08 ; CPU:$DC6E PRG:1C6E ?? sta Zp_4A ; CPU:$DC70 PRG:1C70 ?? jmp Flow_DDDA ; CPU:$DC72 PRG:1C72 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DDFD. ; Local behavior: Executes the decoded flow ddfd sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DDFD: lda Zp_4A ; CPU:$DC74 PRG:1C74 ?? and #$FC ; CPU:$DC76 PRG:1C76 ?? sta Zp_34 ; CPU:$DC78 PRG:1C78 ?? lda Zp_33 ; CPU:$DC7A PRG:1C7A ?? and #$FC ; CPU:$DC7C PRG:1C7C ?? cmp Zp_34 ; CPU:$DC7E PRG:1C7E ?? bcs Flow_DE45 ; CPU:$DC80 PRG:1C80 ?? beq Flow_DE48 ; CPU:$DC82 PRG:1C82 ?? bcc Flow_DE4B ; CPU:$DC84 PRG:1C84 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE0 F. ; Local behavior: Executes the decoded flow de0 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE0F: lda Zp_4A ; CPU:$DC86 PRG:1C86 ?? and #$FC ; CPU:$DC88 PRG:1C88 ?? sta Zp_34 ; CPU:$DC8A PRG:1C8A ?? lda Zp_33 ; CPU:$DC8C PRG:1C8C ?? and #$FC ; CPU:$DC8E PRG:1C8E ?? cmp Zp_34 ; CPU:$DC90 PRG:1C90 ?? bcs Flow_DE4E ; CPU:$DC92 PRG:1C92 ?? beq Flow_DE51 ; CPU:$DC94 PRG:1C94 ?? bcc Flow_DE54 ; CPU:$DC96 PRG:1C96 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE21. ; Local behavior: Executes the decoded flow de21 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE21: lda Zp_49 ; CPU:$DC98 PRG:1C98 ?? and #$FC ; CPU:$DC9A PRG:1C9A ?? sta Zp_34 ; CPU:$DC9C PRG:1C9C ?? lda Zp_32 ; CPU:$DC9E PRG:1C9E ?? and #$FC ; CPU:$DCA0 PRG:1CA0 ?? cmp Zp_34 ; CPU:$DCA2 PRG:1CA2 ?? bcc Flow_DE57 ; CPU:$DCA4 PRG:1CA4 ?? beq Flow_DE5A ; CPU:$DCA6 PRG:1CA6 ?? bcs Flow_DE5D ; CPU:$DCA8 PRG:1CA8 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE33. ; Local behavior: Executes the decoded flow de33 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE33: lda Zp_49 ; CPU:$DCAA PRG:1CAA ?? and #$FC ; CPU:$DCAC PRG:1CAC ?? sta Zp_34 ; CPU:$DCAE PRG:1CAE ?? lda Zp_32 ; CPU:$DCB0 PRG:1CB0 ?? and #$FC ; CPU:$DCB2 PRG:1CB2 ?? cmp Zp_34 ; CPU:$DCB4 PRG:1CB4 ?? bcc Flow_DE60 ; CPU:$DCB6 PRG:1CB6 ?? beq Flow_DE63 ; CPU:$DCB8 PRG:1CB8 ?? bcs Flow_DE66 ; CPU:$DCBA PRG:1CBA ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE45. ; Local behavior: Executes the decoded flow de45 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE45: jmp Flow_DE94 ; CPU:$DCBC PRG:1CBC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE48. ; Local behavior: Executes the decoded flow de48 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE48: jmp Flow_DEAB ; CPU:$DCBE PRG:1CBE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE4 B. ; Local behavior: Executes the decoded flow de4 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE4B: jmp Flow_DEC2 ; CPU:$DCC0 PRG:1CC0 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE4 E. ; Local behavior: Executes the decoded flow de4 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE4E: jmp Flow_DED9 ; CPU:$DCC2 PRG:1CC2 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE51. ; Local behavior: Executes the decoded flow de51 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE51: jmp Flow_DEF3 ; CPU:$DCC4 PRG:1CC4 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE54. ; Local behavior: Executes the decoded flow de54 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE54: jmp Flow_DF0A ; CPU:$DCC6 PRG:1CC6 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE57. ; Local behavior: Executes the decoded flow de57 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE57: jmp Flow_DF21 ; CPU:$DCC8 PRG:1CC8 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE5 A. ; Local behavior: Executes the decoded flow de5 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE5A: jmp Flow_DF38 ; CPU:$DCCA PRG:1CCA ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE5 D. ; Local behavior: Executes the decoded flow de5 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE5D: jmp Flow_DF4F ; CPU:$DCCC PRG:1CCC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE60. ; Local behavior: Executes the decoded flow de60 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE60: jmp Flow_DF66 ; CPU:$DCCE PRG:1CCE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE63. ; Local behavior: Executes the decoded flow de63 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE63: jmp Flow_DF7D ; CPU:$DCD0 PRG:1CD0 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE66. ; Local behavior: Executes the decoded flow de66 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE66: jmp Flow_DF94 ; CPU:$DCD2 PRG:1CD2 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE69. ; Local behavior: Executes the decoded flow de69 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE69: ldx Ram_040F ; CPU:$DCD4 PRG:1CD4 ?? jsr DispatchHandler_D44F ; CPU:$DCD6 PRG:1CD6 ?? bne Flow_DE7A ; CPU:$DCD8 PRG:1CD8 ?? ldx Ram_040F ; CPU:$DCDA PRG:1CDA ?? jsr UpdateStateField_D27E ; CPU:$DCDC PRG:1CDC ?? jmp Flow_DD75 ; CPU:$DCDE PRG:1CDE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE7 A. ; Local behavior: Executes the decoded flow de7 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE7A: ldx Ram_040F ; CPU:$DCE0 PRG:1CE0 ?? lda Ram_0448,x ; CPU:$DCE2 PRG:1CE2 ?? sta Ram_0410 ; CPU:$DCE4 PRG:1CE4 ?? and #$F0 ; CPU:$DCE6 PRG:1CE6 ?? cmp #$20 ; CPU:$DCE8 PRG:1CE8 ?? beq Flow_DEAB ; CPU:$DCEA PRG:1CEA ?? cmp #$40 ; CPU:$DCEC PRG:1CEC ?? beq Flow_DE51 ; CPU:$DCEE PRG:1CEE ?? cmp #$60 ; CPU:$DCF0 PRG:1CF0 ?? beq Flow_DE5A ; CPU:$DCF2 PRG:1CF2 ?? jmp Flow_DF7D ; CPU:$DCF4 PRG:1CF4 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DE94. ; Local behavior: Executes the decoded flow de94 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DE94: jsr UpdateObjectState_DFE0 ; CPU:$DCF6 PRG:1CF6 ?? beq Flow_DEF0 ; CPU:$DCF8 PRG:1CF8 ?? jsr ProcessGameState_E01C ; CPU:$DCFA PRG:1CFA ?? beq Flow_DEF0 ; CPU:$DCFC PRG:1CFC ?? jsr ProcessGameState_E02C ; CPU:$DCFE PRG:1CFE ?? beq Flow_DEF0 ; CPU:$DD00 PRG:1D00 ?? jsr UpdateObjectState_DFFE ; CPU:$DD02 PRG:1D02 ?? beq Flow_DEF0 ; CPU:$DD04 PRG:1D04 ?? jmp Flow_DFC1 ; CPU:$DD06 PRG:1D06 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DEAB. ; Local behavior: Executes the decoded flow deab sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DEAB: jsr ProcessGameState_E01C ; CPU:$DD08 PRG:1D08 ?? beq Flow_DEF0 ; CPU:$DD0A PRG:1D0A ?? jsr UpdateObjectState_DFE0 ; CPU:$DD0C PRG:1D0C ?? beq Flow_DEF0 ; CPU:$DD0E PRG:1D0E ?? jsr UpdateObjectState_DFFE ; CPU:$DD10 PRG:1D10 ?? beq Flow_DEF0 ; CPU:$DD12 PRG:1D12 ?? jsr ProcessGameState_E02C ; CPU:$DD14 PRG:1D14 ?? beq Flow_DEF0 ; CPU:$DD16 PRG:1D16 ?? jmp Flow_DFC1 ; CPU:$DD18 PRG:1D18 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DEC2. ; Local behavior: Executes the decoded flow dec2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DEC2: jsr UpdateObjectState_DFFE ; CPU:$DD1A PRG:1D1A ?? beq Flow_DEF0 ; CPU:$DD1C PRG:1D1C ?? jsr ProcessGameState_E01C ; CPU:$DD1E PRG:1D1E ?? beq Flow_DEF0 ; CPU:$DD20 PRG:1D20 ?? jsr ProcessGameState_E02C ; CPU:$DD22 PRG:1D22 ?? beq Flow_DEF0 ; CPU:$DD24 PRG:1D24 ?? jsr UpdateObjectState_DFE0 ; CPU:$DD26 PRG:1D26 ?? beq Flow_DEF0 ; CPU:$DD28 PRG:1D28 ?? jmp Flow_DFC1 ; CPU:$DD2A PRG:1D2A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DED9. ; Local behavior: Executes the decoded flow ded9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DED9: jsr UpdateObjectState_DFE0 ; CPU:$DD2C PRG:1D2C ?? beq Flow_DEF0 ; CPU:$DD2E PRG:1D2E ?? jsr ProcessGameState_E02C ; CPU:$DD30 PRG:1D30 ?? beq Flow_DEF0 ; CPU:$DD32 PRG:1D32 ?? jsr UpdateObjectState_DFFE ; CPU:$DD34 PRG:1D34 ?? beq Flow_DEF0 ; CPU:$DD36 PRG:1D36 ?? jsr ProcessGameState_E01C ; CPU:$DD38 PRG:1D38 ?? beq Flow_DEF0 ; CPU:$DD3A PRG:1D3A ?? jmp Flow_DFC1 ; CPU:$DD3C PRG:1D3C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DEF0. ; Local behavior: Executes the decoded flow def0 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DEF0: jmp Flow_DFAB ; CPU:$DD3E PRG:1D3E ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DEF3. ; Local behavior: Executes the decoded flow def3 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DEF3: jsr ProcessGameState_E02C ; CPU:$DD40 PRG:1D40 ?? beq Flow_DEF0 ; CPU:$DD42 PRG:1D42 ?? jsr UpdateObjectState_DFFE ; CPU:$DD44 PRG:1D44 ?? beq Flow_DEF0 ; CPU:$DD46 PRG:1D46 ?? jsr UpdateObjectState_DFE0 ; CPU:$DD48 PRG:1D48 ?? beq Flow_DEF0 ; CPU:$DD4A PRG:1D4A ?? jsr ProcessGameState_E01C ; CPU:$DD4C PRG:1D4C ?? beq Flow_DEF0 ; CPU:$DD4E PRG:1D4E ?? jmp Flow_DFC1 ; CPU:$DD50 PRG:1D50 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DF0 A. ; Local behavior: Executes the decoded flow df0 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DF0A: jsr UpdateObjectState_DFFE ; CPU:$DD52 PRG:1D52 ?? beq Flow_DEF0 ; CPU:$DD54 PRG:1D54 ?? jsr ProcessGameState_E02C ; CPU:$DD56 PRG:1D56 ?? beq Flow_DEF0 ; CPU:$DD58 PRG:1D58 ?? jsr UpdateObjectState_DFE0 ; CPU:$DD5A PRG:1D5A ?? beq Flow_DEF0 ; CPU:$DD5C PRG:1D5C ?? jsr ProcessGameState_E01C ; CPU:$DD5E PRG:1D5E ?? beq Flow_DEF0 ; CPU:$DD60 PRG:1D60 ?? jmp Flow_DFC1 ; CPU:$DD62 PRG:1D62 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DF21. ; Local behavior: Executes the decoded flow df21 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DF21: jsr ProcessGameState_E01C ; CPU:$DD64 PRG:1D64 ?? beq Flow_DEF0 ; CPU:$DD66 PRG:1D66 ?? jsr UpdateObjectState_DFE0 ; CPU:$DD68 PRG:1D68 ?? beq Flow_DEF0 ; CPU:$DD6A PRG:1D6A ?? jsr ProcessGameState_E02C ; CPU:$DD6C PRG:1D6C ?? beq Flow_DEF0 ; CPU:$DD6E PRG:1D6E ?? jsr UpdateObjectState_DFFE ; CPU:$DD70 PRG:1D70 ?? beq Flow_DEF0 ; CPU:$DD72 PRG:1D72 ?? jmp Flow_DFC1 ; CPU:$DD74 PRG:1D74 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DF38. ; Local behavior: Executes the decoded flow df38 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DF38: jsr UpdateObjectState_DFE0 ; CPU:$DD76 PRG:1D76 ?? beq Flow_DFAB ; CPU:$DD78 PRG:1D78 ?? jsr ProcessGameState_E01C ; CPU:$DD7A PRG:1D7A ?? beq Flow_DFAB ; CPU:$DD7C PRG:1D7C ?? jsr ProcessGameState_E02C ; CPU:$DD7E PRG:1D7E ?? beq Flow_DFAB ; CPU:$DD80 PRG:1D80 ?? jsr UpdateObjectState_DFFE ; CPU:$DD82 PRG:1D82 ?? beq Flow_DFAB ; CPU:$DD84 PRG:1D84 ?? jmp Flow_DFC1 ; CPU:$DD86 PRG:1D86 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DF4 F. ; Local behavior: Executes the decoded flow df4 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DF4F: jsr ProcessGameState_E02C ; CPU:$DD88 PRG:1D88 ?? beq Flow_DFAB ; CPU:$DD8A PRG:1D8A ?? jsr UpdateObjectState_DFE0 ; CPU:$DD8C PRG:1D8C ?? beq Flow_DFAB ; CPU:$DD8E PRG:1D8E ?? jsr ProcessGameState_E01C ; CPU:$DD90 PRG:1D90 ?? beq Flow_DFAB ; CPU:$DD92 PRG:1D92 ?? jsr UpdateObjectState_DFFE ; CPU:$DD94 PRG:1D94 ?? beq Flow_DFAB ; CPU:$DD96 PRG:1D96 ?? jmp Flow_DFC1 ; CPU:$DD98 PRG:1D98 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DF66. ; Local behavior: Executes the decoded flow df66 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DF66: jsr ProcessGameState_E01C ; CPU:$DD9A PRG:1D9A ?? beq Flow_DFAB ; CPU:$DD9C PRG:1D9C ?? jsr UpdateObjectState_DFFE ; CPU:$DD9E PRG:1D9E ?? beq Flow_DFAB ; CPU:$DDA0 PRG:1DA0 ?? jsr ProcessGameState_E02C ; CPU:$DDA2 PRG:1DA2 ?? beq Flow_DFAB ; CPU:$DDA4 PRG:1DA4 ?? jsr UpdateObjectState_DFE0 ; CPU:$DDA6 PRG:1DA6 ?? beq Flow_DFAB ; CPU:$DDA8 PRG:1DA8 ?? jmp Flow_DFC1 ; CPU:$DDAA PRG:1DAA ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DF7 D. ; Local behavior: Executes the decoded flow df7 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DF7D: jsr UpdateObjectState_DFFE ; CPU:$DDAC PRG:1DAC ?? beq Flow_DFAB ; CPU:$DDAE PRG:1DAE ?? jsr ProcessGameState_E02C ; CPU:$DDB0 PRG:1DB0 ?? beq Flow_DFAB ; CPU:$DDB2 PRG:1DB2 ?? jsr ProcessGameState_E01C ; CPU:$DDB4 PRG:1DB4 ?? beq Flow_DFAB ; CPU:$DDB6 PRG:1DB6 ?? jsr UpdateObjectState_DFE0 ; CPU:$DDB8 PRG:1DB8 ?? beq Flow_DFAB ; CPU:$DDBA PRG:1DBA ?? jmp Flow_DFC1 ; CPU:$DDBC PRG:1DBC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DF94. ; Local behavior: Executes the decoded flow df94 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DF94: jsr ProcessGameState_E02C ; CPU:$DDBE PRG:1DBE ?? beq Flow_DFAB ; CPU:$DDC0 PRG:1DC0 ?? jsr UpdateObjectState_DFFE ; CPU:$DDC2 PRG:1DC2 ?? beq Flow_DFAB ; CPU:$DDC4 PRG:1DC4 ?? jsr ProcessGameState_E01C ; CPU:$DDC6 PRG:1DC6 ?? beq Flow_DFAB ; CPU:$DDC8 PRG:1DC8 ?? jsr UpdateObjectState_DFE0 ; CPU:$DDCA PRG:1DCA ?? beq Flow_DFAB ; CPU:$DDCC PRG:1DCC ?? jmp Flow_DFC1 ; CPU:$DDCE PRG:1DCE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DFAB. ; Local behavior: Executes the decoded flow dfab sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DFAB: ldx Ram_040F ; CPU:$DDD0 PRG:1DD0 ?? lda #$00 ; CPU:$DDD2 PRG:1DD2 ?? sta Ram_0413,x ; CPU:$DDD4 PRG:1DD4 ?? lda #$10 ; CPU:$DDD6 PRG:1DD6 ?? sta Ram_0429,x ; CPU:$DDD8 PRG:1DD8 ?? ldx Ram_040F ; CPU:$DDDA PRG:1DDA ?? jsr UpdateStateField_D27E ; CPU:$DDDC PRG:1DDC ?? jmp Flow_DD75 ; CPU:$DDDE PRG:1DDE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DFC1. ; Local behavior: Executes the decoded flow dfc1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DFC1: ldx Ram_040F ; CPU:$DDE0 PRG:1DE0 ?? lda Ram_0407,x ; CPU:$DDE2 PRG:1DE2 ?? and #$03 ; CPU:$DDE4 PRG:1DE4 ?? tax ; CPU:$DDE6 PRG:1DE6 ?? dec Ram_045D,x ; CPU:$DDE8 PRG:1DE8 ?? ldx Ram_040F ; CPU:$DDEA PRG:1DEA ?? asl a ; CPU:$DDEC PRG:1DEC ?? asl a ; CPU:$DDEE PRG:1DEE ?? tay ; CPU:$DDF0 PRG:1DF0 ?? lda #$00 ; CPU:$DDF2 PRG:1DF2 ?? sta Ram_0702,y ; CPU:$DDF4 PRG:1DF4 ?? lda #$FF ; CPU:$DDF6 PRG:1DF6 ?? sta Ram_0407,x ; CPU:$DDF8 PRG:1DF8 ?? jmp Flow_DD75 ; CPU:$DDFA PRG:1DFA ?? ; ----------------------------------------------------------------------------- ; Global purpose: Update Object State DFE0. ; Local behavior: Executes the decoded update object state dfe0 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- UpdateObjectState_DFE0: ldx Ram_040F ; CPU:$DDFC PRG:1DFC ?? lda Ram_0410 ; CPU:$DDFE PRG:1DFE ?? and #$0F ; CPU:$DE00 PRG:1E00 ?? ora #$60 ; CPU:$DE02 PRG:1E02 ?? sta Ram_0448,x ; CPU:$DE04 PRG:1E04 ?? jsr DispatchHandler_D44F ; CPU:$DE06 PRG:1E06 ?? bne Flow_DFFD ; CPU:$DE08 PRG:1E08 ?? lda Ram_0700,y ; CPU:$DE0A PRG:1E0A ?? sec ; CPU:$DE0C PRG:1E0C ?? sbc #$01 ; CPU:$DE0E PRG:1E0E ?? sta Ram_0700,y ; CPU:$DE10 PRG:1E10 ?? lda #$00 ; CPU:$DE12 PRG:1E12 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow DFFD. ; Local behavior: Executes the decoded flow dffd sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_DFFD: rts ; CPU:$DE14 PRG:1E14 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Update Object State DFFE. ; Local behavior: Executes the decoded update object state dffe sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- UpdateObjectState_DFFE: ldx Ram_040F ; CPU:$DE16 PRG:1E16 ?? lda Ram_0410 ; CPU:$DE18 PRG:1E18 ?? and #$0F ; CPU:$DE1A PRG:1E1A ?? ora #$80 ; CPU:$DE1C PRG:1E1C ?? sta Ram_0448,x ; CPU:$DE1E PRG:1E1E ?? jsr DispatchHandler_D44F ; CPU:$DE20 PRG:1E20 ?? bne Flow_E01B ; CPU:$DE22 PRG:1E22 ?? lda Ram_0700,y ; CPU:$DE24 PRG:1E24 ?? clc ; CPU:$DE26 PRG:1E26 ?? adc #$01 ; CPU:$DE28 PRG:1E28 ?? sta Ram_0700,y ; CPU:$DE2A PRG:1E2A ?? lda #$00 ; CPU:$DE2C PRG:1E2C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E01 B. ; Local behavior: Executes the decoded flow e01 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E01B: rts ; CPU:$DE2E PRG:1E2E ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E01 C. ; Local behavior: Executes the decoded process game state e01 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E01C: ldx Ram_040F ; CPU:$DE30 PRG:1E30 ?? lda Ram_0410 ; CPU:$DE32 PRG:1E32 ?? and #$0F ; CPU:$DE34 PRG:1E34 ?? ora #$20 ; CPU:$DE36 PRG:1E36 ?? sta Ram_0448,x ; CPU:$DE38 PRG:1E38 ?? jmp DispatchHandler_D44F ; CPU:$DE3A PRG:1E3A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E02 C. ; Local behavior: Executes the decoded process game state e02 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E02C: ldx Ram_040F ; CPU:$DE3C PRG:1E3C ?? lda Ram_0410 ; CPU:$DE3E PRG:1E3E ?? and #$0F ; CPU:$DE40 PRG:1E40 ?? ora #$40 ; CPU:$DE42 PRG:1E42 ?? sta Ram_0448,x ; CPU:$DE44 PRG:1E44 ?? jmp DispatchHandler_D44F ; CPU:$DE46 PRG:1E46 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E03 C. ; Local behavior: Executes the decoded process game state e03 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E03C: lda Zp_33 ; CPU:$DE48 PRG:1E48 ?? and #$0F ; CPU:$DE4A PRG:1E4A ?? cmp #$0A ; CPU:$DE4C PRG:1E4C ?? bcc Flow_E052 ; CPU:$DE4E PRG:1E4E ?? cmp #$0F ; CPU:$DE50 PRG:1E50 ?? beq Flow_E053 ; CPU:$DE52 PRG:1E52 ?? lda Zp_33 ; CPU:$DE54 PRG:1E54 ?? and #$F0 ; CPU:$DE56 PRG:1E56 ?? ora #$0C ; CPU:$DE58 PRG:1E58 ?? sta Zp_33 ; CPU:$DE5A PRG:1E5A ?? lda #$00 ; CPU:$DE5C PRG:1E5C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E052. ; Local behavior: Executes the decoded flow e052 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E052: rts ; CPU:$DE5E PRG:1E5E ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E053. ; Local behavior: Executes the decoded flow e053 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E053: lda #$FF ; CPU:$DE60 PRG:1E60 ?? rts ; CPU:$DE62 PRG:1E62 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E056. ; Local behavior: Executes the decoded process game state e056 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E056: lda Zp_32 ; CPU:$DE64 PRG:1E64 ?? sta Zp_37 ; CPU:$DE66 PRG:1E66 ?? lda Zp_37 ; CPU:$DE68 PRG:1E68 ?? and #$0F ; CPU:$DE6A PRG:1E6A ?? cmp #$04 ; CPU:$DE6C PRG:1E6C ?? beq Flow_E07D ; CPU:$DE6E PRG:1E6E ?? cmp #$0C ; CPU:$DE70 PRG:1E70 ?? bne Flow_E08F ; CPU:$DE72 PRG:1E72 ?? lda Zp_37 ; CPU:$DE74 PRG:1E74 ?? and #$F0 ; CPU:$DE76 PRG:1E76 ?? cmp #$10 ; CPU:$DE78 PRG:1E78 ?? beq Flow_E08F ; CPU:$DE7A PRG:1E7A ?? cmp #$40 ; CPU:$DE7C PRG:1E7C ?? beq Flow_E08F ; CPU:$DE7E PRG:1E7E ?? cmp #$70 ; CPU:$DE80 PRG:1E80 ?? beq Flow_E08F ; CPU:$DE82 PRG:1E82 ?? cmp #$A0 ; CPU:$DE84 PRG:1E84 ?? beq Flow_E08F ; CPU:$DE86 PRG:1E86 ?? cmp #$D0 ; CPU:$DE88 PRG:1E88 ?? rts ; CPU:$DE8A PRG:1E8A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E07 D. ; Local behavior: Executes the decoded flow e07 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E07D: lda Zp_37 ; CPU:$DE8C PRG:1E8C ?? and #$F0 ; CPU:$DE8E PRG:1E8E ?? cmp #$30 ; CPU:$DE90 PRG:1E90 ?? beq Flow_E08F ; CPU:$DE92 PRG:1E92 ?? cmp #$60 ; CPU:$DE94 PRG:1E94 ?? beq Flow_E08F ; CPU:$DE96 PRG:1E96 ?? cmp #$90 ; CPU:$DE98 PRG:1E98 ?? beq Flow_E08F ; CPU:$DE9A PRG:1E9A ?? cmp #$C0 ; CPU:$DE9C PRG:1E9C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E08 F. ; Local behavior: Executes the decoded flow e08 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E08F: rts ; CPU:$DE9E PRG:1E9E ?? .byte $86,$40,$84,$41,$AC,$02,$04,$B9,$DE,$E0,$8D,$63,$04,$A5,$34,$85 ; PRG $2090 | CPU $E090 ; CPU:$DEA0 PRG:1EA0 86 40 84 41 AC 02 04 B9 DE E0 8D 63 04 A5 34 85 .byte $3F,$98,$20,$FA,$CE,$A5,$3F,$85,$34,$A9,$00,$85,$8E,$A4,$41,$A6 ; PRG $20A0 | CPU $E0A0 ; CPU:$DEB0 PRG:1EB0 3F 98 20 FA CE A5 3F 85 34 A9 00 85 8E A4 41 A6 .byte $40,$A9,$0B,$20,$26,$C0,$60 ; PRG $20B0 | CPU $E0B0 ; CPU:$DEC0 PRG:1EC0 40 A9 0B 20 26 C0 60 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E0 B7. ; Local behavior: Executes the decoded process game state e0 b7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E0B7: lda Ram_0463 ; CPU:$DEC7 PRG:1EC7 ?? beq Flow_E0D7 ; CPU:$DEC9 PRG:1EC9 ?? jsr ProcessGameState_E8A9 ; CPU:$DECB PRG:1ECB ?? lda Zp_45 ; CPU:$DECD PRG:1ECD ?? and #$3F ; CPU:$DECF PRG:1ECF ?? bne Flow_E0D7 ; CPU:$DED1 PRG:1ED1 ?? dec Ram_0463 ; CPU:$DED3 PRG:1ED3 ?? bne Flow_E0D7 ; CPU:$DED5 PRG:1ED5 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E0 CA. ; Local behavior: Executes the decoded process game state e0 ca sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E0CA: lda Ram_0402 ; CPU:$DED7 PRG:1ED7 ?? jsr TransformValue_CF44 ; CPU:$DED9 PRG:1ED9 ?? lda #$00 ; CPU:$DEDB PRG:1EDB ?? sta Zp_8E ; CPU:$DEDD PRG:1EDD ?? jsr ProcessGameState_E10D ; CPU:$DEDF PRG:1EDF ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E0 D7. ; Local behavior: Executes the decoded flow e0 d7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E0D7: rts ; CPU:$DEE1 PRG:1EE1 ?? .byte $BC,$C0,$B8,$BC,$C0,$B8,$07,$06,$05,$04,$03,$03 ; PRG $20D8 | CPU $E0D8 ; CPU:$DEE3 PRG:1EE3 BC C0 B8 BC C0 B8 07 06 05 04 03 03 ; ----------------------------------------------------------------------------- ; Global purpose: Update Object State E0 E4. ; Local behavior: Executes the decoded update object state e0 e4 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- UpdateObjectState_E0E4: sta Ram_07F9 ; CPU:$DEEF PRG:1EEF ?? lda #$01 ; CPU:$DEF1 PRG:1EF1 ?? sta Ram_07FA ; CPU:$DEF3 PRG:1EF3 ?? sta Ram_07FE ; CPU:$DEF5 PRG:1EF5 ?? lda Ram_0700,y ; CPU:$DEF7 PRG:1EF7 ?? sec ; CPU:$DEF9 PRG:1EF9 ?? sbc #$08 ; CPU:$DEFB PRG:1EFB ?? sta Ram_07F8 ; CPU:$DEFD PRG:1EFD ?? sta Ram_07FC ; CPU:$DEFF PRG:1EFF ?? lda #$EE ; CPU:$DF01 PRG:1F01 ?? sta Ram_07FD ; CPU:$DF03 PRG:1F03 ?? lda Ram_0703,y ; CPU:$DF05 PRG:1F05 ?? sta Ram_07FB ; CPU:$DF07 PRG:1F07 ?? clc ; CPU:$DF09 PRG:1F09 ?? adc #$08 ; CPU:$DF0B PRG:1F0B ?? sta Ram_07FF ; CPU:$DF0D PRG:1F0D ?? rts ; CPU:$DF0F PRG:1F0F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E10 D. ; Local behavior: Executes the decoded process game state e10 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E10D: stx Zp_43 ; CPU:$DF11 PRG:1F11 ?? lda #$F0 ; CPU:$DF13 PRG:1F13 ?? ldx #$00 ; CPU:$DF15 PRG:1F15 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E113. ; Local behavior: Executes the decoded flow e113 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E113: sta Ram_07F8,x ; CPU:$DF17 PRG:1F17 ?? inx ; CPU:$DF19 PRG:1F19 ?? cpx #$08 ; CPU:$DF1B PRG:1F1B ?? bne Flow_E113 ; CPU:$DF1D PRG:1F1D ?? ldx Zp_43 ; CPU:$DF1F PRG:1F1F ?? rts ; CPU:$DF21 PRG:1F21 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E11 E. ; Local behavior: Executes the decoded process game state e11 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E11E: lda #$00 ; CPU:$DF23 PRG:1F23 ?? sta Ram_0471 ; CPU:$DF25 PRG:1F25 ?? ldy Ram_0471 ; CPU:$DF27 PRG:1F27 ?? lda OamBuffer,y ; CPU:$DF29 PRG:1F29 ?? bne Flow_E12C ; CPU:$DF2B PRG:1F2B ?? rts ; CPU:$DF2D PRG:1F2D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E12 C. ; Local behavior: Executes the decoded flow e12 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E12C: and #$0F ; CPU:$DF2F PRG:1F2F ?? sta Zp_32 ; CPU:$DF31 PRG:1F31 ?? lda Ram_0201,y ; CPU:$DF33 PRG:1F33 ?? sta Zp_33 ; CPU:$DF35 PRG:1F35 ?? lda Ram_0202,y ; CPU:$DF37 PRG:1F37 ?? sta Zp_34 ; CPU:$DF39 PRG:1F39 ?? lda OamBuffer,y ; CPU:$DF3B PRG:1F3B ?? and #$F0 ; CPU:$DF3D PRG:1F3D ?? lsr a ; CPU:$DF3F PRG:1F3F ?? lsr a ; CPU:$DF41 PRG:1F41 ?? lsr a ; CPU:$DF43 PRG:1F43 ?? tax ; CPU:$DF45 PRG:1F45 ?? lda LookupTable_E150,x ; CPU:$DF47 PRG:1F47 ?? sta Zp_35 ; CPU:$DF49 PRG:1F49 ?? lda LookupTable_E151,x ; CPU:$DF4B PRG:1F4B ?? sta Zp_36 ; CPU:$DF4D PRG:1F4D ?? jmp (Zp_35) ; CPU:$DF4F PRG:1F4F ?? LookupTable_E150: .byte $7B ; PRG $2150 | CPU $E150 ; CPU:$DF51 PRG:1F51 7B LookupTable_E151: .byte $E1,$8D,$E1,$A5,$E1,$DE,$E1,$0D,$E2,$3C,$E2,$27,$E3,$70,$E1,$70 ; PRG $2151 | CPU $E151 ; CPU:$DF52 PRG:1F52 E1 8D E1 A5 E1 DE E1 0D E2 3C E2 27 E3 70 E1 70 .byte $E1,$70,$E1,$6B,$E2,$9A,$E2,$C9,$E2,$F8,$E2,$95,$E3,$7B,$E1,$EA ; PRG $2161 | CPU $E161 ; CPU:$DF62 PRG:1F62 E1 70 E1 6B E2 9A E2 C9 E2 F8 E2 95 E3 7B E1 EA .byte $B9,$00,$02,$29,$0F,$09,$10,$99,$00,$02,$20,$A8,$E5,$EE,$71,$04 ; PRG $2171 | CPU $E171 ; CPU:$DF72 PRG:1F72 B9 00 02 29 0F 09 10 99 00 02 20 A8 E5 EE 71 04 .byte $EE,$71,$04,$EE,$71,$04,$EE,$71,$04,$4C,$23,$E1,$20,$A2,$E4,$D0 ; PRG $2181 | CPU $E181 ; CPU:$DF82 PRG:1F82 EE 71 04 EE 71 04 EE 71 04 4C 23 E1 20 A2 E4 D0 .byte $10,$20,$3A,$E5,$D0,$0B,$20,$23,$CB,$98,$AA,$FE,$02,$02,$20,$EA ; PRG $2191 | CPU $E191 ; CPU:$DF92 PRG:1F92 10 20 3A E5 D0 0B 20 23 CB 98 AA FE 02 02 20 EA .byte $EA,$4C,$7B,$E1,$B9,$03,$02,$29,$10,$D0,$18,$38,$A5,$34,$E9,$08 ; PRG $21A1 | CPU $E1A1 ; CPU:$DFA2 PRG:1FA2 EA 4C 7B E1 B9 03 02 29 10 D0 18 38 A5 34 E9 08 .byte $85,$34,$99,$02,$02,$20,$72,$E4,$B9,$03,$02,$09,$10,$99,$03,$02 ; PRG $21B1 | CPU $E1B1 ; CPU:$DFB2 PRG:1FB2 85 34 99 02 02 20 72 E4 B9 03 02 09 10 99 03 02 .byte $4C,$7B,$E1,$A5,$45,$29,$03,$D0,$F7,$B9,$03,$02,$29,$0F,$99,$03 ; PRG $21C1 | CPU $E1C1 ; CPU:$DFC2 PRG:1FC2 4C 7B E1 A5 45 29 03 D0 F7 B9 03 02 29 0F 99 03 .byte $02,$B9,$00,$02,$29,$0F,$09,$30,$99,$00,$02,$D0,$E3,$B9,$03,$02 ; PRG $21D1 | CPU $E1D1 ; CPU:$DFD2 PRG:1FD2 02 B9 00 02 29 0F 09 30 99 00 02 D0 E3 B9 03 02 .byte $29,$10,$D0,$0E,$20,$78,$E4,$B9,$03,$02,$09,$10,$99,$03,$02,$4C ; PRG $21E1 | CPU $E1E1 ; CPU:$DFE2 PRG:1FE2 29 10 D0 0E 20 78 E4 B9 03 02 09 10 99 03 02 4C .byte $7B,$E1,$A5,$45,$29,$03,$D0,$F7,$B9,$03,$02,$29,$0F,$99,$03,$02 ; PRG $21F1 | CPU $E1F1 ; CPU:$DFF2 PRG:1FF2 7B E1 A5 45 29 03 D0 F7 B9 03 02 29 0F 99 03 02 .byte $B9,$00,$02,$29,$0F,$09,$40,$99,$00,$02,$D0,$E3,$B9,$03,$02,$29 ; PRG $2201 | CPU $E201 ; CPU:$E002 PRG:2002 B9 00 02 29 0F 09 40 99 00 02 D0 E3 B9 03 02 29 .byte $10,$D0,$0E,$20,$7E,$E4,$B9,$03,$02,$09,$10,$99,$03,$02,$4C,$7B ; PRG $2211 | CPU $E211 ; CPU:$E012 PRG:2012 10 D0 0E 20 7E E4 B9 03 02 09 10 99 03 02 4C 7B .byte $E1,$A5,$45,$29,$03,$D0,$F7,$B9,$03,$02,$29,$0F,$99,$03,$02,$B9 ; PRG $2221 | CPU $E221 ; CPU:$E022 PRG:2022 E1 A5 45 29 03 D0 F7 B9 03 02 29 0F 99 03 02 B9 .byte $00,$02,$09,$50,$29,$5F,$99,$00,$02,$D0,$E3,$B9,$03,$02,$29,$10 ; PRG $2231 | CPU $E231 ; CPU:$E032 PRG:2032 00 02 09 50 29 5F 99 00 02 D0 E3 B9 03 02 29 10 .byte $D0,$0E,$20,$84,$E4,$B9,$03,$02,$09,$10,$99,$03,$02,$4C,$7B,$E1 ; PRG $2241 | CPU $E241 ; CPU:$E042 PRG:2042 D0 0E 20 84 E4 B9 03 02 09 10 99 03 02 4C 7B E1 .byte $A5,$45,$29,$03,$D0,$F7,$B9,$03,$02,$29,$0F,$99,$03,$02,$B9,$00 ; PRG $2251 | CPU $E251 ; CPU:$E052 PRG:2052 A5 45 29 03 D0 F7 B9 03 02 29 0F 99 03 02 B9 00 .byte $02,$09,$60,$29,$6F,$99,$00,$02,$D0,$E3,$B9,$03,$02,$29,$10,$D0 ; PRG $2261 | CPU $E261 ; CPU:$E062 PRG:2062 02 09 60 29 6F 99 00 02 D0 E3 B9 03 02 29 10 D0 .byte $0E,$20,$72,$E4,$B9,$03,$02,$09,$10,$99,$03,$02,$4C,$7B,$E1,$A5 ; PRG $2271 | CPU $E271 ; CPU:$E072 PRG:2072 0E 20 72 E4 B9 03 02 09 10 99 03 02 4C 7B E1 A5 .byte $45,$29,$03,$D0,$F7,$B9,$03,$02,$29,$0F,$99,$03,$02,$B9,$00,$02 ; PRG $2281 | CPU $E281 ; CPU:$E082 PRG:2082 45 29 03 D0 F7 B9 03 02 29 0F 99 03 02 B9 00 02 .byte $29,$0F,$09,$B0,$99,$00,$02,$D0,$E3,$B9,$03,$02,$29,$10,$D0,$0E ; PRG $2291 | CPU $E291 ; CPU:$E092 PRG:2092 29 0F 09 B0 99 00 02 D0 E3 B9 03 02 29 10 D0 0E .byte $20,$78,$E4,$B9,$03,$02,$09,$10,$99,$03,$02,$4C,$7B,$E1,$A5,$45 ; PRG $22A1 | CPU $E2A1 ; CPU:$E0A2 PRG:20A2 20 78 E4 B9 03 02 09 10 99 03 02 4C 7B E1 A5 45 .byte $29,$03,$D0,$F7,$B9,$03,$02,$29,$0F,$99,$03,$02,$B9,$00,$02,$09 ; PRG $22B1 | CPU $E2B1 ; CPU:$E0B2 PRG:20B2 29 03 D0 F7 B9 03 02 29 0F 99 03 02 B9 00 02 09 .byte $C0,$29,$CF,$99,$00,$02,$D0,$E3,$B9,$03,$02,$29,$10,$D0,$0E,$20 ; PRG $22C1 | CPU $E2C1 ; CPU:$E0C2 PRG:20C2 C0 29 CF 99 00 02 D0 E3 B9 03 02 29 10 D0 0E 20 .byte $7E,$E4,$B9,$03,$02,$09,$10,$99,$03,$02,$4C,$7B,$E1,$A5,$45,$29 ; PRG $22D1 | CPU $E2D1 ; CPU:$E0D2 PRG:20D2 7E E4 B9 03 02 09 10 99 03 02 4C 7B E1 A5 45 29 .byte $03,$D0,$F7,$B9,$03,$02,$29,$0F,$99,$03,$02,$B9,$00,$02,$09,$D0 ; PRG $22E1 | CPU $E2E1 ; CPU:$E0E2 PRG:20E2 03 D0 F7 B9 03 02 29 0F 99 03 02 B9 00 02 09 D0 .byte $29,$DF,$99,$00,$02,$D0,$E3,$B9,$03,$02,$29,$10,$D0,$0E,$20,$84 ; PRG $22F1 | CPU $E2F1 ; CPU:$E0F2 PRG:20F2 29 DF 99 00 02 D0 E3 B9 03 02 29 10 D0 0E 20 84 .byte $E4,$B9,$03,$02,$09,$10,$99,$03,$02,$4C,$7B,$E1,$A5,$45,$29,$03 ; PRG $2301 | CPU $E301 ; CPU:$E102 PRG:2102 E4 B9 03 02 09 10 99 03 02 4C 7B E1 A5 45 29 03 .byte $D0,$F7,$B9,$03,$02,$29,$0F,$99,$03,$02,$B9,$00,$02,$09,$E0,$29 ; PRG $2311 | CPU $E311 ; CPU:$E112 PRG:2112 D0 F7 B9 03 02 29 0F 99 03 02 B9 00 02 09 E0 29 .byte $EF,$99,$00,$02,$D0,$E3,$20,$23,$CB,$98,$AA,$FE,$02,$02,$BD,$02 ; PRG $2321 | CPU $E321 ; CPU:$E122 PRG:2122 EF 99 00 02 D0 E3 20 23 CB 98 AA FE 02 02 BD 02 .byte $02,$29,$0F,$D0,$53,$B9,$00,$02,$29,$0F,$09,$10,$99,$00,$02,$B9 ; PRG $2331 | CPU $E331 ; CPU:$E132 PRG:2132 02 29 0F D0 53 B9 00 02 29 0F 09 10 99 00 02 B9 .byte $03,$02,$29,$0F,$99,$03,$02,$B9,$04,$02,$29,$0F,$C9,$0F,$F0,$3B ; PRG $2341 | CPU $E341 ; CPU:$E142 PRG:2142 03 02 29 0F 99 03 02 B9 04 02 29 0F C9 0F F0 3B .byte $B9,$04,$02,$29,$F0,$C9,$F0,$D0,$2F,$B9,$02,$02,$18,$69,$08,$D9 ; PRG $2351 | CPU $E351 ; CPU:$E152 PRG:2152 B9 04 02 29 F0 C9 F0 D0 2F B9 02 02 18 69 08 D9 .byte $06,$02,$90,$24,$B9,$06,$02,$38,$E9,$08,$99,$02,$02,$A9,$00,$99 ; PRG $2361 | CPU $E361 ; CPU:$E162 PRG:2162 06 02 90 24 B9 06 02 38 E9 08 99 02 02 A9 00 99 .byte $03,$02,$B9,$00,$02,$09,$F0,$99,$00,$02,$20,$E2,$E3,$A9,$00,$20 ; PRG $2371 | CPU $E371 ; CPU:$E172 PRG:2172 03 02 B9 00 02 09 F0 99 00 02 20 E2 E3 A9 00 20 .byte $51,$E9,$20,$DE,$E5,$20,$71,$E7,$4C,$7B,$E1,$B9,$06,$02,$99,$02 ; PRG $2381 | CPU $E381 ; CPU:$E182 PRG:2182 51 E9 20 DE E5 20 71 E7 4C 7B E1 B9 06 02 99 02 .byte $02,$4C,$6E,$E3,$20,$23,$CB,$98,$AA,$BD,$03,$02,$29,$0F,$9D,$03 ; PRG $2391 | CPU $E391 ; CPU:$E192 PRG:2192 02 4C 6E E3 20 23 CB 98 AA BD 03 02 29 0F 9D 03 .byte $02,$F0,$05,$DE,$03,$02,$D0,$16,$B9,$00,$02,$29,$0F,$99,$00,$02 ; PRG $23A1 | CPU $E3A1 ; CPU:$E1A2 PRG:21A2 02 F0 05 DE 03 02 D0 16 B9 00 02 29 0F 99 00 02 .byte $20,$E2,$E3,$A9,$00,$20,$51,$E9,$20,$DE,$E5,$4C,$7B,$E1,$B9,$00 ; PRG $23B1 | CPU $E3B1 ; CPU:$E1B2 PRG:21B2 20 E2 E3 A9 00 20 51 E9 20 DE E5 4C 7B E1 B9 00 .byte $02,$29,$0F,$09,$10,$99,$00,$02,$B9,$02,$02,$69,$02,$99,$02,$02 ; PRG $23C1 | CPU $E3C1 ; CPU:$E1C2 PRG:21C2 02 29 0F 09 10 99 00 02 B9 02 02 69 02 99 02 02 .byte $4C,$7B,$E1,$00,$01,$01,$05,$02,$04,$03,$00,$01,$01,$05,$02,$04 ; PRG $23D1 | CPU $E3D1 ; CPU:$E1D2 PRG:21D2 4C 7B E1 00 01 01 05 02 04 03 00 01 01 05 02 04 .byte $03,$84,$40,$B9,$01,$02,$85,$43,$B9,$02,$02,$18,$69,$01,$29,$F8 ; PRG $23E1 | CPU $E3E1 ; CPU:$E1E2 PRG:21E2 03 84 40 B9 01 02 85 43 B9 02 02 18 69 01 29 F8 .byte $99,$02,$02,$85,$42,$B9,$00,$02,$29,$0F,$38,$E9,$01,$C9,$03,$90 ; PRG $23F1 | CPU $E3F1 ; CPU:$E1F2 PRG:21F2 99 02 02 85 42 B9 00 02 29 0F 38 E9 01 C9 03 90 .byte $03,$18,$69,$01,$0A,$0A,$C9,$08,$D0,$0D,$85,$39,$B9,$04,$02,$29 ; PRG $2401 | CPU $E401 ; CPU:$E202 PRG:2202 03 18 69 01 0A 0A C9 08 D0 0D 85 39 B9 04 02 29 .byte $F0,$C9,$F0,$F0,$57,$A9,$0C,$18,$69,$4A,$8D,$03,$05,$69,$01,$8D ; PRG $2411 | CPU $E411 ; CPU:$E212 PRG:2212 F0 C9 F0 F0 57 A9 0C 18 69 4A 8D 03 05 69 01 8D .byte $04,$05,$69,$01,$8D,$05,$05,$69,$01,$8D,$06,$05,$A9,$04,$8D,$02 ; PRG $2421 | CPU $E421 ; CPU:$E222 PRG:2222 04 05 69 01 8D 05 05 69 01 8D 06 05 A9 04 8D 02 .byte $05,$A9,$00,$85,$3C,$20,$5E,$DA,$20,$86,$CE,$20,$EB,$FF,$A5,$40 ; PRG $2431 | CPU $E431 ; CPU:$E232 PRG:2232 05 A9 00 85 3C 20 5E DA 20 86 CE 20 EB FF A5 40 .byte $A2,$00,$A0,$0D,$DD,$01,$06,$F0,$07,$E8,$88,$D0,$F7,$A4,$40,$60 ; PRG $2441 | CPU $E441 ; CPU:$E242 PRG:2242 A2 00 A0 0D DD 01 06 F0 07 E8 88 D0 F7 A4 40 60 .byte $CE,$00,$06,$A9,$FF,$9D,$01,$06,$8A,$0A,$0A,$0A,$0A,$AA,$A9,$F0 ; PRG $2451 | CPU $E451 ; CPU:$E252 PRG:2252 CE 00 06 A9 FF 9D 01 06 8A 0A 0A 0A 0A AA A9 F0 .byte $A0,$10,$9D,$24,$07,$E8,$88,$D0,$F9,$A4,$40,$60,$A5,$39,$4C,$18 ; PRG $2461 | CPU $E461 ; CPU:$E262 PRG:2262 A0 10 9D 24 07 E8 88 D0 F9 A4 40 60 A5 39 4C 18 .byte $E4,$A9,$00,$85,$40,$F0,$10,$A9,$01,$85,$40,$F0,$0A,$A9,$02,$85 ; PRG $2471 | CPU $E471 ; CPU:$E272 PRG:2272 E4 A9 00 85 40 F0 10 A9 01 85 40 F0 0A A9 02 85 .byte $40,$F0,$04,$A9,$03,$85,$40,$98,$48,$A6,$40,$A5,$34,$18,$7D,$9A ; PRG $2481 | CPU $E481 ; CPU:$E282 PRG:2282 40 F0 04 A9 03 85 40 98 48 A6 40 A5 34 18 7D 9A .byte $E4,$85,$34,$20,$28,$CB,$68,$A8,$60,$04,$03,$02,$01,$04,$FC,$04 ; PRG $2491 | CPU $E491 ; CPU:$E292 PRG:2292 E4 85 34 20 28 CB 68 A8 60 04 03 02 01 04 FC 04 .byte $FC,$A5,$34,$29,$0F,$D0,$55,$B9,$05,$02,$C5,$33,$D0,$4E,$B9,$06 ; PRG $24A1 | CPU $E4A1 ; CPU:$E2A2 PRG:22A2 FC A5 34 29 0F D0 55 B9 05 02 C5 33 D0 4E B9 06 .byte $02,$38,$E5,$34,$C9,$09,$B0,$44,$B9,$00,$02,$29,$0F,$09,$20,$99 ; PRG $24B1 | CPU $E4B1 ; CPU:$E2B2 PRG:22B2 02 38 E5 34 C9 09 B0 44 B9 00 02 29 0F 09 20 99 .byte $00,$02,$B9,$04,$02,$29,$F0,$C9,$F0,$F0,$34,$B9,$04,$02,$29,$0F ; PRG $24C1 | CPU $E4C1 ; CPU:$E2C2 PRG:22C2 00 02 B9 04 02 29 F0 C9 F0 F0 34 B9 04 02 29 0F .byte $C9,$0F,$F0,$41,$B9,$04,$02,$09,$10,$99,$04,$02,$84,$42,$98,$18 ; PRG $24D1 | CPU $E4D1 ; CPU:$E2D2 PRG:22D2 C9 0F F0 41 B9 04 02 09 10 99 04 02 84 42 98 18 .byte $69,$04,$AA,$FE,$02,$02,$20,$48,$D9,$A4,$42,$B9,$06,$02,$18,$69 ; PRG $24E1 | CPU $E4E1 ; CPU:$E2E2 PRG:22E2 69 04 AA FE 02 02 20 48 D9 A4 42 B9 06 02 18 69 .byte $04,$99,$06,$02,$A9,$0A,$20,$26,$C0,$A9,$FF,$60,$A9,$00,$60,$B9 ; PRG $24F1 | CPU $E4F1 ; CPU:$E2F2 PRG:22F2 04 99 06 02 A9 0A 20 26 C0 A9 FF 60 A9 00 60 B9 .byte $02,$02,$18,$69,$08,$D9,$06,$02,$90,$F2,$B9,$06,$02,$38,$E9,$08 ; PRG $2501 | CPU $E501 ; CPU:$E302 PRG:2302 02 02 18 69 08 D9 06 02 90 F2 B9 06 02 38 E9 08 .byte $99,$02,$02,$D0,$06,$B9,$06,$02,$99,$02,$02,$A9,$00,$99,$03,$02 ; PRG $2511 | CPU $E511 ; CPU:$E312 PRG:2312 99 02 02 D0 06 B9 06 02 99 02 02 A9 00 99 03 02 .byte $B9,$00,$02,$09,$F0,$99,$00,$02,$20,$E2,$E3,$A9,$00,$20,$51,$E9 ; PRG $2521 | CPU $E521 ; CPU:$E322 PRG:2322 B9 00 02 09 F0 99 00 02 20 E2 E3 A9 00 20 51 E9 .byte $20,$DE,$E5,$20,$71,$E7,$A9,$FF,$60,$A5,$34,$85,$3E,$29,$0F,$D0 ; PRG $2531 | CPU $E531 ; CPU:$E332 PRG:2332 20 DE E5 20 71 E7 A9 FF 60 A5 34 85 3E 29 0F D0 .byte $05,$20,$6D,$E5,$F0,$07,$A5,$3E,$85,$34,$A9,$00,$60,$B9,$00,$02 ; PRG $2541 | CPU $E541 ; CPU:$E342 PRG:2342 05 20 6D E5 F0 07 A5 3E 85 34 A9 00 60 B9 00 02 .byte $29,$0F,$09,$A0,$99,$00,$02,$B9,$02,$02,$18,$69,$08,$99,$02,$02 ; PRG $2551 | CPU $E551 ; CPU:$E352 PRG:2352 29 0F 09 A0 99 00 02 B9 02 02 18 69 08 99 02 02 .byte $A9,$0A,$20,$26,$C0,$A5,$3E,$85,$34,$A9,$FF,$60,$84,$42,$86,$43 ; PRG $2561 | CPU $E561 ; CPU:$E362 PRG:2362 A9 0A 20 26 C0 A5 3E 85 34 A9 FF 60 84 42 86 43 .byte $20,$8A,$D6,$A0,$00,$B1,$34,$C9,$FF,$F0,$25,$C5,$3E,$F0,$06,$C8 ; PRG $2571 | CPU $E571 ; CPU:$E372 PRG:2372 20 8A D6 A0 00 B1 34 C9 FF F0 25 C5 3E F0 06 C8 .byte $C8,$C8,$4C,$76,$E5,$C8,$B1,$34,$38,$E9,$03,$C5,$33,$B0,$F1,$C8 ; PRG $2581 | CPU $E581 ; CPU:$E382 PRG:2382 C8 C8 4C 76 E5 C8 B1 34 38 E9 03 C5 33 B0 F1 C8 .byte $B1,$34,$38,$E9,$10,$C5,$33,$90,$E8,$A4,$42,$A6,$43,$A9,$00,$60 ; PRG $2591 | CPU $E591 ; CPU:$E392 PRG:2392 B1 34 38 E9 10 C5 33 90 E8 A4 42 A6 43 A9 00 60 .byte $A4,$42,$A6,$43,$A9,$FF,$60,$A2,$00,$BD,$07,$04,$29,$F0,$C9,$40 ; PRG $25A1 | CPU $E5A1 ; CPU:$E3A2 PRG:23A2 A4 42 A6 43 A9 FF 60 A2 00 BD 07 04 29 F0 C9 40 .byte $F0,$0A,$C9,$50,$F0,$06,$E8,$E0,$06,$D0,$EE,$60,$BD,$50,$04,$85 ; PRG $25B1 | CPU $E5B1 ; CPU:$E3B2 PRG:23B2 F0 0A C9 50 F0 06 E8 E0 06 D0 EE 60 BD 50 04 85 .byte $3C,$C4,$3C,$D0,$F1,$84,$3D,$38,$B9,$02,$02,$E9,$0C,$85,$3E,$8A ; PRG $25C1 | CPU $E5C1 ; CPU:$E3C2 PRG:23C2 3C C4 3C D0 F1 84 3D 38 B9 02 02 E9 0C 85 3E 8A .byte $0A,$0A,$A8,$A5,$3E,$99,$00,$07,$A4,$3D,$4C,$B7,$E5,$A2,$00,$8E ; PRG $25D1 | CPU $E5D1 ; CPU:$E3D2 PRG:23D2 0A 0A A8 A5 3E 99 00 07 A4 3D 4C B7 E5 A2 00 8E .byte $68,$04,$BD,$07,$04,$30,$04,$29,$40,$D0,$29,$E8,$E0,$06,$D0,$F2 ; PRG $25E1 | CPU $E5E1 ; CPU:$E3E2 PRG:23E2 68 04 BD 07 04 30 04 29 40 D0 29 E8 E0 06 D0 F2 .byte $AE,$68,$04,$F0,$1E,$BD,$35,$E6,$20,$51,$E9,$98,$48,$AE,$69,$04 ; PRG $25F1 | CPU $E5F1 ; CPU:$E3F2 PRG:23F2 AE 68 04 F0 1E BD 35 E6 20 51 E9 98 48 AE 69 04 .byte $BC,$D0,$EA,$AE,$68,$04,$BD,$3B,$E6,$20,$E4,$E0,$A9,$D2,$99,$01 ; PRG $2601 | CPU $E601 ; CPU:$E402 PRG:2402 BC D0 EA AE 68 04 BD 3B E6 20 E4 E0 A9 D2 99 01 .byte $07,$68,$A8,$60,$BD,$50,$04,$85,$3C,$C4,$3C,$D0,$CE,$EE,$68,$04 ; PRG $2611 | CPU $E611 ; CPU:$E412 PRG:2412 07 68 A8 60 BD 50 04 85 3C C4 3C D0 CE EE 68 04 .byte $8E,$69,$04,$BD,$07,$04,$29,$0F,$09,$20,$9D,$07,$04,$A9,$7F,$9D ; PRG $2621 | CPU $E621 ; CPU:$E422 PRG:2422 8E 69 04 BD 07 04 29 0F 09 20 9D 07 04 A9 7F 9D .byte $38,$04,$4C,$EC,$E5,$04,$05,$07,$08,$09,$09,$FA,$FC,$BE,$F8,$C0 ; PRG $2631 | CPU $E631 ; CPU:$E432 PRG:2432 38 04 4C EC E5 04 05 07 08 09 09 FA FC BE F8 C0 .byte $C0 ; PRG $2641 | CPU $E641 ; CPU:$E442 PRG:2442 C0 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E642. ; Local behavior: Executes the decoded process game state e642 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E642: lda Ram_040E ; CPU:$E443 PRG:2443 ?? cmp #$80 ; CPU:$E445 PRG:2445 ?? beq Flow_E65F ; CPU:$E447 PRG:2447 ?? lda Ram_071B ; CPU:$E449 PRG:2449 ?? sta Zp_32 ; CPU:$E44B PRG:244B ?? lda Ram_0718 ; CPU:$E44D PRG:244D ?? sta Zp_33 ; CPU:$E44F PRG:244F ?? ldx #$00 ; CPU:$E451 PRG:2451 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E655. ; Local behavior: Executes the decoded flow e655 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E655: lda Ram_0407,x ; CPU:$E453 PRG:2453 ?? bpl Flow_E660 ; CPU:$E455 PRG:2455 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E65 A. ; Local behavior: Executes the decoded flow e65 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E65A: inx ; CPU:$E457 PRG:2457 ?? cpx #$06 ; CPU:$E459 PRG:2459 ?? bne Flow_E655 ; CPU:$E45B PRG:245B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E65 F. ; Local behavior: Executes the decoded flow e65 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E65F: rts ; CPU:$E45D PRG:245D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E660. ; Local behavior: Executes the decoded flow e660 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E660: txa ; CPU:$E45F PRG:245F ?? asl a ; CPU:$E461 PRG:2461 ?? asl a ; CPU:$E463 PRG:2463 ?? tay ; CPU:$E465 PRG:2465 ?? lda Ram_0703,y ; CPU:$E467 PRG:2467 ?? clc ; CPU:$E469 PRG:2469 ?? adc #$0C ; CPU:$E46B PRG:246B ?? cmp Zp_32 ; CPU:$E46D PRG:246D ?? bcc Flow_E65A ; CPU:$E46F PRG:246F ?? sbc #$18 ; CPU:$E471 PRG:2471 ?? cmp Zp_32 ; CPU:$E473 PRG:2473 ?? bcs Flow_E65A ; CPU:$E475 PRG:2475 ?? lda Ram_0700,y ; CPU:$E477 PRG:2477 ?? clc ; CPU:$E479 PRG:2479 ?? adc #$0C ; CPU:$E47B PRG:247B ?? cmp Zp_33 ; CPU:$E47D PRG:247D ?? bcc Flow_E65A ; CPU:$E47F PRG:247F ?? sbc #$18 ; CPU:$E481 PRG:2481 ?? cmp Zp_33 ; CPU:$E483 PRG:2483 ?? bcs Flow_E65A ; CPU:$E485 PRG:2485 ?? lda Ram_0407,x ; CPU:$E487 PRG:2487 ?? ora #$10 ; CPU:$E489 PRG:2489 ?? sta Ram_0407,x ; CPU:$E48B PRG:248B ?? ldy CurrentPlayerIndex ; CPU:$E48D PRG:248D ?? lda Ram_0400,y ; CPU:$E48F PRG:248F ?? cmp #$08 ; CPU:$E491 PRG:2491 ?? bcc Flow_E697 ; CPU:$E493 PRG:2493 ?? lda #$08 ; CPU:$E495 PRG:2495 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E697. ; Local behavior: Executes the decoded flow e697 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E697: tay ; CPU:$E497 PRG:2497 ?? lda LookupTable_E6A5,y ; CPU:$E499 PRG:2499 ?? sta Ram_0438,x ; CPU:$E49B PRG:249B ?? lda #$0F ; CPU:$E49D PRG:249D ?? jsr StorePendingSoundCommand ; CPU:$E49F PRG:249F ?? jmp Flow_E65A ; CPU:$E4A1 PRG:24A1 ?? .byte $D1,$C1,$B1,$A1,$91,$81,$71,$61 ; PRG $26A6 | CPU $E6A6 ; CPU:$E4A3 PRG:24A3 D1 C1 B1 A1 91 81 71 61 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E6 AE. ; Local behavior: Executes the decoded process game state e6 ae sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E6AE: ldx #$00 ; CPU:$E4AB PRG:24AB ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E6 B0. ; Local behavior: Executes the decoded flow e6 b0 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E6B0: lda Ram_0407,x ; CPU:$E4AD PRG:24AD ?? bmi Flow_E6B9 ; CPU:$E4AF PRG:24AF ?? and #$10 ; CPU:$E4B1 PRG:24B1 ?? bne Flow_E6BF ; CPU:$E4B3 PRG:24B3 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E6 B9. ; Local behavior: Executes the decoded flow e6 b9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E6B9: inx ; CPU:$E4B5 PRG:24B5 ?? cpx #$06 ; CPU:$E4B7 PRG:24B7 ?? bne Flow_E6B0 ; CPU:$E4B9 PRG:24B9 ?? rts ; CPU:$E4BB PRG:24BB ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E6 BF. ; Local behavior: Executes the decoded flow e6 bf sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E6BF: lda Ram_0438,x ; CPU:$E4BD PRG:24BD ?? cmp #$01 ; CPU:$E4BF PRG:24BF ?? beq Flow_E6FB ; CPU:$E4C1 PRG:24C1 ?? dec Ram_0438,x ; CPU:$E4C3 PRG:24C3 ?? lda Ram_0438,x ; CPU:$E4C5 PRG:24C5 ?? and #$0F ; CPU:$E4C7 PRG:24C7 ?? bne Flow_E6B9 ; CPU:$E4C9 PRG:24C9 ?? lda Ram_0438,x ; CPU:$E4CB PRG:24CB ?? and #$10 ; CPU:$E4CD PRG:24CD ?? beq Flow_E6E4 ; CPU:$E4CF PRG:24CF ?? lda Ram_0407,x ; CPU:$E4D1 PRG:24D1 ?? and #$03 ; CPU:$E4D3 PRG:24D3 ?? tay ; CPU:$E4D5 PRG:24D5 ?? lda LookupTable_E70E,y ; CPU:$E4D7 PRG:24D7 ?? sta Zp_32 ; CPU:$E4D9 PRG:24D9 ?? bne Flow_E6EF ; CPU:$E4DB PRG:24DB ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E6 E4. ; Local behavior: Executes the decoded flow e6 e4 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E6E4: lda Ram_0407,x ; CPU:$E4DD PRG:24DD ?? and #$03 ; CPU:$E4DF PRG:24DF ?? tay ; CPU:$E4E1 PRG:24E1 ?? lda LookupTable_E712,y ; CPU:$E4E3 PRG:24E3 ?? sta Zp_32 ; CPU:$E4E5 PRG:24E5 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E6 EF. ; Local behavior: Executes the decoded flow e6 ef sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E6EF: txa ; CPU:$E4E7 PRG:24E7 ?? asl a ; CPU:$E4E9 PRG:24E9 ?? asl a ; CPU:$E4EB PRG:24EB ?? tay ; CPU:$E4ED PRG:24ED ?? lda Zp_32 ; CPU:$E4EF PRG:24EF ?? sta Ram_0701,y ; CPU:$E4F1 PRG:24F1 ?? jmp Flow_E6B9 ; CPU:$E4F3 PRG:24F3 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E6 FB. ; Local behavior: Executes the decoded flow e6 fb sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E6FB: lda Ram_0407,x ; CPU:$E4F5 PRG:24F5 ?? and #$EF ; CPU:$E4F7 PRG:24F7 ?? sta Ram_0407,x ; CPU:$E4F9 PRG:24F9 ?? and #$03 ; CPU:$E4FB PRG:24FB ?? tay ; CPU:$E4FD PRG:24FD ?? lda LookupTable_E716,y ; CPU:$E4FF PRG:24FF ?? sta Zp_32 ; CPU:$E501 PRG:2501 ?? jmp Flow_E6EF ; CPU:$E503 PRG:2503 ?? LookupTable_E70E: .byte $00,$60,$78,$90 ; PRG $270E | CPU $E70E ; CPU:$E505 PRG:2505 00 60 78 90 LookupTable_E712: .byte $00,$62,$7A,$92 ; PRG $2712 | CPU $E712 ; CPU:$E509 PRG:2509 00 62 7A 92 LookupTable_E716: .byte $00,$4C,$64,$7C ; PRG $2716 | CPU $E716 ; CPU:$E50D PRG:250D 00 4C 64 7C ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E71 A. ; Local behavior: Executes the decoded process game state e71 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E71A: nop ; CPU:$E511 PRG:2511 ?? lda Ram_040E ; CPU:$E513 PRG:2513 ?? bmi Flow_E738 ; CPU:$E515 PRG:2515 ?? lda Ram_071F ; CPU:$E517 PRG:2517 ?? sta Zp_32 ; CPU:$E519 PRG:2519 ?? lda Ram_071C ; CPU:$E51B PRG:251B ?? sta Zp_33 ; CPU:$E51D PRG:251D ?? ldx #$00 ; CPU:$E51F PRG:251F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E72 C. ; Local behavior: Executes the decoded flow e72 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E72C: lda Ram_0407,x ; CPU:$E521 PRG:2521 ?? and #$F0 ; CPU:$E523 PRG:2523 ?? beq Flow_E739 ; CPU:$E525 PRG:2525 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E733. ; Local behavior: Executes the decoded flow e733 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E733: inx ; CPU:$E527 PRG:2527 ?? cpx #$06 ; CPU:$E529 PRG:2529 ?? bne Flow_E72C ; CPU:$E52B PRG:252B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E738. ; Local behavior: Executes the decoded flow e738 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E738: rts ; CPU:$E52D PRG:252D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E739. ; Local behavior: Executes the decoded flow e739 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E739: and #$70 ; CPU:$E52F PRG:252F ?? bne Flow_E733 ; CPU:$E531 PRG:2531 ?? txa ; CPU:$E533 PRG:2533 ?? asl a ; CPU:$E535 PRG:2535 ?? asl a ; CPU:$E537 PRG:2537 ?? tay ; CPU:$E539 PRG:2539 ?? lda Ram_0703,y ; CPU:$E53B PRG:253B ?? clc ; CPU:$E53D PRG:253D ?? adc #$03 ; CPU:$E53F PRG:253F ?? cmp Zp_32 ; CPU:$E541 PRG:2541 ?? bcc Flow_E733 ; CPU:$E543 PRG:2543 ?? sbc #$0F ; CPU:$E545 PRG:2545 ?? cmp Zp_32 ; CPU:$E547 PRG:2547 ?? bcs Flow_E733 ; CPU:$E549 PRG:2549 ?? lda Ram_0700,y ; CPU:$E54B PRG:254B ?? clc ; CPU:$E54D PRG:254D ?? adc #$05 ; CPU:$E54F PRG:254F ?? cmp Zp_33 ; CPU:$E551 PRG:2551 ?? bcc Flow_E733 ; CPU:$E553 PRG:2553 ?? sbc #$0C ; CPU:$E555 PRG:2555 ?? cmp Zp_33 ; CPU:$E557 PRG:2557 ?? bcs Flow_E733 ; CPU:$E559 PRG:2559 ?? lda Ram_040E ; CPU:$E55B PRG:255B ?? ora #$F0 ; CPU:$E55D PRG:255D ?? sta Ram_040E ; CPU:$E55F PRG:255F ?? lda #$FF ; CPU:$E561 PRG:2561 ?? sta Ram_043F ; CPU:$E563 PRG:2563 ?? jmp Flow_E733 ; CPU:$E565 PRG:2565 ?? .byte $A6,$50,$FE,$04,$04,$AC,$02,$04,$BD,$04,$04,$85,$34,$D9,$C0,$E7 ; PRG $2771 | CPU $E771 ; CPU:$E567 PRG:2567 A6 50 FE 04 04 AC 02 04 BD 04 04 85 34 D9 C0 E7 .byte $D0,$03,$20,$90,$E0,$A5,$34,$D9,$C6,$E7,$D0,$03,$20,$90,$E0,$A5 ; PRG $2781 | CPU $E781 ; CPU:$E577 PRG:2577 D0 03 20 90 E0 A5 34 D9 C6 E7 D0 03 20 90 E0 A5 .byte $34,$D9,$CC,$E7,$D0,$03,$20,$90,$E0,$A5,$34,$D9,$D2,$E7,$D0,$03 ; PRG $2791 | CPU $E791 ; CPU:$E587 PRG:2587 34 D9 CC E7 D0 03 20 90 E0 A5 34 D9 D2 E7 D0 03 .byte $20,$90,$E0,$A5,$34,$D9,$D8,$E7,$90,$14,$AD,$0E,$04,$29,$0F,$09 ; PRG $27A1 | CPU $E7A1 ; CPU:$E597 PRG:2597 20 90 E0 A5 34 D9 D8 E7 90 14 AD 0E 04 29 0F 09 .byte $80,$8D,$0E,$04,$A9,$FF,$8D,$3F,$04,$A9,$05,$20,$26,$C0,$60,$04 ; PRG $27B1 | CPU $E7B1 ; CPU:$E5A7 PRG:25A7 80 8D 0E 04 A9 FF 8D 3F 04 A9 05 20 26 C0 60 04 .byte $05,$04,$06,$03,$03,$08,$07,$08,$10,$06,$07,$0C,$0D,$0E,$16,$09 ; PRG $27C1 | CPU $E7C1 ; CPU:$E5B7 PRG:25B7 05 04 06 03 03 08 07 08 10 06 07 0C 0D 0E 16 09 .byte $0C,$FF,$FF,$0E,$1C,$FF,$0E,$10,$10,$12,$20,$10,$12 ; PRG $27D1 | CPU $E7D1 ; CPU:$E5C7 PRG:25C7 0C FF FF 0E 1C FF 0E 10 10 12 20 10 12 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E7 DE. ; Local behavior: Executes the decoded process game state e7 de sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E7DE: lda Ram_040E ; CPU:$E5D4 PRG:25D4 ?? and #$F0 ; CPU:$E5D6 PRG:25D6 ?? cmp #$80 ; CPU:$E5D8 PRG:25D8 ?? bne Flow_E819 ; CPU:$E5DA PRG:25DA ?? lda Ram_043F ; CPU:$E5DC PRG:25DC ?? beq Flow_E816 ; CPU:$E5DE PRG:25DE ?? dec Ram_043F ; CPU:$E5E0 PRG:25E0 ?? lda Ram_043F ; CPU:$E5E2 PRG:25E2 ?? and #$0F ; CPU:$E5E4 PRG:25E4 ?? bne Flow_E819 ; CPU:$E5E6 PRG:25E6 ?? lda Ram_043F ; CPU:$E5E8 PRG:25E8 ?? and #$10 ; CPU:$E5EA PRG:25EA ?? beq Flow_E801 ; CPU:$E5EC PRG:25EC ?? lda #$34 ; CPU:$E5EE PRG:25EE ?? bne Flow_E803 ; CPU:$E5F0 PRG:25F0 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E801. ; Local behavior: Executes the decoded flow e801 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E801: lda #$1C ; CPU:$E5F2 PRG:25F2 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E803. ; Local behavior: Executes the decoded flow e803 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E803: sta Ram_071D ; CPU:$E5F4 PRG:25F4 ?? clc ; CPU:$E5F6 PRG:25F6 ?? adc #$02 ; CPU:$E5F8 PRG:25F8 ?? sta Ram_0721 ; CPU:$E5FA PRG:25FA ?? lda #$01 ; CPU:$E5FC PRG:25FC ?? sta Ram_071E ; CPU:$E5FE PRG:25FE ?? sta Ram_0722 ; CPU:$E600 PRG:2600 ?? bne Flow_E819 ; CPU:$E602 PRG:2602 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E816. ; Local behavior: Executes the decoded flow e816 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E816: inc Ram_0464 ; CPU:$E604 PRG:2604 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E819. ; Local behavior: Executes the decoded flow e819 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E819: rts ; CPU:$E606 PRG:2606 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E81 A. ; Local behavior: Executes the decoded process game state e81 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E81A: lda Ram_0465 ; CPU:$E608 PRG:2608 ?? bmi Flow_E870 ; CPU:$E60A PRG:260A ?? lda Ram_040E ; CPU:$E60C PRG:260C ?? and #$F0 ; CPU:$E60E PRG:260E ?? cmp #$F0 ; CPU:$E610 PRG:2610 ?? beq Flow_E829 ; CPU:$E612 PRG:2612 ?? rts ; CPU:$E614 PRG:2614 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E829. ; Local behavior: Executes the decoded flow e829 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E829: ldx #$1B ; CPU:$E616 PRG:2616 ?? lda Ram_043F ; CPU:$E618 PRG:2618 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E82 E. ; Local behavior: Executes the decoded flow e82 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E82E: cmp RomData_E871,x ; CPU:$E61A PRG:261A ?? beq Flow_E83A ; CPU:$E61C PRG:261C ?? dex ; CPU:$E61E PRG:261E ?? bpl Flow_E82E ; CPU:$E620 PRG:2620 ?? dec Ram_043F ; CPU:$E622 PRG:2622 ?? rts ; CPU:$E624 PRG:2624 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E83 A. ; Local behavior: Executes the decoded flow e83 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E83A: lda LookupTable_E88D,x ; CPU:$E626 PRG:2626 ?? sta Ram_071D ; CPU:$E628 PRG:2628 ?? clc ; CPU:$E62A PRG:262A ?? adc #$02 ; CPU:$E62C PRG:262C ?? sta Ram_0721 ; CPU:$E62E PRG:262E ?? lda #$01 ; CPU:$E630 PRG:2630 ?? sta Ram_071E ; CPU:$E632 PRG:2632 ?? sta Ram_0722 ; CPU:$E634 PRG:2634 ?? dec Ram_043F ; CPU:$E636 PRG:2636 ?? txa ; CPU:$E638 PRG:2638 ?? bne Flow_E867 ; CPU:$E63A PRG:263A ?? ldx CurrentPlayerIndex ; CPU:$E63C PRG:263C ?? dec Zp_5A,x ; CPU:$E63E PRG:263E ?? lda Zp_5A,x ; CPU:$E640 PRG:2640 ?? jsr DecrementPackedDecimalDigit ; CPU:$E642 PRG:2642 ?? sta Zp_5A,x ; CPU:$E644 PRG:2644 ?? lda #$FF ; CPU:$E646 PRG:2646 ?? sta Ram_0465 ; CPU:$E648 PRG:2648 ?? jmp Flow_E870 ; CPU:$E64A PRG:264A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E867. ; Local behavior: Executes the decoded flow e867 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E867: cpx #$18 ; CPU:$E64C PRG:264C ?? bne Flow_E870 ; CPU:$E64E PRG:264E ?? lda #$10 ; CPU:$E650 PRG:2650 ?? jsr StorePendingSoundCommand ; CPU:$E652 PRG:2652 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E870. ; Local behavior: Executes the decoded flow e870 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E870: rts ; CPU:$E654 PRG:2654 ?? RomData_E871: .byte $01,$08,$10,$18,$20,$28,$30,$38,$40,$48,$50,$58,$60,$68,$78,$80 ; PRG $2871 | CPU $E871 ; CPU:$E656 PRG:2656 01 08 10 18 20 28 30 38 40 48 50 58 60 68 78 80 .byte $88,$90,$98,$A0,$A8,$B0,$B8,$C0,$C8,$D0,$F8,$FE ; PRG $2881 | CPU $E881 ; CPU:$E666 PRG:2666 88 90 98 A0 A8 B0 B8 C0 C8 D0 F8 FE LookupTable_E88D: .byte $48,$44,$48,$44,$48,$44,$48,$44,$48,$44,$48,$44,$48,$44,$48,$44 ; PRG $288D | CPU $E88D ; CPU:$E672 PRG:2672 48 44 48 44 48 44 48 44 48 44 48 44 48 44 48 44 .byte $48,$44,$48,$44,$48,$44,$48,$44,$40,$3C,$38,$34 ; PRG $289D | CPU $E89D ; CPU:$E682 PRG:2682 48 44 48 44 48 44 48 44 40 3C 38 34 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E8 A9. ; Local behavior: Executes the decoded process game state e8 a9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E8A9: lda Zp_8E ; CPU:$E68E PRG:268E ?? beq Flow_E8B0 ; CPU:$E690 PRG:2690 ?? jmp Flow_E938 ; CPU:$E692 PRG:2692 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E8 B0. ; Local behavior: Executes the decoded flow e8 b0 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E8B0: jsr ProcessGameState_CEBE ; CPU:$E694 PRG:2694 ?? dex ; CPU:$E696 PRG:2696 ?? lda LookupTable_E939,x ; CPU:$E698 PRG:2698 ?? sta Zp_32 ; CPU:$E69A PRG:269A ?? lda LookupTable_E93F,x ; CPU:$E69C PRG:269C ?? sta Zp_33 ; CPU:$E69E PRG:269E ?? lda Ram_071F ; CPU:$E6A0 PRG:26A0 ?? sta Zp_34 ; CPU:$E6A2 PRG:26A2 ?? lda Ram_071C ; CPU:$E6A4 PRG:26A4 ?? sta Zp_35 ; CPU:$E6A6 PRG:26A6 ?? lda Zp_32 ; CPU:$E6A8 PRG:26A8 ?? clc ; CPU:$E6AA PRG:26AA ?? adc #$0C ; CPU:$E6AC PRG:26AC ?? cmp Zp_34 ; CPU:$E6AE PRG:26AE ?? bcc Flow_E938 ; CPU:$E6B0 PRG:26B0 ?? sbc #$18 ; CPU:$E6B2 PRG:26B2 ?? cmp Zp_34 ; CPU:$E6B4 PRG:26B4 ?? bcs Flow_E938 ; CPU:$E6B6 PRG:26B6 ?? lda Zp_33 ; CPU:$E6B8 PRG:26B8 ?? clc ; CPU:$E6BA PRG:26BA ?? adc #$0A ; CPU:$E6BC PRG:26BC ?? cmp Zp_35 ; CPU:$E6BE PRG:26BE ?? bcc Flow_E938 ; CPU:$E6C0 PRG:26C0 ?? sbc #$10 ; CPU:$E6C2 PRG:26C2 ?? cmp Zp_35 ; CPU:$E6C4 PRG:26C4 ?? bcs Flow_E938 ; CPU:$E6C6 PRG:26C6 ?? txa ; CPU:$E6C8 PRG:26C8 ?? asl a ; CPU:$E6CA PRG:26CA ?? ldy LookupTable_E948,x ; CPU:$E6CC PRG:26CC ?? lda LookupTable_E945,y ; CPU:$E6CE PRG:26CE ?? sta Zp_34 ; CPU:$E6D0 PRG:26D0 ?? sta Ram_07F9 ; CPU:$E6D2 PRG:26D2 ?? lda Zp_33 ; CPU:$E6D4 PRG:26D4 ?? sta Ram_07F8 ; CPU:$E6D6 PRG:26D6 ?? sta Ram_07FC ; CPU:$E6D8 PRG:26D8 ?? lda #$EE ; CPU:$E6DA PRG:26DA ?? sta Ram_07FD ; CPU:$E6DC PRG:26DC ?? lda Zp_32 ; CPU:$E6DE PRG:26DE ?? sta Ram_07FB ; CPU:$E6E0 PRG:26E0 ?? clc ; CPU:$E6E2 PRG:26E2 ?? adc #$08 ; CPU:$E6E4 PRG:26E4 ?? sta Ram_07FF ; CPU:$E6E6 PRG:26E6 ?? lda #$01 ; CPU:$E6E8 PRG:26E8 ?? sta Ram_07FA ; CPU:$E6EA PRG:26EA ?? sta Ram_07FE ; CPU:$E6EC PRG:26EC ?? ldy #$00 ; CPU:$E6EE PRG:26EE ?? lda #$02 ; CPU:$E6F0 PRG:26F0 ?? sta Ram_0463 ; CPU:$E6F2 PRG:26F2 ?? inc Zp_8E ; CPU:$E6F4 PRG:26F4 ?? ldy LookupTable_E948,x ; CPU:$E6F6 PRG:26F6 ?? lda LookupTable_E94E,y ; CPU:$E6F8 PRG:26F8 ?? jsr ProcessGameState_E951 ; CPU:$E6FA PRG:26FA ?? ldx CurrentPlayerIndex ; CPU:$E6FC PRG:26FC ?? inc Zp_5C,x ; CPU:$E6FE PRG:26FE ?? lda Zp_5C,x ; CPU:$E700 PRG:2700 ?? jsr ConvertPackedDecimalDigit ; CPU:$E702 PRG:2702 ?? sta Zp_5C,x ; CPU:$E704 PRG:2704 ?? jsr ProcessGameState_CAA7 ; CPU:$E706 PRG:2706 ?? lda #$11 ; CPU:$E708 PRG:2708 ?? jsr StorePendingSoundCommand ; CPU:$E70A PRG:270A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E938. ; Local behavior: Executes the decoded flow e938 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E938: rts ; CPU:$E70C PRG:270C ?? LookupTable_E939: .byte $80,$80,$80,$80,$B0,$80 ; PRG $2939 | CPU $E939 ; CPU:$E70E PRG:270E 80 80 80 80 B0 80 LookupTable_E93F: .byte $58,$78,$70,$28,$40,$68 ; PRG $293F | CPU $E93F ; CPU:$E714 PRG:2714 58 78 70 28 40 68 LookupTable_E945: .byte $FA,$FC,$FE ; PRG $2945 | CPU $E945 ; CPU:$E71A PRG:271A FA FC FE LookupTable_E948: .byte $00,$01,$02,$00,$01,$02 ; PRG $2948 | CPU $E948 ; CPU:$E71D PRG:271D 00 01 02 00 01 02 LookupTable_E94E: .byte $04,$05,$06 ; PRG $294E | CPU $E94E ; CPU:$E723 PRG:2723 04 05 06 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State E951. ; Local behavior: Executes the decoded process game state e951 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_E951: sta Zp_33 ; CPU:$E726 PRG:2726 ?? txa ; CPU:$E728 PRG:2728 ?? pha ; CPU:$E72A PRG:272A ?? tya ; CPU:$E72C PRG:272C ?? pha ; CPU:$E72E PRG:272E ?? lda GameMode ; CPU:$E730 PRG:2730 ?? bne Flow_E95E ; CPU:$E732 PRG:2732 ?? jmp Flow_E9F0 ; CPU:$E734 PRG:2734 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E95 E. ; Local behavior: Executes the decoded flow e95 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E95E: ldx CurrentPlayerIndex ; CPU:$E736 PRG:2736 ?? ldy LookupTable_EA00,x ; CPU:$E738 PRG:2738 ?? ldx Zp_33 ; CPU:$E73A PRG:273A ?? stx Zp_43 ; CPU:$E73C PRG:273C ?? sty Zp_42 ; CPU:$E73E PRG:273E ?? ldy #$01 ; CPU:$E740 PRG:2740 ?? cpx #$05 ; CPU:$E742 PRG:2742 ?? bcc Flow_E977 ; CPU:$E744 PRG:2744 ?? ldy #$0A ; CPU:$E746 PRG:2746 ?? cpx #$09 ; CPU:$E748 PRG:2748 ?? bcc Flow_E977 ; CPU:$E74A PRG:274A ?? ldy #$10 ; CPU:$E74C PRG:274C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E977. ; Local behavior: Executes the decoded flow e977 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E977: lda LookupTable_E9F5,x ; CPU:$E74E PRG:274E ?? tax ; CPU:$E750 PRG:2750 ?? lda CurrentPlayerIndex ; CPU:$E752 PRG:2752 ?? sty Zp_3B ; CPU:$E754 PRG:2754 ?? stx Zp_3C ; CPU:$E756 PRG:2756 ?? sta Zp_3D ; CPU:$E758 PRG:2758 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E983. ; Local behavior: Executes the decoded flow e983 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E983: ldx Zp_3C ; CPU:$E75A PRG:275A ?? lda Zp_3D ; CPU:$E75C PRG:275C ?? jsr SelectPpuRunLength ; CPU:$E75E PRG:275E ?? dec Zp_3B ; CPU:$E760 PRG:2760 ?? bne Flow_E983 ; CPU:$E762 PRG:2762 ?? ldx Zp_43 ; CPU:$E764 PRG:2764 ?? ldy Zp_42 ; CPU:$E766 PRG:2766 ?? ldx CurrentPlayerIndex ; CPU:$E768 PRG:2768 ?? jsr TransformValue_CA37 ; CPU:$E76A PRG:276A ?? ldx CurrentPlayerIndex ; CPU:$E76C PRG:276C ?? ldy LookupTable_EA00,x ; CPU:$E76E PRG:276E ?? lda Zp_66 ; CPU:$E770 PRG:2770 ?? cmp Zp_60,y ; CPU:$E772 PRG:2772 ?? bcc Flow_E9B5 ; CPU:$E774 PRG:2774 ?? bne Flow_E9C9 ; CPU:$E776 PRG:2776 ?? lda Zp_65 ; CPU:$E778 PRG:2778 ?? cmp Zp_5F,y ; CPU:$E77A PRG:277A ?? bcc Flow_E9B5 ; CPU:$E77C PRG:277C ?? bne Flow_E9C9 ; CPU:$E77E PRG:277E ?? lda Zp_64 ; CPU:$E780 PRG:2780 ?? cmp Zp_5E,y ; CPU:$E782 PRG:2782 ?? bcs Flow_E9C9 ; CPU:$E784 PRG:2784 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E9 B5. ; Local behavior: Executes the decoded flow e9 b5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E9B5: lda Zp_5E,y ; CPU:$E786 PRG:2786 ?? sta Zp_64 ; CPU:$E788 PRG:2788 ?? lda Zp_5F,y ; CPU:$E78A PRG:278A ?? sta Zp_65 ; CPU:$E78C PRG:278C ?? lda Zp_60,y ; CPU:$E78E PRG:278E ?? sta Zp_66 ; CPU:$E790 PRG:2790 ?? ldx #$02 ; CPU:$E792 PRG:2792 ?? jsr TransformValue_CA37 ; CPU:$E794 PRG:2794 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E9 C9. ; Local behavior: Executes the decoded flow e9 c9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E9C9: ldx CurrentPlayerIndex ; CPU:$E796 PRG:2796 ?? ldy LookupTable_EA00,x ; CPU:$E798 PRG:2798 ?? lda Zp_60,y ; CPU:$E79A PRG:279A ?? cmp Zp_8C,x ; CPU:$E79C PRG:279C ?? bcc Flow_E9F0 ; CPU:$E79E PRG:279E ?? lda Zp_8C,x ; CPU:$E7A0 PRG:27A0 ?? clc ; CPU:$E7A2 PRG:27A2 ?? adc Zp_8B ; CPU:$E7A4 PRG:27A4 ?? jsr ConvertPackedDecimalDigit ; CPU:$E7A6 PRG:27A6 ?? sta Zp_8C,x ; CPU:$E7A8 PRG:27A8 ?? inc Zp_5A,x ; CPU:$E7AA PRG:27AA ?? lda Zp_5A,x ; CPU:$E7AC PRG:27AC ?? jsr ConvertPackedDecimalDigit ; CPU:$E7AE PRG:27AE ?? sta Zp_5A,x ; CPU:$E7B0 PRG:27B0 ?? jsr ProcessGameState_CA87 ; CPU:$E7B2 PRG:27B2 ?? lda #$02 ; CPU:$E7B4 PRG:27B4 ?? jsr StorePendingSoundCommand ; CPU:$E7B6 PRG:27B6 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow E9 F0. ; Local behavior: Executes the decoded flow e9 f0 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_E9F0: pla ; CPU:$E7B8 PRG:27B8 ?? tay ; CPU:$E7BA PRG:27BA ?? pla ; CPU:$E7BC PRG:27BC ?? tax ; CPU:$E7BE PRG:27BE ?? rts ; CPU:$E7C0 PRG:27C0 ?? LookupTable_E9F5: .byte $05,$10,$20,$30,$50,$10,$15,$20,$40,$50,$50 ; PRG $29F5 | CPU $E9F5 ; CPU:$E7C2 PRG:27C2 05 10 20 30 50 10 15 20 40 50 50 LookupTable_EA00: .byte $00,$03,$00,$1B,$1C,$04,$01,$02,$20,$21,$11,$12,$13,$14,$15,$16 ; PRG $2A00 | CPU $EA00 ; CPU:$E7CD PRG:27CD 00 03 00 1B 1C 04 01 02 20 21 11 12 13 14 15 16 .byte $17,$18,$19,$1A,$1D,$13,$14,$15,$16,$17 ; PRG $2A10 | CPU $EA10 ; CPU:$E7DD PRG:27DD 17 18 19 1A 1D 13 14 15 16 17 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State EA1 A. ; Local behavior: Executes the decoded process game state ea1 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_EA1A: ldx #$05 ; CPU:$E7E7 PRG:27E7 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow EA1 C. ; Local behavior: Executes the decoded flow ea1 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_EA1C: lda Ram_0407,x ; CPU:$E7E9 PRG:27E9 ?? and #$F0 ; CPU:$E7EB PRG:27EB ?? cmp #$80 ; CPU:$E7ED PRG:27ED ?? beq Flow_EA29 ; CPU:$E7EF PRG:27EF ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow EA25. ; Local behavior: Executes the decoded flow ea25 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_EA25: dex ; CPU:$E7F1 PRG:27F1 ?? bpl Flow_EA1C ; CPU:$E7F3 PRG:27F3 ?? rts ; CPU:$E7F5 PRG:27F5 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow EA29. ; Local behavior: Executes the decoded flow ea29 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_EA29: lda Ram_0438,x ; CPU:$E7F7 PRG:27F7 ?? cmp #$01 ; CPU:$E7F9 PRG:27F9 ?? bne Flow_EA33 ; CPU:$E7FB PRG:27FB ?? jmp Flow_EAAD ; CPU:$E7FD PRG:27FD ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow EA33. ; Local behavior: Executes the decoded flow ea33 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_EA33: dec Ram_0438,x ; CPU:$E7FF PRG:27FF ?? lda Ram_0438,x ; CPU:$E801 PRG:2801 ?? cmp #$40 ; CPU:$E803 PRG:2803 ?? beq Flow_EA77 ; CPU:$E805 PRG:2805 ?? cmp #$38 ; CPU:$E807 PRG:2807 ?? beq Flow_EA89 ; CPU:$E809 PRG:2809 ?? cmp #$30 ; CPU:$E80B PRG:280B ?? beq Flow_EA9B ; CPU:$E80D PRG:280D ?? cmp #$28 ; CPU:$E80F PRG:280F ?? beq Flow_EA65 ; CPU:$E811 PRG:2811 ?? cmp #$20 ; CPU:$E813 PRG:2813 ?? bne Flow_EA25 ; CPU:$E815 PRG:2815 ?? lda Ram_0407,x ; CPU:$E817 PRG:2817 ?? and #$03 ; CPU:$E819 PRG:2819 ?? tay ; CPU:$E81B PRG:281B ?? lda LookupTable_EAE6,y ; CPU:$E81D PRG:281D ?? jsr ProcessGameState_E951 ; CPU:$E81F PRG:281F ?? lda LookupTable_EAE3,y ; CPU:$E821 PRG:2821 ?? ldy LookupTable_EAD0,x ; CPU:$E823 PRG:2823 ?? jsr UpdateObjectState_E0E4 ; CPU:$E825 PRG:2825 ?? jmp Flow_EA25 ; CPU:$E827 PRG:2827 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow EA65. ; Local behavior: Executes the decoded flow ea65 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_EA65: lda Ram_0407,x ; CPU:$E829 PRG:2829 ?? and #$03 ; CPU:$E82B PRG:282B ?? tay ; CPU:$E82D PRG:282D ?? lda LookupTable_EAE0,y ; CPU:$E82F PRG:282F ?? ldy LookupTable_EAD0,x ; CPU:$E831 PRG:2831 ?? sta Ram_0701,y ; CPU:$E833 PRG:2833 ?? jmp Flow_EA25 ; CPU:$E835 PRG:2835 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow EA77. ; Local behavior: Executes the decoded flow ea77 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_EA77: lda Ram_0407,x ; CPU:$E837 PRG:2837 ?? and #$03 ; CPU:$E839 PRG:2839 ?? tay ; CPU:$E83B PRG:283B ?? lda LookupTable_EAD7,y ; CPU:$E83D PRG:283D ?? ldy LookupTable_EAD0,x ; CPU:$E83F PRG:283F ?? sta Ram_0701,y ; CPU:$E841 PRG:2841 ?? jmp Flow_EA25 ; CPU:$E843 PRG:2843 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow EA89. ; Local behavior: Executes the decoded flow ea89 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_EA89: lda Ram_0407,x ; CPU:$E845 PRG:2845 ?? and #$03 ; CPU:$E847 PRG:2847 ?? tay ; CPU:$E849 PRG:2849 ?? lda LookupTable_EADA,y ; CPU:$E84B PRG:284B ?? ldy LookupTable_EAD0,x ; CPU:$E84D PRG:284D ?? sta Ram_0701,y ; CPU:$E84F PRG:284F ?? jmp Flow_EA25 ; CPU:$E851 PRG:2851 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow EA9 B. ; Local behavior: Executes the decoded flow ea9 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_EA9B: lda Ram_0407,x ; CPU:$E853 PRG:2853 ?? and #$03 ; CPU:$E855 PRG:2855 ?? tay ; CPU:$E857 PRG:2857 ?? lda LookupTable_EADD,y ; CPU:$E859 PRG:2859 ?? ldy LookupTable_EAD0,x ; CPU:$E85B PRG:285B ?? sta Ram_0701,y ; CPU:$E85D PRG:285D ?? jmp Flow_EA25 ; CPU:$E85F PRG:285F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow EAAD. ; Local behavior: Executes the decoded flow eaad sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_EAAD: stx Zp_32 ; CPU:$E861 PRG:2861 ?? lda Ram_0407,x ; CPU:$E863 PRG:2863 ?? and #$03 ; CPU:$E865 PRG:2865 ?? tax ; CPU:$E867 PRG:2867 ?? dec Ram_045D,x ; CPU:$E869 PRG:2869 ?? ldx Zp_32 ; CPU:$E86B PRG:286B ?? lda #$FF ; CPU:$E86D PRG:286D ?? sta Ram_0407,x ; CPU:$E86F PRG:286F ?? ldy LookupTable_EAD0,x ; CPU:$E871 PRG:2871 ?? lda #$F0 ; CPU:$E873 PRG:2873 ?? sta Ram_0700,y ; CPU:$E875 PRG:2875 ?? sta Ram_0703,y ; CPU:$E877 PRG:2877 ?? jsr ProcessGameState_E10D ; CPU:$E879 PRG:2879 ?? jmp Flow_EA25 ; CPU:$E87B PRG:287B ?? LookupTable_EAD0: .byte $00,$04,$08,$0C,$10,$14,$18 ; PRG $2AD0 | CPU $EAD0 ; CPU:$E87D PRG:287D 00 04 08 0C 10 14 18 LookupTable_EAD7: .byte $1C,$58,$70 ; PRG $2AD7 | CPU $EAD7 ; CPU:$E884 PRG:2884 1C 58 70 LookupTable_EADA: .byte $88,$5A,$72 ; PRG $2ADA | CPU $EADA ; CPU:$E887 PRG:2887 88 5A 72 LookupTable_EADD: .byte $8A,$5C,$74 ; PRG $2ADD | CPU $EADD ; CPU:$E88A PRG:288A 8A 5C 74 LookupTable_EAE0: .byte $8C,$5E,$76 ; PRG $2AE0 | CPU $EAE0 ; CPU:$E88D PRG:288D 8C 5E 76 LookupTable_EAE3: .byte $8E,$F0,$F2 ; PRG $2AE3 | CPU $EAE3 ; CPU:$E890 PRG:2890 8E F0 F2 LookupTable_EAE6: .byte $F4,$01,$02,$03,$84,$42,$A2,$05,$BD,$07,$04,$10,$06,$CA,$10,$F8 ; PRG $2AE6 | CPU $EAE6 ; CPU:$E893 PRG:2893 F4 01 02 03 84 42 A2 05 BD 07 04 10 06 CA 10 F8 .byte $A4,$42,$60,$BC,$D0,$EA,$B9,$03,$07,$18,$69,$08,$85,$32,$B9,$00 ; PRG $2AF6 | CPU $EAF6 ; CPU:$E8A3 PRG:28A3 A4 42 60 BC D0 EA B9 03 07 18 69 08 85 32 B9 00 .byte $07,$85,$33,$AC,$71,$04,$B9,$01,$02,$C5,$32,$B0,$E0,$18,$69,$20 ; PRG $2B06 | CPU $EB06 ; CPU:$E8B3 PRG:28B3 07 85 33 AC 71 04 B9 01 02 C5 32 B0 E0 18 69 20 .byte $C5,$32,$90,$D9,$B9,$02,$02,$38,$E9,$09,$C5,$33,$B0,$CF,$69,$10 ; PRG $2B16 | CPU $EB16 ; CPU:$E8C3 PRG:28C3 C5 32 90 D9 B9 02 02 38 E9 09 C5 33 B0 CF 69 10 .byte $C5,$33,$90,$C9,$BD,$07,$04,$29,$0F,$09,$80,$9D,$07,$04,$A9,$42 ; PRG $2B26 | CPU $EB26 ; CPU:$E8D3 PRG:28D3 C5 33 90 C9 BD 07 04 29 0F 09 80 9D 07 04 A9 42 .byte $9D,$38,$04,$A9,$0C,$20,$26,$C0,$4C,$F3,$EA,$47,$20,$28,$3B,$20 ; PRG $2B36 | CPU $EB36 ; CPU:$E8E3 PRG:28E3 9D 38 04 A9 0C 20 26 C0 4C F3 EA 47 20 28 3B 20 .byte $30,$09,$20,$48,$17,$20,$68,$5B,$20,$70,$09,$20,$98,$3B,$20,$A0 ; PRG $2B46 | CPU $EB46 ; CPU:$E8F3 PRG:28F3 30 09 20 48 17 20 68 5B 20 70 09 20 98 3B 20 A0 .byte $09,$20,$B8,$3B,$38,$50,$5B,$38,$70,$3B,$50,$30,$09,$50,$48,$1B ; PRG $2B56 | CPU $EB56 ; CPU:$E903 PRG:2903 09 20 B8 3B 38 50 5B 38 70 3B 50 30 09 50 48 1B .byte $50,$50,$09,$50,$58,$1B,$50,$60,$09,$50,$68,$1B,$50,$70,$09,$50 ; PRG $2B66 | CPU $EB66 ; CPU:$E913 PRG:2913 50 50 09 50 58 1B 50 60 09 50 68 1B 50 70 09 50 .byte $78,$3B,$50,$80,$09,$50,$98,$3B,$50,$A0,$09,$50,$B8,$5B,$68,$30 ; PRG $2B76 | CPU $EB76 ; CPU:$E923 PRG:2923 78 3B 50 80 09 50 98 3B 50 A0 09 50 B8 5B 68 30 .byte $0A,$60,$58,$17,$80,$28,$3B,$80,$30,$09,$80,$48,$1B,$80,$50,$09 ; PRG $2B86 | CPU $EB86 ; CPU:$E933 PRG:2933 0A 60 58 17 80 28 3B 80 30 09 80 48 1B 80 50 09 .byte $80,$58,$3B,$80,$80,$09,$80,$78,$3B,$80,$80,$09,$80,$98,$3B,$80 ; PRG $2B96 | CPU $EB96 ; CPU:$E943 PRG:2943 80 58 3B 80 80 09 80 78 3B 80 80 09 80 98 3B 80 .byte $A0,$09,$80,$B8,$5B,$98,$50,$08,$90,$98,$17,$B0,$28,$3B,$B0,$30 ; PRG $2BA6 | CPU $EBA6 ; CPU:$E953 PRG:2953 A0 09 80 B8 5B 98 50 08 90 98 17 B0 28 3B B0 30 .byte $09,$B0,$48,$3B,$B0,$50,$09,$B0,$68,$1B,$B0,$70,$09,$B0,$78,$1B ; PRG $2BB6 | CPU $EBB6 ; CPU:$E963 PRG:2963 09 B0 48 3B B0 50 09 B0 68 1B B0 70 09 B0 78 1B .byte $B0,$80,$09,$B0,$88,$1B,$B0,$90,$09,$B0,$98,$3B,$B0,$A0,$09,$B0 ; PRG $2BC6 | CPU $EBC6 ; CPU:$E973 PRG:2973 B0 80 09 B0 88 1B B0 90 09 B0 98 3B B0 A0 09 B0 .byte $B8,$3B,$C8,$70,$5B,$C8,$90,$0A,$C0,$B8,$17,$E0,$28,$3B,$E0,$30 ; PRG $2BD6 | CPU $EBD6 ; CPU:$E983 PRG:2983 B8 3B C8 70 5B C8 90 0A C0 B8 17 E0 28 3B E0 30 .byte $09,$E0,$48,$3B,$E0,$50,$09,$E0,$68,$17,$E0,$88,$5B,$E0,$90,$09 ; PRG $2BE6 | CPU $EBE6 ; CPU:$E993 PRG:2993 09 E0 48 3B E0 50 09 E0 68 17 E0 88 5B E0 90 09 .byte $E0,$B8,$3B,$80,$60,$FF,$17,$20,$28,$1B,$20,$30,$09,$20,$38,$1B ; PRG $2BF6 | CPU $EBF6 ; CPU:$E9A3 PRG:29A3 E0 B8 3B 80 60 FF 17 20 28 1B 20 30 09 20 38 1B .byte $20,$40,$09,$20,$48,$3B,$20,$50,$09,$20,$68,$1B,$38,$30,$1B,$38 ; PRG $2C06 | CPU $EC06 ; CPU:$E9B3 PRG:29B3 20 40 09 20 48 3B 20 50 09 20 68 1B 38 30 1B 38 .byte $40,$3B,$38,$50,$17,$50,$28,$1B,$50,$30,$09,$50,$38,$1B,$50,$40 ; PRG $2C16 | CPU $EC16 ; CPU:$E9C3 PRG:29C3 40 3B 38 50 17 50 28 1B 50 30 09 50 38 1B 50 40 .byte $09,$50,$48,$1B,$50,$50,$09,$50,$58,$1B,$50,$60,$09,$50,$68,$17 ; PRG $2C26 | CPU $EC26 ; CPU:$E9D3 PRG:29D3 09 50 48 1B 50 50 09 50 58 1B 50 60 09 50 68 17 .byte $50,$88,$17,$50,$A8,$1B,$68,$30,$3B,$68,$40,$1B,$68,$60,$0A,$60 ; PRG $2C36 | CPU $EC36 ; CPU:$E9E3 PRG:29E3 50 88 17 50 A8 1B 68 30 3B 68 40 1B 68 60 0A 60 .byte $68,$3B,$68,$70,$0A,$60,$88,$3B,$68,$90,$17,$80,$28,$1B,$80,$30 ; PRG $2C46 | CPU $EC46 ; CPU:$E9F3 PRG:29F3 68 3B 68 70 0A 60 88 3B 68 90 17 80 28 1B 80 30 .byte $09,$80,$38,$1B,$80,$40,$09,$80,$48,$1B,$80,$50,$09,$80,$58,$1B ; PRG $2C56 | CPU $EC56 ; CPU:$EA03 PRG:2A03 09 80 38 1B 80 40 09 80 48 1B 80 50 09 80 58 1B .byte $80,$60,$09,$80,$68,$1B,$80,$70,$09,$80,$78,$1B,$80,$80,$09,$80 ; PRG $2C66 | CPU $EC66 ; CPU:$EA13 PRG:2A13 80 60 09 80 68 1B 80 70 09 80 78 1B 80 80 09 80 .byte $88,$1B,$80,$90,$09,$80,$98,$1B,$80,$A0,$09,$80,$A8,$3B,$80,$B0 ; PRG $2C76 | CPU $EC76 ; CPU:$EA23 PRG:2A23 88 1B 80 90 09 80 98 1B 80 A0 09 80 A8 3B 80 B0 .byte $09,$80,$C8,$3B,$98,$30,$0A,$90,$48,$3B,$98,$50,$0A,$90,$68,$1B ; PRG $2C86 | CPU $EC86 ; CPU:$EA33 PRG:2A33 09 80 C8 3B 98 30 0A 90 48 3B 98 50 0A 90 68 1B .byte $98,$70,$3B,$98,$80,$1B,$98,$A0,$17,$B0,$28,$3B,$B0,$30,$09,$B0 ; PRG $2C96 | CPU $EC96 ; CPU:$EA43 PRG:2A43 98 70 3B 98 80 1B 98 A0 17 B0 28 3B B0 30 09 B0 .byte $48,$1B,$B0,$50,$09,$B0,$58,$1B,$B0,$60,$09,$B0,$68,$17,$B0,$78 ; PRG $2CA6 | CPU $ECA6 ; CPU:$EA53 PRG:2A53 48 1B B0 50 09 B0 58 1B B0 60 09 B0 68 17 B0 78 .byte $17,$B0,$98,$17,$B0,$A8,$3B,$C8,$30,$1B,$C8,$50,$1B,$C8,$60,$17 ; PRG $2CB6 | CPU $ECB6 ; CPU:$EA63 PRG:2A63 17 B0 98 17 B0 A8 3B C8 30 1B C8 50 1B C8 60 17 .byte $E0,$28,$3B,$E0,$30,$09,$E0,$48,$1B,$E0,$50,$09,$E0,$58,$1B,$E0 ; PRG $2CC6 | CPU $ECC6 ; CPU:$EA73 PRG:2A73 E0 28 3B E0 30 09 E0 48 1B E0 50 09 E0 58 1B E0 .byte $60,$09,$E0,$68,$FF,$17,$20,$28,$1B,$20,$30,$09,$20,$38,$1B,$20 ; PRG $2CD6 | CPU $ECD6 ; CPU:$EA83 PRG:2A83 60 09 E0 68 FF 17 20 28 1B 20 30 09 20 38 1B 20 .byte $40,$09,$20,$48,$1B,$20,$50,$09,$20,$58,$17,$20,$98,$1B,$20,$A0 ; PRG $2CE6 | CPU $ECE6 ; CPU:$EA93 PRG:2A93 40 09 20 48 1B 20 50 09 20 58 17 20 98 1B 20 A0 .byte $09,$20,$A8,$1B,$20,$B0,$09,$20,$B8,$08,$30,$38,$1B,$38,$A0,$1B ; PRG $2CF6 | CPU $ECF6 ; CPU:$EAA3 PRG:2AA3 09 20 A8 1B 20 B0 09 20 B8 08 30 38 1B 38 A0 1B .byte $38,$B0,$17,$50,$28,$1B,$50,$30,$09,$50,$38,$1B,$50,$40,$09,$50 ; PRG $2D06 | CPU $ED06 ; CPU:$EAB3 PRG:2AB3 38 B0 17 50 28 1B 50 30 09 50 38 1B 50 40 09 50 .byte $48,$17,$50,$58,$1B,$50,$60,$1B,$50,$68,$1B,$50,$70,$09,$50,$78 ; PRG $2D16 | CPU $ED16 ; CPU:$EAC3 PRG:2AC3 48 17 50 58 1B 50 60 1B 50 68 1B 50 70 09 50 78 .byte $3B,$50,$80,$09,$50,$98,$17,$50,$A8,$1B,$50,$B0,$09,$50,$B8,$1B ; PRG $2D26 | CPU $ED26 ; CPU:$EAD3 PRG:2AD3 3B 50 80 09 50 98 17 50 A8 1B 50 B0 09 50 B8 1B .byte $50,$C0,$09,$50,$C8,$1B,$50,$D0,$09,$50,$D8,$1B,$68,$30,$08,$60 ; PRG $2D36 | CPU $ED36 ; CPU:$EAE3 PRG:2AE3 50 C0 09 50 C8 1B 50 D0 09 50 D8 1B 68 30 08 60 .byte $48,$1B,$68,$50,$3B,$68,$60,$0A,$60,$78,$08,$60,$C8,$1B,$68,$D0 ; PRG $2D46 | CPU $ED46 ; CPU:$EAF3 PRG:2AF3 48 1B 68 50 3B 68 60 0A 60 78 08 60 C8 1B 68 D0 .byte $0A,$60,$D8,$17,$80,$28,$17,$80,$38,$1B,$80,$40,$09,$80,$48,$1B ; PRG $2D56 | CPU $ED56 ; CPU:$EB03 PRG:2B03 0A 60 D8 17 80 28 17 80 38 1B 80 40 09 80 48 1B .byte $80,$50,$09,$80,$58,$1B,$80,$60,$09,$80,$68,$1B,$80,$70,$09,$80 ; PRG $2D66 | CPU $ED66 ; CPU:$EB13 PRG:2B13 80 50 09 80 58 1B 80 60 09 80 68 1B 80 70 09 80 .byte $78,$27,$90,$78,$17,$80,$C8,$17,$80,$D8,$1B,$98,$30,$08,$90,$68 ; PRG $2D76 | CPU $ED76 ; CPU:$EB23 PRG:2B23 78 27 90 78 17 80 C8 17 80 D8 1B 98 30 08 90 68 .byte $08,$90,$C8,$1B,$98,$D0,$0A,$90,$D8,$17,$B0,$28,$37,$B0,$38,$1B ; PRG $2D86 | CPU $ED86 ; CPU:$EB33 PRG:2B33 08 90 C8 1B 98 D0 0A 90 D8 17 B0 28 37 B0 38 1B .byte $B0,$40,$09,$B0,$48,$1B,$B0,$50,$09,$B0,$58,$17,$B0,$68,$1B,$B0 ; PRG $2D96 | CPU $ED96 ; CPU:$EB43 PRG:2B43 B0 40 09 B0 48 1B B0 50 09 B0 58 17 B0 68 1B B0 .byte $70,$09,$B0,$78,$3B,$B0,$80,$09,$B0,$98,$1B,$B0,$A0,$09,$B0,$A8 ; PRG $2DA6 | CPU $EDA6 ; CPU:$EB53 PRG:2B53 70 09 B0 78 3B B0 80 09 B0 98 1B B0 A0 09 B0 A8 .byte $1B,$B0,$B0,$09,$B0,$B8,$1B,$B0,$C0,$09,$B0,$C8,$1B,$B0,$D0,$09 ; PRG $2DB6 | CPU $EDB6 ; CPU:$EB63 PRG:2B63 1B B0 B0 09 B0 B8 1B B0 C0 09 B0 C8 1B B0 D0 09 .byte $B0,$D8,$17,$E0,$28,$1B,$E0,$30,$09,$E0,$38,$1B,$E0,$40,$09,$E0 ; PRG $2DC6 | CPU $EDC6 ; CPU:$EB73 PRG:2B73 B0 D8 17 E0 28 1B E0 30 09 E0 38 1B E0 40 09 E0 .byte $48,$1B,$E0,$50,$09,$E0,$58,$17,$E0,$98,$1B,$E0,$A0,$09,$E0,$A8 ; PRG $2DD6 | CPU $EDD6 ; CPU:$EB83 PRG:2B83 48 1B E0 50 09 E0 58 17 E0 98 1B E0 A0 09 E0 A8 .byte $1B,$E0,$B0,$09,$E0,$B8,$FF,$17,$20,$28,$17,$50,$28,$17,$80,$28 ; PRG $2DE6 | CPU $EDE6 ; CPU:$EB93 PRG:2B93 1B E0 B0 09 E0 B8 FF 17 20 28 17 50 28 17 80 28 .byte $17,$B0,$28,$17,$E0,$28,$1B,$20,$30,$1B,$50,$30,$1B,$80,$30,$1B ; PRG $2DF6 | CPU $EDF6 ; CPU:$EBA3 PRG:2BA3 17 B0 28 17 E0 28 1B 20 30 1B 50 30 1B 80 30 1B .byte $B0,$30,$1B,$E0,$38,$09,$20,$38,$09,$50,$38,$09,$80,$38,$09,$B0 ; PRG $2E06 | CPU $EE06 ; CPU:$EBB3 PRG:2BB3 B0 30 1B E0 38 09 20 38 09 50 38 09 80 38 09 B0 .byte $38,$09,$E0,$38,$1B,$38,$40,$1B,$68,$40,$1B,$98,$40,$1B,$C8,$40 ; PRG $2E16 | CPU $EE16 ; CPU:$EBC3 PRG:2BC3 38 09 E0 38 1B 38 40 1B 68 40 1B 98 40 1B C8 40 .byte $17,$20,$48,$17,$50,$48,$17,$80,$48,$17,$B0,$48,$17,$E0,$48,$1B ; PRG $2E26 | CPU $EE26 ; CPU:$EBD3 PRG:2BD3 17 20 48 17 50 48 17 80 48 17 B0 48 17 E0 48 1B .byte $20,$50,$1B,$50,$50,$1B,$80,$50,$1B,$B0,$50,$1B,$E0,$50,$09,$20 ; PRG $2E36 | CPU $EE36 ; CPU:$EBE3 PRG:2BE3 20 50 1B 50 50 1B 80 50 1B B0 50 1B E0 50 09 20 .byte $58,$09,$50,$58,$09,$80,$58,$09,$B0,$58,$09,$E0,$58,$1B,$38,$60 ; PRG $2E46 | CPU $EE46 ; CPU:$EBF3 PRG:2BF3 58 09 50 58 09 80 58 09 B0 58 09 E0 58 1B 38 60 .byte $1B,$68,$60,$1B,$80,$60,$1B,$98,$60,$1B,$C8,$60,$17,$20,$68,$17 ; PRG $2E56 | CPU $EE56 ; CPU:$EC03 PRG:2C03 1B 68 60 1B 80 60 1B 98 60 1B C8 60 17 20 68 17 .byte $50,$68,$09,$80,$68,$17,$B0,$68,$17,$E0,$68,$1B,$20,$70,$1B,$50 ; PRG $2E66 | CPU $EE66 ; CPU:$EC13 PRG:2C13 50 68 09 80 68 17 B0 68 17 E0 68 1B 20 70 1B 50 .byte $70,$1B,$80,$70,$1B,$B0,$70,$1B,$E0,$70,$09,$20,$78,$09,$50,$78 ; PRG $2E76 | CPU $EE76 ; CPU:$EC23 PRG:2C23 70 1B 80 70 1B B0 70 1B E0 70 09 20 78 09 50 78 .byte $09,$80,$78,$09,$B0,$78,$09,$E0,$78,$1B,$20,$80,$1B,$38,$80,$1B ; PRG $2E86 | CPU $EE86 ; CPU:$EC33 PRG:2C33 09 80 78 09 B0 78 09 E0 78 1B 20 80 1B 38 80 1B .byte $68,$80,$1B,$98,$80,$1B,$C8,$80,$1B,$E0,$80,$09,$20,$88,$17,$50 ; PRG $2E96 | CPU $EE96 ; CPU:$EC43 PRG:2C43 68 80 1B 98 80 1B C8 80 1B E0 80 09 20 88 17 50 .byte $88,$17,$80,$88,$17,$B0,$88,$09,$E0,$88,$1B,$20,$90,$1B,$50,$90 ; PRG $2EA6 | CPU $EEA6 ; CPU:$EC53 PRG:2C53 88 17 80 88 17 B0 88 09 E0 88 1B 20 90 1B 50 90 .byte $1B,$80,$90,$1B,$B0,$90,$1B,$E0,$90,$09,$20,$98,$09,$50,$98,$09 ; PRG $2EB6 | CPU $EEB6 ; CPU:$EC63 PRG:2C63 1B 80 90 1B B0 90 1B E0 90 09 20 98 09 50 98 09 .byte $80,$98,$09,$B0,$98,$09,$E0,$98,$1B,$E0,$30,$FF,$47,$20,$28,$17 ; PRG $2EC6 | CPU $EEC6 ; CPU:$EC73 PRG:2C73 80 98 09 B0 98 09 E0 98 1B E0 30 FF 47 20 28 17 .byte $80,$28,$47,$B0,$28,$1B,$20,$30,$1B,$C8,$30,$1B,$E0,$30,$09,$20 ; PRG $2ED6 | CPU $EED6 ; CPU:$EC83 PRG:2C83 80 28 47 B0 28 1B 20 30 1B C8 30 1B E0 30 09 20 .byte $38,$37,$30,$38,$17,$80,$38,$17,$B0,$38,$0A,$C0,$38,$09,$E0,$38 ; PRG $2EE6 | CPU $EEE6 ; CPU:$EC93 PRG:2C93 38 37 30 38 17 80 38 17 B0 38 0A C0 38 09 E0 38 .byte $1B,$80,$40,$1B,$B0,$40,$5B,$C8,$40,$5B,$E0,$40,$47,$20,$48,$09 ; PRG $2EF6 | CPU $EEF6 ; CPU:$ECA3 PRG:2CA3 1B 80 40 1B B0 40 5B C8 40 5B E0 40 47 20 48 09 .byte $80,$48,$09,$B0,$48,$1B,$20,$50,$09,$20,$58,$1B,$20,$60,$09,$20 ; PRG $2F06 | CPU $EF06 ; CPU:$ECB3 PRG:2CB3 80 48 09 B0 48 1B 20 50 09 20 58 1B 20 60 09 20 .byte $68,$1B,$20,$80,$09,$20,$88,$37,$30,$58,$17,$80,$58,$17,$B0,$58 ; PRG $2F16 | CPU $EF16 ; CPU:$ECC3 PRG:2CC3 68 1B 20 80 09 20 88 37 30 58 17 80 58 17 B0 58 .byte $1B,$B0,$60,$37,$30,$68,$17,$80,$68,$09,$B0,$68,$0A,$C0,$68,$09 ; PRG $2F26 | CPU $EF26 ; CPU:$ECD3 PRG:2CD3 1B B0 60 37 30 68 17 80 68 09 B0 68 0A C0 68 09 .byte $E0,$68,$1B,$20,$70,$1B,$50,$70,$7B,$C8,$70,$7B,$E0,$70,$09,$20 ; PRG $2F36 | CPU $EF36 ; CPU:$ECE3 PRG:2CE3 E0 68 1B 20 70 1B 50 70 7B C8 70 7B E0 70 09 20 .byte $78,$08,$30,$78,$09,$50,$78,$17,$80,$78,$17,$B0,$78,$1B,$B0,$80 ; PRG $2F46 | CPU $EF46 ; CPU:$ECF3 PRG:2CF3 78 08 30 78 09 50 78 17 80 78 17 B0 78 1B B0 80 .byte $37,$30,$88,$17,$80,$88,$09,$B0,$88,$1B,$20,$90,$1B,$B0,$90,$09 ; PRG $2F56 | CPU $EF56 ; CPU:$ED03 PRG:2D03 37 30 88 17 80 88 09 B0 88 1B 20 90 1B B0 90 09 .byte $20,$98,$37,$30,$98,$17,$80,$98,$09,$B0,$98,$7B,$20,$A0,$17,$B0 ; PRG $2F66 | CPU $EF66 ; CPU:$ED13 PRG:2D13 20 98 37 30 98 17 80 98 09 B0 98 7B 20 A0 17 B0 .byte $A8,$0A,$C0,$A8,$09,$E0,$A8,$5B,$B0,$B0,$5B,$E0,$B0,$09,$20,$D8 ; PRG $2F76 | CPU $EF76 ; CPU:$ED23 PRG:2D23 A8 0A C0 A8 09 E0 A8 5B B0 B0 5B E0 B0 09 20 D8 .byte $09,$B0,$D8,$08,$C0,$D8,$09,$E0,$D8,$FF,$17,$50,$28,$17,$80,$28 ; PRG $2F86 | CPU $EF86 ; CPU:$ED33 PRG:2D33 09 B0 D8 08 C0 D8 09 E0 D8 FF 17 50 28 17 80 28 .byte $17,$B0,$28,$17,$E0,$28,$1B,$50,$30,$3B,$68,$30,$1B,$B0,$30,$17 ; PRG $2F96 | CPU $EF96 ; CPU:$ED43 PRG:2D43 17 B0 28 17 E0 28 1B 50 30 3B 68 30 1B B0 30 17 .byte $20,$38,$09,$50,$38,$17,$80,$38,$09,$B0,$38,$1B,$50,$40,$3B,$98 ; PRG $2FA6 | CPU $EFA6 ; CPU:$ED53 PRG:2D53 20 38 09 50 38 17 80 38 09 B0 38 1B 50 40 3B 98 .byte $40,$09,$50,$48,$17,$80,$48,$17,$E0,$48,$1B,$50,$50,$3B,$68,$50 ; PRG $2FB6 | CPU $EFB6 ; CPU:$ED63 PRG:2D63 40 09 50 48 17 80 48 17 E0 48 1B 50 50 3B 68 50 .byte $1B,$80,$50,$17,$B0,$48,$1B,$B0,$50,$17,$20,$58,$09,$50,$58,$09 ; PRG $2FC6 | CPU $EFC6 ; CPU:$ED73 PRG:2D73 1B 80 50 17 B0 48 1B B0 50 17 20 58 09 50 58 09 .byte $80,$58,$09,$B0,$58,$1B,$80,$60,$1B,$B0,$60,$17,$50,$68,$09,$80 ; PRG $2FD6 | CPU $EFD6 ; CPU:$ED83 PRG:2D83 80 58 09 B0 58 1B 80 60 1B B0 60 17 50 68 09 80 .byte $68,$09,$B0,$68,$17,$E0,$68,$1B,$50,$70,$1B,$80,$70,$1B,$B0,$70 ; PRG $2FE6 | CPU $EFE6 ; CPU:$ED93 PRG:2D93 68 09 B0 68 17 E0 68 1B 50 70 1B 80 70 1B B0 70 .byte $17,$20,$78,$09,$50,$78,$09,$80,$78,$09,$B0,$78,$1B,$50,$80,$3B ; PRG $2FF6 | CPU $EFF6 ; CPU:$EDA3 PRG:2DA3 17 20 78 09 50 78 09 80 78 09 B0 78 1B 50 80 3B .byte $98,$80,$09,$50,$88,$17,$80,$88,$17,$B0,$88,$17,$E0,$88,$1B,$50 ; PRG $3006 | CPU $F006 ; CPU:$EDB3 PRG:2DB3 98 80 09 50 88 17 80 88 17 B0 88 17 E0 88 1B 50 .byte $90,$3B,$68,$90,$1B,$80,$90,$1B,$B0,$90,$17,$20,$98,$09,$50,$98 ; PRG $3016 | CPU $F016 ; CPU:$EDC3 PRG:2DC3 90 3B 68 90 1B 80 90 1B B0 90 17 20 98 09 50 98 .byte $09,$80,$98,$09,$B0,$98,$1B,$98,$A0,$1B,$B0,$A0,$17,$50,$A8,$17 ; PRG $3026 | CPU $F026 ; CPU:$EDD3 PRG:2DD3 09 80 98 09 B0 98 1B 98 A0 1B B0 A0 17 50 A8 17 .byte $80,$A8,$09,$B0,$A8,$37,$C0,$A8,$1B,$50,$B0,$1B,$80,$B0,$1B,$B0 ; PRG $3036 | CPU $F036 ; CPU:$EDE3 PRG:2DE3 80 A8 09 B0 A8 37 C0 A8 1B 50 B0 1B 80 B0 1B B0 .byte $B0,$37,$20,$B8,$09,$50,$B8,$09,$80,$B8,$09,$B0,$B8,$FF,$01,$30 ; PRG $3046 | CPU $F046 ; CPU:$EDF3 PRG:2DF3 B0 37 20 B8 09 50 B8 09 80 B8 09 B0 B8 FF 01 30 .byte $48,$06,$30,$68,$04,$30,$98,$02,$30,$B8,$0F,$30,$D8,$01,$60,$28 ; PRG $3056 | CPU $F056 ; CPU:$EE03 PRG:2E03 48 06 30 68 04 30 98 02 30 B8 0F 30 D8 01 60 28 .byte $06,$60,$78,$04,$60,$98,$02,$60,$B8,$0F,$60,$D8,$01,$90,$28,$06 ; PRG $3066 | CPU $F066 ; CPU:$EE13 PRG:2E13 06 60 78 04 60 98 02 60 B8 0F 60 D8 01 90 28 06 .byte $90,$48,$04,$90,$78,$02,$90,$B8,$0F,$90,$D8,$01,$C0,$28,$06,$C0 ; PRG $3076 | CPU $F076 ; CPU:$EE23 PRG:2E23 90 48 04 90 78 02 90 B8 0F 90 D8 01 C0 28 06 C0 .byte $48,$04,$C0,$68,$02,$C0,$88,$0F,$C0,$D8,$FF,$01,$60,$28,$05,$60 ; PRG $3086 | CPU $F086 ; CPU:$EE33 PRG:2E33 48 04 C0 68 02 C0 88 0F C0 D8 FF 01 60 28 05 60 .byte $38,$06,$60,$48,$04,$60,$58,$06,$60,$68,$04,$60,$78,$05,$60,$88 ; PRG $3096 | CPU $F096 ; CPU:$EE43 PRG:2E43 38 06 60 48 04 60 58 06 60 68 04 60 78 05 60 88 .byte $02,$60,$98,$0F,$60,$D8,$01,$90,$28,$05,$90,$38,$04,$90,$48,$06 ; PRG $30A6 | CPU $F0A6 ; CPU:$EE53 PRG:2E53 02 60 98 0F 60 D8 01 90 28 05 90 38 04 90 48 06 .byte $90,$58,$04,$90,$68,$05,$90,$78,$06,$90,$88,$02,$90,$98,$0F,$90 ; PRG $30B6 | CPU $F0B6 ; CPU:$EE63 PRG:2E63 90 58 04 90 68 05 90 78 06 90 88 02 90 98 0F 90 .byte $D8,$FF,$01,$30,$28,$06,$30,$38,$03,$30,$48,$02,$30,$68,$0F,$30 ; PRG $30C6 | CPU $F0C6 ; CPU:$EE73 PRG:2E73 D8 FF 01 30 28 06 30 38 03 30 48 02 30 68 0F 30 .byte $A8,$01,$60,$28,$03,$60,$38,$06,$60,$58,$02,$60,$A8,$0F,$60,$D8 ; PRG $30D6 | CPU $F0D6 ; CPU:$EE83 PRG:2E83 A8 01 60 28 03 60 38 06 60 58 02 60 A8 0F 60 D8 .byte $01,$90,$28,$03,$90,$78,$06,$90,$98,$02,$90,$A8,$0F,$90,$D8,$01 ; PRG $30E6 | CPU $F0E6 ; CPU:$EE93 PRG:2E93 01 90 28 03 90 78 06 90 98 02 90 A8 0F 90 D8 01 .byte $C0,$28,$06,$C0,$48,$03,$C0,$58,$02,$C0,$68,$0F,$C0,$A8,$FF,$01 ; PRG $30F6 | CPU $F0F6 ; CPU:$EEA3 PRG:2EA3 C0 28 06 C0 48 03 C0 58 02 C0 68 0F C0 A8 FF 01 .byte $30,$28,$04,$30,$48,$02,$30,$58,$0F,$30,$78,$01,$30,$98,$05,$30 ; PRG $3106 | CPU $F106 ; CPU:$EEB3 PRG:2EB3 30 28 04 30 48 02 30 58 0F 30 78 01 30 98 05 30 .byte $A8,$02,$30,$B8,$0F,$30,$D8,$01,$60,$28,$05,$60,$38,$02,$60,$58 ; PRG $3116 | CPU $F116 ; CPU:$EEC3 PRG:2EC3 A8 02 30 B8 0F 30 D8 01 60 28 05 60 38 02 60 58 .byte $0F,$60,$A8,$01,$90,$28,$04,$90,$38,$02,$90,$58,$0F,$90,$A8,$01 ; PRG $3126 | CPU $F126 ; CPU:$EED3 PRG:2ED3 0F 60 A8 01 90 28 04 90 38 02 90 58 0F 90 A8 01 .byte $C0,$28,$05,$C0,$48,$02,$C0,$58,$0F,$C0,$78,$01,$C0,$98,$04,$C0 ; PRG $3136 | CPU $F136 ; CPU:$EEE3 PRG:2EE3 C0 28 05 C0 48 02 C0 58 0F C0 78 01 C0 98 04 C0 .byte $A8,$02,$C0,$B8,$0F,$C0,$D8,$FF,$01,$30,$28,$03,$30,$38,$05,$30 ; PRG $3146 | CPU $F146 ; CPU:$EEF3 PRG:2EF3 A8 02 C0 B8 0F C0 D8 FF 01 30 28 03 30 38 05 30 .byte $48,$06,$30,$58,$04,$30,$68,$06,$30,$78,$05,$30,$88,$02,$30,$98 ; PRG $3156 | CPU $F156 ; CPU:$EF03 PRG:2F03 48 06 30 58 04 30 68 06 30 78 05 30 88 02 30 98 .byte $0F,$30,$D8,$01,$60,$28,$06,$60,$38,$05,$60,$48,$04,$60,$58,$05 ; PRG $3166 | CPU $F166 ; CPU:$EF13 PRG:2F13 0F 30 D8 01 60 28 06 60 38 05 60 48 04 60 58 05 .byte $60,$68,$03,$60,$78,$06,$60,$88,$02,$60,$98,$0F,$60,$D8,$01,$90 ; PRG $3176 | CPU $F176 ; CPU:$EF23 PRG:2F23 60 68 03 60 78 06 60 88 02 60 98 0F 60 D8 01 90 .byte $28,$05,$90,$38,$06,$90,$48,$05,$90,$58,$04,$90,$68,$03,$90,$78 ; PRG $3186 | CPU $F186 ; CPU:$EF33 PRG:2F33 28 05 90 38 06 90 48 05 90 58 04 90 68 03 90 78 .byte $06,$90,$88,$02,$90,$98,$0F,$90,$D8,$01,$C0,$28,$03,$C0,$38,$06 ; PRG $3196 | CPU $F196 ; CPU:$EF43 PRG:2F43 06 90 88 02 90 98 0F 90 D8 01 C0 28 03 C0 38 06 .byte $C0,$48,$04,$C0,$58,$05,$C0,$68,$06,$C0,$78,$05,$C0,$88,$02,$C0 ; PRG $31A6 | CPU $F1A6 ; CPU:$EF53 PRG:2F53 C0 48 04 C0 58 05 C0 68 06 C0 78 05 C0 88 02 C0 .byte $98,$0F,$C0,$D8,$FF,$01,$30,$38,$03,$30,$58,$04,$30,$78,$02,$30 ; PRG $31B6 | CPU $F1B6 ; CPU:$EF63 PRG:2F63 98 0F C0 D8 FF 01 30 38 03 30 58 04 30 78 02 30 .byte $98,$0F,$30,$D8,$01,$60,$28,$03,$60,$48,$04,$60,$68,$03,$60,$88 ; PRG $31C6 | CPU $F1C6 ; CPU:$EF73 PRG:2F73 98 0F 30 D8 01 60 28 03 60 48 04 60 68 03 60 88 .byte $02,$60,$A8,$0F,$60,$D8,$01,$90,$38,$03,$90,$58,$03,$90,$78,$04 ; PRG $31D6 | CPU $F1D6 ; CPU:$EF83 PRG:2F83 02 60 A8 0F 60 D8 01 90 38 03 90 58 03 90 78 04 .byte $90,$98,$02,$90,$A8,$0F,$90,$D8,$01,$C0,$28,$04,$C0,$48,$03,$C0 ; PRG $31E6 | CPU $F1E6 ; CPU:$EF93 PRG:2F93 90 98 02 90 A8 0F 90 D8 01 C0 28 04 C0 48 03 C0 .byte $68,$02,$C0,$88,$0F,$C0,$D8,$FF,$01,$F2,$06,$20,$63,$03,$11,$35 ; PRG $31F6 | CPU $F1F6 ; CPU:$EFA3 PRG:2FA3 68 02 C0 88 0F C0 D8 FF 01 F2 06 20 63 03 11 35 .byte $30,$0A,$F2,$06,$20,$63,$03,$00,$00,$00,$13,$F2,$05,$20,$6E,$02 ; PRG $3206 | CPU $F206 ; CPU:$EFB3 PRG:2FB3 30 0A F2 06 20 63 03 00 00 00 13 F2 05 20 6E 02 .byte $28,$29,$1B,$F2,$06,$20,$63,$03,$12,$35,$30,$24,$F2,$06,$20,$63 ; PRG $3216 | CPU $F216 ; CPU:$EFC3 PRG:2FC3 28 29 1B F2 06 20 63 03 12 35 30 24 F2 06 20 63 .byte $03,$00,$00,$00,$2D,$F2,$06,$20,$76,$03,$12,$35,$30,$36,$F2,$05 ; PRG $3226 | CPU $F226 ; CPU:$EFD3 PRG:2FD3 03 00 00 00 2D F2 06 20 76 03 12 35 30 36 F2 05 .byte $20,$6D,$02,$28,$29 ; PRG $3236 | CPU $F236 ; CPU:$EFE3 PRG:2FE3 20 6D 02 28 29 LookupTable_F23B: .byte $54 ; PRG $323B | CPU $F23B ; CPU:$EFE8 PRG:2FE8 54 LookupTable_F23C: .byte $F0,$C8,$F0,$05,$F1,$4E,$F1,$91,$F0,$BB,$F1 ; PRG $323C | CPU $F23C ; CPU:$EFE9 PRG:2FE9 F0 C8 F0 05 F1 4E F1 91 F0 BB F1 LookupTable_F247: .byte $01,$01,$01,$01,$01,$01 ; PRG $3247 | CPU $F247 ; CPU:$EFF4 PRG:2FF4 01 01 01 01 01 01 LookupTable_F24D: .byte $1C,$1C,$1C,$1C,$1C,$1C ; PRG $324D | CPU $F24D ; CPU:$EFFA PRG:2FFA 1C 1C 1C 1C 1C 1C LookupTable_F253: .byte $78,$78,$78,$78,$A8,$78 ; PRG $3253 | CPU $F253 ; CPU:$F000 PRG:3000 78 78 78 78 A8 78 LookupTable_F259: .byte $AC,$BC,$CC,$8C,$CC,$AC,$77,$F2,$96,$F2,$BB,$F2,$EF,$F2,$08,$F3 ; PRG $3259 | CPU $F259 ; CPU:$F006 PRG:3006 AC BC CC 8C CC AC 77 F2 96 F2 BB F2 EF F2 08 F3 .byte $2A,$F3,$67,$F3,$89,$F3,$A5,$F3,$D6,$F3,$2E,$F4,$4D,$F4,$20,$18 ; PRG $3269 | CPU $F269 ; CPU:$F016 PRG:3016 2A F3 67 F3 89 F3 A5 F3 D6 F3 2E F4 4D F4 20 18 .byte $E8,$40,$18,$58,$40,$78,$E8,$50,$48,$88,$60,$18,$58,$60,$A8,$E8 ; PRG $3279 | CPU $F279 ; CPU:$F026 PRG:3026 E8 40 18 58 40 78 E8 50 48 88 60 18 58 60 A8 E8 .byte $70,$48,$B8,$80,$A8,$E8,$90,$18,$B8,$B0,$18,$E8,$FF,$20,$18,$E8 ; PRG $3289 | CPU $F289 ; CPU:$F036 PRG:3036 70 48 B8 80 A8 E8 90 18 B8 B0 18 E8 FF 20 18 E8 .byte $30,$18,$88,$40,$18,$58,$40,$78,$E8,$50,$48,$88,$50,$A8,$E8,$60 ; PRG $3299 | CPU $F299 ; CPU:$F046 PRG:3046 30 18 88 40 18 58 40 78 E8 50 48 88 50 A8 E8 60 .byte $18,$E8,$70,$78,$B8,$80,$48,$88,$90,$78,$B8,$A0,$48,$B8,$C0,$78 ; PRG $32A9 | CPU $F2A9 ; CPU:$F056 PRG:3056 18 E8 70 78 B8 80 48 88 90 78 B8 A0 48 B8 C0 78 .byte $88,$FF,$20,$18,$E8,$30,$18,$E8,$40,$18,$88,$40,$A8,$E8,$50,$18 ; PRG $32B9 | CPU $F2B9 ; CPU:$F066 PRG:3066 88 FF 20 18 E8 30 18 E8 40 18 88 40 A8 E8 50 18 .byte $E8,$60,$48,$58,$60,$78,$B8,$70,$48,$B8,$80,$48,$58,$90,$18,$58 ; PRG $32C9 | CPU $F2C9 ; CPU:$F076 PRG:3076 E8 60 48 58 60 78 B8 70 48 B8 80 48 58 90 18 58 .byte $90,$A8,$E8,$A0,$18,$58,$A0,$A8,$E8,$B0,$18,$58,$B0,$A8,$E8,$C0 ; PRG $32D9 | CPU $F2D9 ; CPU:$F086 PRG:3086 90 A8 E8 A0 18 58 A0 A8 E8 B0 18 58 B0 A8 E8 C0 .byte $48,$B8,$D0,$48,$B8,$FF,$20,$18,$E8,$30,$18,$E8,$40,$18,$E8,$50 ; PRG $32E9 | CPU $F2E9 ; CPU:$F096 PRG:3096 48 B8 D0 48 B8 FF 20 18 E8 30 18 E8 40 18 E8 50 .byte $18,$E8,$60,$18,$E8,$70,$18,$E8,$80,$18,$E8,$90,$18,$E8,$FF,$20 ; PRG $32F9 | CPU $F2F9 ; CPU:$F0A6 PRG:30A6 18 E8 60 18 E8 70 18 E8 80 18 E8 90 18 E8 FF 20 .byte $18,$E8,$30,$18,$E8,$40,$18,$B8,$50,$18,$B8,$60,$18,$E8,$70,$18 ; PRG $3309 | CPU $F309 ; CPU:$F0B6 PRG:30B6 18 E8 30 18 E8 40 18 B8 50 18 B8 60 18 E8 70 18 .byte $B8,$80,$18,$B8,$90,$18,$B8,$A0,$A8,$E8,$D0,$18,$28,$D0,$A8,$E8 ; PRG $3319 | CPU $F319 ; CPU:$F0C6 PRG:30C6 B8 80 18 B8 90 18 B8 A0 A8 E8 D0 18 28 D0 A8 E8 .byte $FF,$20,$48,$88,$20,$A8,$E8,$30,$18,$58,$30,$78,$B8,$40,$48,$88 ; PRG $3329 | CPU $F329 ; CPU:$F0D6 PRG:30D6 FF 20 48 88 20 A8 E8 30 18 58 30 78 B8 40 48 88 .byte $40,$A8,$E8,$50,$18,$58,$50,$78,$B8,$60,$48,$88,$60,$A8,$E8,$70 ; PRG $3339 | CPU $F339 ; CPU:$F0E6 PRG:30E6 40 A8 E8 50 18 58 50 78 B8 60 48 88 60 A8 E8 70 .byte $18,$58,$70,$78,$B8,$80,$48,$88,$80,$A8,$E8,$90,$18,$58,$90,$78 ; PRG $3349 | CPU $F349 ; CPU:$F0F6 PRG:30F6 18 58 70 78 B8 80 48 88 80 A8 E8 90 18 58 90 78 .byte $B8,$A0,$48,$E8,$B0,$18,$58,$B0,$78,$88,$B0,$A8,$B8,$FF,$18,$20 ; PRG $3359 | CPU $F359 ; CPU:$F106 PRG:3106 B8 A0 48 E8 B0 18 58 B0 78 88 B0 A8 B8 FF 18 20 .byte $40,$18,$60,$B0,$30,$40,$90,$48,$20,$B0,$60,$20,$50,$78,$20,$B0 ; PRG $3369 | CPU $F369 ; CPU:$F116 PRG:3116 40 18 60 B0 30 40 90 48 20 B0 60 20 50 78 20 B0 .byte $90,$40,$70,$A8,$20,$B0,$C0,$60,$B0,$D8,$20,$60,$D8,$80,$B0,$FF ; PRG $3379 | CPU $F379 ; CPU:$F126 PRG:3126 90 40 70 A8 20 B0 C0 60 B0 D8 20 60 D8 80 B0 FF .byte $18,$20,$60,$30,$20,$60,$48,$20,$60,$60,$20,$A0,$78,$20,$C0,$90 ; PRG $3389 | CPU $F389 ; CPU:$F136 PRG:3136 18 20 60 30 20 60 48 20 60 60 20 A0 78 20 C0 90 .byte $20,$A0,$A8,$20,$60,$C0,$20,$60,$D8,$20,$60,$FF,$18,$20,$50,$18 ; PRG $3399 | CPU $F399 ; CPU:$F146 PRG:3146 20 A0 A8 20 60 C0 20 60 D8 20 60 FF 18 20 50 18 .byte $90,$B0,$30,$90,$B0,$48,$20,$40,$48,$50,$90,$48,$A0,$D0,$60,$20 ; PRG $33A9 | CPU $F3A9 ; CPU:$F156 PRG:3156 90 B0 30 90 B0 48 20 40 48 50 90 48 A0 D0 60 20 .byte $30,$60,$40,$70,$60,$C0,$D0,$78,$30,$70,$90,$20,$30,$90,$C0,$D0 ; PRG $33B9 | CPU $F3B9 ; CPU:$F166 PRG:3166 30 60 40 70 60 C0 D0 78 30 70 90 20 30 90 C0 D0 .byte $A8,$30,$50,$A8,$60,$D0,$D8,$20,$50,$D8,$90,$B0,$FF,$18,$20,$30 ; PRG $33C9 | CPU $F3C9 ; CPU:$F176 PRG:3176 A8 30 50 A8 60 D0 D8 20 50 D8 90 B0 FF 18 20 30 .byte $18,$40,$50,$18,$60,$90,$30,$30,$40,$30,$50,$60,$30,$70,$80,$48 ; PRG $33D9 | CPU $F3D9 ; CPU:$F186 PRG:3186 18 40 50 18 60 90 30 30 40 30 50 60 30 70 80 48 .byte $20,$30,$48,$40,$50,$48,$60,$70,$48,$80,$90,$60,$30,$40,$60,$50 ; PRG $33E9 | CPU $F3E9 ; CPU:$F196 PRG:3196 20 30 48 40 50 48 60 70 48 80 90 60 30 40 60 50 .byte $60,$60,$70,$80,$78,$20,$30,$78,$40,$70,$78,$80,$90,$90,$30,$40 ; PRG $33F9 | CPU $F3F9 ; CPU:$F1A6 PRG:31A6 60 60 70 80 78 20 30 78 40 70 78 80 90 90 30 40 .byte $90,$50,$60,$90,$70,$80,$A8,$20,$30,$A8,$40,$50,$A8,$60,$70,$A8 ; PRG $3409 | CPU $F409 ; CPU:$F1B6 PRG:31B6 90 50 60 90 70 80 A8 20 30 A8 40 50 A8 60 70 A8 .byte $80,$90,$C0,$30,$40,$C0,$50,$60,$C0,$70,$80,$D8,$20,$30,$D8,$40 ; PRG $3419 | CPU $F419 ; CPU:$F1C6 PRG:31C6 80 90 C0 30 40 C0 50 60 C0 70 80 D8 20 30 D8 40 .byte $50,$D8,$60,$90,$FF,$18,$20,$30,$18,$40,$D0,$48,$60,$70,$78,$30 ; PRG $3429 | CPU $F429 ; CPU:$F1D6 PRG:31D6 50 D8 60 90 FF 18 20 30 18 40 D0 48 60 70 78 30 .byte $40,$A8,$30,$40,$A8,$50,$60,$A8,$70,$90,$A8,$A0,$D0,$C0,$20,$A0 ; PRG $3439 | CPU $F439 ; CPU:$F1E6 PRG:31E6 40 A8 30 40 A8 50 60 A8 70 90 A8 A0 D0 C0 20 A0 .byte $D8,$20,$D0,$FF,$48,$20,$50,$48,$60,$90,$48,$A0,$B0,$60,$20,$60 ; PRG $3449 | CPU $F449 ; CPU:$F1F6 PRG:31F6 D8 20 D0 FF 48 20 50 48 60 90 48 A0 B0 60 20 60 .byte $60,$80,$A0,$78,$40,$70,$78,$80,$90,$78,$A0,$B0,$90,$30,$50,$90 ; PRG $3459 | CPU $F459 ; CPU:$F206 PRG:3206 60 80 A0 78 40 70 78 80 90 78 A0 B0 90 30 50 90 .byte $70,$A0,$A8,$20,$30,$A8,$40,$70,$A8,$80,$B0,$FF,$4C,$93,$F4 ; PRG $3469 | CPU $F469 ; CPU:$F216 PRG:3216 70 A0 A8 20 30 A8 40 70 A8 80 B0 FF 4C 93 F4 ; ----------------------------------------------------------------------------- ; Global purpose: Update Audio Engine. ; Local behavior: Executes the decoded update audio engine sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- UpdateAudioEngine: ldx #$A7 ; CPU:$F225 PRG:3225 ?? lda #$00 ; CPU:$F227 PRG:3227 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F47 C. ; Local behavior: Executes the decoded flow f47 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F47C: sta Ram_052F,x ; CPU:$F229 PRG:3229 ?? dex ; CPU:$F22B PRG:322B ?? bne Flow_F47C ; CPU:$F22D PRG:322D ?? ldx #$13 ; CPU:$F22F PRG:322F ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F484. ; Local behavior: Executes the decoded flow f484 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F484: sta SQ1_VOL,x ; CPU:$F231 PRG:3231 ?? dex ; CPU:$F233 PRG:3233 ?? bpl Flow_F484 ; CPU:$F235 PRG:3235 ?? sta SND_CHN ; CPU:$F237 PRG:3237 ?? lda #$38 ; CPU:$F239 PRG:3239 ?? sta Ram_05A3 ; CPU:$F23B PRG:323B ?? rts ; CPU:$F23D PRG:323D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F493. ; Local behavior: Executes the decoded process game state f493 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F493: jsr ProcessGameState_F4B3 ; CPU:$F23F PRG:323F ?? jsr UpdateStateField_F5B3 ; CPU:$F241 PRG:3241 ?? lda #$00 ; CPU:$F243 PRG:3243 ?? sta PendingSoundCommand ; CPU:$F245 PRG:3245 ?? ldx #$94 ; CPU:$F247 PRG:3247 ?? lda Ram_05A2 ; CPU:$F249 PRG:3249 ?? beq Flow_F4A7 ; CPU:$F24B PRG:324B ?? jsr ProcessGameState_F748 ; CPU:$F24D PRG:324D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F4 A7. ; Local behavior: Executes the decoded flow f4 a7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F4A7: ldx Ram_05A3 ; CPU:$F24F PRG:324F ?? lda Ram_050E,x ; CPU:$F251 PRG:3251 ?? beq Flow_F4B2 ; CPU:$F253 PRG:3253 ?? jsr ProcessGameState_F6E4 ; CPU:$F255 PRG:3255 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F4 B2. ; Local behavior: Executes the decoded flow f4 b2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F4B2: rts ; CPU:$F257 PRG:3257 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F4 B3. ; Local behavior: Executes the decoded process game state f4 b3 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F4B3: ldy Ram_05A3 ; CPU:$F259 PRG:3259 ?? lda Ram_050E,y ; CPU:$F25B PRG:325B ?? bne Flow_F4C1 ; CPU:$F25D PRG:325D ?? sta Ram_0507,y ; CPU:$F25F PRG:325F ?? jmp Flow_F53E ; CPU:$F261 PRG:3261 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F4 C1. ; Local behavior: Executes the decoded flow f4 c1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F4C1: lda Ram_059B ; CPU:$F263 PRG:3263 ?? ora Ram_0507,y ; CPU:$F265 PRG:3265 ?? sta SND_CHN ; CPU:$F267 PRG:3267 ?? lda Ram_05D5 ; CPU:$F269 PRG:3269 ?? bne Flow_F4D8 ; CPU:$F26B PRG:326B ?? lda Ram_05A2 ; CPU:$F26D PRG:326D ?? bne Flow_F4D5 ; CPU:$F26F PRG:326F ?? rts ; CPU:$F271 PRG:3271 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F4 D5. ; Local behavior: Executes the decoded flow f4 d5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F4D5: jmp Flow_F55D ; CPU:$F273 PRG:3273 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F4 D8. ; Local behavior: Executes the decoded flow f4 d8 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F4D8: lda Ram_0507,y ; CPU:$F275 PRG:3275 ?? lsr a ; CPU:$F277 PRG:3277 ?? bcc Flow_F4F6 ; CPU:$F279 PRG:3279 ?? ldx Ram_0508,y ; CPU:$F27B PRG:327B ?? stx SQ1_VOL ; CPU:$F27D PRG:327D ?? ldx Ram_052C,y ; CPU:$F27F PRG:327F ?? stx SQ1_SWEEP ; CPU:$F281 PRG:3281 ?? ldx Ram_0500,y ; CPU:$F283 PRG:3283 ?? stx SQ1_LO ; CPU:$F285 PRG:3285 ?? ldx Ram_0501,y ; CPU:$F287 PRG:3287 ?? stx SQ1_HI ; CPU:$F289 PRG:3289 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F4 F6. ; Local behavior: Executes the decoded flow f4 f6 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F4F6: lsr a ; CPU:$F28B PRG:328B ?? bcc Flow_F511 ; CPU:$F28D PRG:328D ?? ldx Ram_0509,y ; CPU:$F28F PRG:328F ?? stx SQ2_VOL ; CPU:$F291 PRG:3291 ?? ldx Ram_052D,y ; CPU:$F293 PRG:3293 ?? stx SQ2_SWEEP ; CPU:$F295 PRG:3295 ?? ldx Ram_0502,y ; CPU:$F297 PRG:3297 ?? stx SQ2_LO ; CPU:$F299 PRG:3299 ?? ldx Ram_0503,y ; CPU:$F29B PRG:329B ?? stx SQ2_HI ; CPU:$F29D PRG:329D ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F511. ; Local behavior: Executes the decoded flow f511 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F511: lsr a ; CPU:$F29F PRG:329F ?? bcc Flow_F526 ; CPU:$F2A1 PRG:32A1 ?? lda Ram_050A,y ; CPU:$F2A3 PRG:32A3 ?? sta TRI_LINEAR ; CPU:$F2A5 PRG:32A5 ?? lda Ram_0504,y ; CPU:$F2A7 PRG:32A7 ?? sta TRI_LO ; CPU:$F2A9 PRG:32A9 ?? lda Ram_0505,y ; CPU:$F2AB PRG:32AB ?? sta TRI_HI ; CPU:$F2AD PRG:32AD ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F526. ; Local behavior: Executes the decoded flow f526 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F526: lda Ram_0506,y ; CPU:$F2AF PRG:32AF ?? sta NOISE_VOL ; CPU:$F2B1 PRG:32B1 ?? lda Ram_050B,y ; CPU:$F2B3 PRG:32B3 ?? sta NOISE_LO ; CPU:$F2B5 PRG:32B5 ?? lda Ram_050C,y ; CPU:$F2B7 PRG:32B7 ?? sta NOISE_HI ; CPU:$F2B9 PRG:32B9 ?? lda Ram_05A2 ; CPU:$F2BB PRG:32BB ?? bne Flow_F55D ; CPU:$F2BD PRG:32BD ?? rts ; CPU:$F2BF PRG:32BF ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F53 E. ; Local behavior: Executes the decoded flow f53 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F53E: ldx #$07 ; CPU:$F2C1 PRG:32C1 ?? lda Ram_05D4 ; CPU:$F2C3 PRG:32C3 ?? beq Flow_F548 ; CPU:$F2C5 PRG:32C5 ?? stx SND_CHN ; CPU:$F2C7 PRG:32C7 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F548. ; Local behavior: Executes the decoded flow f548 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F548: inx ; CPU:$F2C9 PRG:32C9 ?? stx SQ1_SWEEP ; CPU:$F2CB PRG:32CB ?? stx SQ2_SWEEP ; CPU:$F2CD PRG:32CD ?? lda #$00 ; CPU:$F2CF PRG:32CF ?? sta NOISE_VOL ; CPU:$F2D1 PRG:32D1 ?? lda Ram_05A2 ; CPU:$F2D3 PRG:32D3 ?? bne Flow_F55D ; CPU:$F2D5 PRG:32D5 ?? sta SND_CHN ; CPU:$F2D7 PRG:32D7 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F55 C. ; Local behavior: Executes the decoded flow f55 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F55C: rts ; CPU:$F2D9 PRG:32D9 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F55 D. ; Local behavior: Executes the decoded flow f55 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F55D: lda Ram_05D4 ; CPU:$F2DB PRG:32DB ?? beq Flow_F55C ; CPU:$F2DD PRG:32DD ?? lda Ram_0507,y ; CPU:$F2DF PRG:32DF ?? lsr a ; CPU:$F2E1 PRG:32E1 ?? bcs Flow_F57C ; CPU:$F2E3 PRG:32E3 ?? lda Ram_059C ; CPU:$F2E5 PRG:32E5 ?? ora #$B0 ; CPU:$F2E7 PRG:32E7 ?? sta SQ1_VOL ; CPU:$F2E9 PRG:32E9 ?? lda Ram_0594 ; CPU:$F2EB PRG:32EB ?? sta SQ1_LO ; CPU:$F2ED PRG:32ED ?? lda Ram_0595 ; CPU:$F2EF PRG:32EF ?? sta SQ1_HI ; CPU:$F2F1 PRG:32F1 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F57 C. ; Local behavior: Executes the decoded flow f57 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F57C: lda Ram_0507,y ; CPU:$F2F3 PRG:32F3 ?? and #$02 ; CPU:$F2F5 PRG:32F5 ?? bne Flow_F597 ; CPU:$F2F7 PRG:32F7 ?? lda Ram_059D ; CPU:$F2F9 PRG:32F9 ?? ora #$B0 ; CPU:$F2FB PRG:32FB ?? sta SQ2_VOL ; CPU:$F2FD PRG:32FD ?? lda Ram_0596 ; CPU:$F2FF PRG:32FF ?? sta SQ2_LO ; CPU:$F301 PRG:3301 ?? lda Ram_0597 ; CPU:$F303 PRG:3303 ?? sta SQ2_HI ; CPU:$F305 PRG:3305 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F597. ; Local behavior: Executes the decoded flow f597 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F597: lda Ram_0507,y ; CPU:$F307 PRG:3307 ?? and #$04 ; CPU:$F309 PRG:3309 ?? bne Flow_F5B2 ; CPU:$F30B PRG:330B ?? lda Ram_059E ; CPU:$F30D PRG:330D ?? ora #$80 ; CPU:$F30F PRG:330F ?? sta TRI_LINEAR ; CPU:$F311 PRG:3311 ?? lda Ram_0598 ; CPU:$F313 PRG:3313 ?? sta TRI_LO ; CPU:$F315 PRG:3315 ?? lda Ram_0599 ; CPU:$F317 PRG:3317 ?? sta TRI_HI ; CPU:$F319 PRG:3319 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F5 B2. ; Local behavior: Executes the decoded flow f5 b2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F5B2: rts ; CPU:$F31B PRG:331B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Update State Field F5 B3. ; Local behavior: Executes the decoded update state field f5 b3 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- UpdateStateField_F5B3: ldx PendingSoundCommand ; CPU:$F31D PRG:331D ?? bne Flow_F5B8 ; CPU:$F31F PRG:331F ?? rts ; CPU:$F321 PRG:3321 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F5 B8. ; Local behavior: Executes the decoded flow f5 b8 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F5B8: bmi Flow_F5BF ; CPU:$F323 PRG:3323 ?? cpx #$12 ; CPU:$F325 PRG:3325 ?? bcc Flow_F5BF ; CPU:$F327 PRG:3327 ?? rts ; CPU:$F329 PRG:3329 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F5 BF. ; Local behavior: Executes the decoded flow f5 bf sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F5BF: dex ; CPU:$F32B PRG:332B ?? txa ; CPU:$F32D PRG:332D ?? asl a ; CPU:$F32F PRG:332F ?? tay ; CPU:$F331 PRG:3331 ?? lda LookupTable_F9A2,y ; CPU:$F333 PRG:3333 ?? sta Zp_91 ; CPU:$F335 PRG:3335 ?? lda LookupTable_F9A3,y ; CPU:$F337 PRG:3337 ?? sta Zp_92 ; CPU:$F339 PRG:3339 ?? ldy #$00 ; CPU:$F33B PRG:333B ?? lda (Zp_91),y ; CPU:$F33D PRG:333D ?? sta Ram_0530 ; CPU:$F33F PRG:333F ?? bit Ram_0530 ; CPU:$F341 PRG:3341 ?? bpl Flow_F5DC ; CPU:$F343 PRG:3343 ?? jmp Flow_F66B ; CPU:$F345 PRG:3345 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F5 DC. ; Local behavior: Executes the decoded flow f5 dc sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F5DC: bcc Flow_F5E1 ; CPU:$F347 PRG:3347 ?? jmp Flow_F63C ; CPU:$F349 PRG:3349 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F5 E1. ; Local behavior: Executes the decoded flow f5 e1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F5E1: ldx Ram_05A3 ; CPU:$F34B PRG:334B ?? lda Ram_050E,x ; CPU:$F34D PRG:334D ?? beq Flow_F611 ; CPU:$F34F PRG:334F ?? lda Ram_0512,x ; CPU:$F351 PRG:3351 ?? and #$20 ; CPU:$F353 PRG:3353 ?? bne Flow_F604 ; CPU:$F355 PRG:3355 ?? lda Ram_050E,x ; CPU:$F357 PRG:3357 ?? jsr TransformValue_F6BA ; CPU:$F359 PRG:3359 ?? bcs Flow_F611 ; CPU:$F35B PRG:335B ?? rts ; CPU:$F35D PRG:335D ?? .byte $AD,$A2,$05,$F0,$13,$20,$BA,$F6,$B0,$0E,$60 ; PRG $35F9 | CPU $F5F9 ; CPU:$F35F PRG:335F AD A2 05 F0 13 20 BA F6 B0 0E 60 ; ----------------------------------------------------------------------------- ; Global purpose: Flow F604. ; Local behavior: Executes the decoded flow f604 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F604: cpx #$38 ; CPU:$F36A PRG:336A ?? bne Flow_F60C ; CPU:$F36C PRG:336C ?? ldx #$66 ; CPU:$F36E PRG:336E ?? bne Flow_F60E ; CPU:$F370 PRG:3370 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F60 C. ; Local behavior: Executes the decoded flow f60 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F60C: ldx #$38 ; CPU:$F372 PRG:3372 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F60 E. ; Local behavior: Executes the decoded flow f60 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F60E: stx Ram_05A3 ; CPU:$F374 PRG:3374 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F611. ; Local behavior: Executes the decoded flow f611 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F611: ldy #$00 ; CPU:$F376 PRG:3376 ?? lda (Zp_91),y ; CPU:$F378 PRG:3378 ?? sta Ram_0512,x ; CPU:$F37A PRG:337A ?? lda PendingSoundCommand ; CPU:$F37C PRG:337C ?? sta Ram_050E,x ; CPU:$F37E PRG:337E ?? tya ; CPU:$F380 PRG:3380 ?? sta Ram_0511,x ; CPU:$F382 PRG:3382 ?? sty Ram_05A4 ; CPU:$F384 PRG:3384 ?? sta Ram_052C,x ; CPU:$F386 PRG:3386 ?? sta Ram_052D,x ; CPU:$F388 PRG:3388 ?? lda #$B0 ; CPU:$F38A PRG:338A ?? sta NOISE_VOL ; CPU:$F38C PRG:338C ?? iny ; CPU:$F38E PRG:338E ?? lda (Zp_91),y ; CPU:$F390 PRG:3390 ?? sta Ram_050F,x ; CPU:$F392 PRG:3392 ?? iny ; CPU:$F394 PRG:3394 ?? lda (Zp_91),y ; CPU:$F396 PRG:3396 ?? sta Ram_0510,x ; CPU:$F398 PRG:3398 ?? rts ; CPU:$F39A PRG:339A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F63 C. ; Local behavior: Executes the decoded flow f63 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F63C: bvs ProcessGameState_F64A ; CPU:$F39C PRG:339C ?? ldy #$94 ; CPU:$F39E PRG:339E ?? jsr ProcessGameState_F840 ; CPU:$F3A0 PRG:33A0 ?? sta Ram_05A2 ; CPU:$F3A2 PRG:33A2 ?? sta Ram_05A4 ; CPU:$F3A4 PRG:33A4 ?? rts ; CPU:$F3A6 PRG:33A6 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F64 A. ; Local behavior: Executes the decoded process game state f64 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F64A: ldy Ram_05A3 ; CPU:$F3A8 PRG:33A8 ?? cpy #$38 ; CPU:$F3AA PRG:33AA ?? bne Flow_F655 ; CPU:$F3AC PRG:33AC ?? ldx #$66 ; CPU:$F3AE PRG:33AE ?? bne Flow_F657 ; CPU:$F3B0 PRG:33B0 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F655. ; Local behavior: Executes the decoded flow f655 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F655: ldx #$38 ; CPU:$F3B2 PRG:33B2 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F657. ; Local behavior: Executes the decoded flow f657 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F657: lda Ram_0512,y ; CPU:$F3B4 PRG:33B4 ?? and #$20 ; CPU:$F3B6 PRG:33B6 ?? bne Flow_F664 ; CPU:$F3B8 PRG:33B8 ?? jsr ProcessGameState_F840 ; CPU:$F3BA PRG:33BA ?? sta Ram_050E,y ; CPU:$F3BC PRG:33BC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F664. ; Local behavior: Executes the decoded flow f664 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F664: sta NOISE_HI ; CPU:$F3BE PRG:33BE ?? stx Ram_05A3 ; CPU:$F3C0 PRG:33C0 ?? rts ; CPU:$F3C2 PRG:33C2 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F66 B. ; Local behavior: Executes the decoded flow f66 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F66B: bcs Flow_F6B1 ; CPU:$F3C4 PRG:33C4 ?? ldy #$02 ; CPU:$F3C6 PRG:33C6 ?? lda PendingSoundCommand ; CPU:$F3C8 PRG:33C8 ?? sta Ram_05A2 ; CPU:$F3CA PRG:33CA ?? lda (Zp_91),y ; CPU:$F3CC PRG:33CC ?? sta Ram_05A5 ; CPU:$F3CE PRG:33CE ?? iny ; CPU:$F3D0 PRG:33D0 ?? lda (Zp_91),y ; CPU:$F3D2 PRG:33D2 ?? sta Ram_05A6 ; CPU:$F3D4 PRG:33D4 ?? iny ; CPU:$F3D6 PRG:33D6 ?? lda (Zp_91),y ; CPU:$F3D8 PRG:33D8 ?? sta Ram_05B2 ; CPU:$F3DA PRG:33DA ?? iny ; CPU:$F3DC PRG:33DC ?? lda (Zp_91),y ; CPU:$F3DE PRG:33DE ?? sta Ram_05B3 ; CPU:$F3E0 PRG:33E0 ?? iny ; CPU:$F3E2 PRG:33E2 ?? lda (Zp_91),y ; CPU:$F3E4 PRG:33E4 ?? sta Ram_05BF ; CPU:$F3E6 PRG:33E6 ?? iny ; CPU:$F3E8 PRG:33E8 ?? lda (Zp_91),y ; CPU:$F3EA PRG:33EA ?? sta Ram_05C0 ; CPU:$F3EC PRG:33EC ?? lda #$00 ; CPU:$F3EE PRG:33EE ?? sta Ram_05A7 ; CPU:$F3F0 PRG:33F0 ?? sta Ram_05B4 ; CPU:$F3F2 PRG:33F2 ?? sta Ram_05C1 ; CPU:$F3F4 PRG:33F4 ?? sta Ram_05A8 ; CPU:$F3F6 PRG:33F6 ?? sta Ram_05B5 ; CPU:$F3F8 PRG:33F8 ?? sta Ram_05C2 ; CPU:$F3FA PRG:33FA ?? sty Ram_059B ; CPU:$F3FC PRG:33FC ?? jmp ProcessGameState_F64A ; CPU:$F3FE PRG:33FE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F6 B1. ; Local behavior: Executes the decoded flow f6 b1 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F6B1: lda #$00 ; CPU:$F400 PRG:3400 ?? sta Ram_05A2 ; CPU:$F402 PRG:3402 ?? sta Ram_05A4 ; CPU:$F404 PRG:3404 ?? rts ; CPU:$F406 PRG:3406 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Transform Value F6 BA. ; Local behavior: Executes the decoded transform value f6 ba sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- TransformValue_F6BA: sec ; CPU:$F408 PRG:3408 ?? sbc #$01 ; CPU:$F40A PRG:340A ?? sta Zp_97 ; CPU:$F40C PRG:340C ?? lsr a ; CPU:$F40E PRG:340E ?? lsr a ; CPU:$F410 PRG:3410 ?? lsr a ; CPU:$F412 PRG:3412 ?? sta Zp_98 ; CPU:$F414 PRG:3414 ?? lda Zp_97 ; CPU:$F416 PRG:3416 ?? and #$07 ; CPU:$F418 PRG:3418 ?? tay ; CPU:$F41A PRG:341A ?? lda Zp_98 ; CPU:$F41C PRG:341C ?? clc ; CPU:$F41E PRG:341E ?? adc #$03 ; CPU:$F420 PRG:3420 ?? sta Zp_98 ; CPU:$F422 PRG:3422 ?? lda LookupTable_F6DC,y ; CPU:$F424 PRG:3424 ?? ldy Zp_98 ; CPU:$F426 PRG:3426 ?? and (Zp_91),y ; CPU:$F428 PRG:3428 ?? clc ; CPU:$F42A PRG:342A ?? beq Flow_F6DB ; CPU:$F42C PRG:342C ?? sec ; CPU:$F42E PRG:342E ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F6 DB. ; Local behavior: Executes the decoded flow f6 db sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F6DB: rts ; CPU:$F430 PRG:3430 ?? LookupTable_F6DC: .byte $80,$40,$20,$10,$08,$04,$02,$01 ; PRG $36DC | CPU $F6DC ; CPU:$F432 PRG:3432 80 40 20 10 08 04 02 01 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F6 E4. ; Local behavior: Executes the decoded process game state f6 e4 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F6E4: lda #$00 ; CPU:$F43A PRG:343A ?? sta Ram_05D5 ; CPU:$F43C PRG:343C ?? lda Ram_0513,x ; CPU:$F43E PRG:343E ?? beq Flow_F6F2 ; CPU:$F440 PRG:3440 ?? dec Ram_0513,x ; CPU:$F442 PRG:3442 ?? rts ; CPU:$F444 PRG:3444 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F6 F2. ; Local behavior: Executes the decoded flow f6 f2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F6F2: lda Ram_050F,x ; CPU:$F446 PRG:3446 ?? sta Zp_91 ; CPU:$F448 PRG:3448 ?? lda Ram_0510,x ; CPU:$F44A PRG:344A ?? sta Zp_92 ; CPU:$F44C PRG:344C ?? txa ; CPU:$F44E PRG:344E ?? clc ; CPU:$F450 PRG:3450 ?? adc #$14 ; CPU:$F452 PRG:3452 ?? adc Ram_0511,x ; CPU:$F454 PRG:3454 ?? sta Ram_0537 ; CPU:$F456 PRG:3456 ?? stx CurrentObjectIndex ; CPU:$F458 PRG:3458 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F709. ; Local behavior: Executes the decoded flow f709 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F709: ldy #$00 ; CPU:$F45A PRG:345A ?? lda (Zp_91),y ; CPU:$F45C PRG:345C ?? bpl Flow_F726 ; CPU:$F45E PRG:345E ?? sta Ram_05D5 ; CPU:$F460 PRG:3460 ?? ldx CurrentObjectIndex ; CPU:$F462 PRG:3462 ?? jsr DispatchObjectHandler ; CPU:$F464 PRG:3464 ?? tya ; CPU:$F466 PRG:3466 ?? clc ; CPU:$F468 PRG:3468 ?? adc Zp_91 ; CPU:$F46A PRG:346A ?? sta Zp_91 ; CPU:$F46C PRG:346C ?? lda Zp_92 ; CPU:$F46E PRG:346E ?? adc #$00 ; CPU:$F470 PRG:3470 ?? sta Zp_92 ; CPU:$F472 PRG:3472 ?? bcc Flow_F709 ; CPU:$F474 PRG:3474 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F726. ; Local behavior: Executes the decoded flow f726 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F726: ldx CurrentObjectIndex ; CPU:$F476 PRG:3476 ?? sta Ram_0513,x ; CPU:$F478 PRG:3478 A2 A7 lda Ram_0537 ; CPU:$F47A PRG:347A A9 00 sec ; CPU:$F47C PRG:347C 9D 2F 05 sbc #$14 ; CPU:$F47F PRG:347F CA sbc CurrentObjectIndex ; CPU:$F480 PRG:3480 D0 FA sta Ram_0511,x ; CPU:$F482 PRG:3482 A2 13 lda #$01 ; CPU:$F484 PRG:3484 9D 00 40 ; ----------------------------------------------------------------------------- ; Global purpose: Flow F73 A. ; Local behavior: Executes the decoded flow f73 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F73A: clc ; CPU:$F487 PRG:3487 CA adc Zp_91 ; CPU:$F488 PRG:3488 10 FA sta Ram_050F,x ; CPU:$F48A PRG:348A 8D 15 40 lda Zp_92 ; CPU:$F48D PRG:348D A9 38 adc #$00 ; CPU:$F48F PRG:348F 8D A3 05 sta Ram_0510,x ; CPU:$F492 PRG:3492 60 rts ; CPU:$F493 PRG:3493 20 B3 F4 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F748. ; Local behavior: Executes the decoded process game state f748 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F748: ldy #$00 ; CPU:$F496 PRG:3496 20 B3 F5 sty Ram_05D4 ; CPU:$F499 PRG:3499 A9 00 ldx #$A5 ; CPU:$F49B PRG:349B 85 90 jsr TransformValue_F75D ; CPU:$F49D PRG:349D A2 94 ldx #$B2 ; CPU:$F49F PRG:349F AD A2 05 ldy #$01 ; CPU:$F4A2 PRG:34A2 F0 03 jsr TransformValue_F75D ; CPU:$F4A4 PRG:34A4 20 48 F7 ldx #$BF ; CPU:$F4A7 PRG:34A7 AE A3 05 ldy #$02 ; CPU:$F4AA PRG:34AA BD 0E 05 ; ----------------------------------------------------------------------------- ; Global purpose: Transform Value F75 D. ; Local behavior: Executes the decoded transform value f75 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- TransformValue_F75D: sty Ram_0535 ; CPU:$F4AD PRG:34AD F0 03 lda Ram_0500,x ; CPU:$F4AF PRG:34AF 20 E4 F6 sta Zp_91 ; CPU:$F4B2 PRG:34B2 60 lda Ram_0501,x ; CPU:$F4B3 PRG:34B3 AC A3 05 sta Zp_92 ; CPU:$F4B6 PRG:34B6 B9 0E 05 txa ; CPU:$F4B9 PRG:34B9 D0 06 clc ; CPU:$F4BB PRG:34BB 99 07 05 adc #$09 ; CPU:$F4BE PRG:34BE 4C 3E F5 adc Ram_0502,x ; CPU:$F4C1 PRG:34C1 AD 9B 05 sta Ram_0537 ; CPU:$F4C4 PRG:34C4 19 07 05 stx CurrentObjectIndex ; CPU:$F4C7 PRG:34C7 8D 15 40 lda Ram_0503,x ; CPU:$F4CA PRG:34CA AD D5 05 beq Flow_F79A ; CPU:$F4CD PRG:34CD D0 09 dec Ram_0503,x ; CPU:$F4CF PRG:34CF AD A2 05 lda Ram_059C,y ; CPU:$F4D2 PRG:34D2 D0 01 beq Flow_F796 ; CPU:$F4D4 PRG:34D4 60 lda Ram_0503,x ; CPU:$F4D5 PRG:34D5 4C 5D F5 bne Flow_F793 ; CPU:$F4D8 PRG:34D8 B9 07 05 lda Ram_0504,x ; CPU:$F4DB PRG:34DB 4A sec ; CPU:$F4DC PRG:34DC 90 18 sbc #$03 ; CPU:$F4DE PRG:34DE BE 08 05 lsr a ; CPU:$F4E1 PRG:34E1 8E 00 40 jmp Flow_F796 ; CPU:$F4E4 PRG:34E4 BE 2C 05 ; ----------------------------------------------------------------------------- ; Global purpose: Flow F793. ; Local behavior: Executes the decoded flow f793 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F793: lda Ram_0504,x ; CPU:$F4E7 PRG:34E7 8E 01 40 ; ----------------------------------------------------------------------------- ; Global purpose: Flow F796. ; Local behavior: Executes the decoded flow f796 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F796: sta Ram_059C,y ; CPU:$F4EA PRG:34EA BE 00 05 rts ; CPU:$F4ED PRG:34ED 8E 02 40 ; ----------------------------------------------------------------------------- ; Global purpose: Flow F79 A. ; Local behavior: Executes the decoded flow f79 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F79A: ldy #$00 ; CPU:$F4F0 PRG:34F0 BE 01 05 lda (Zp_91),y ; CPU:$F4F3 PRG:34F3 8E 03 40 bpl Flow_F7B5 ; CPU:$F4F6 PRG:34F6 4A ldx CurrentObjectIndex ; CPU:$F4F7 PRG:34F7 90 18 jsr DispatchObjectHandler ; CPU:$F4F9 PRG:34F9 BE 09 05 tya ; CPU:$F4FC PRG:34FC 8E 04 40 clc ; CPU:$F4FF PRG:34FF BE 2D 05 adc Zp_91 ; CPU:$F502 PRG:3502 8E 05 40 sta Zp_91 ; CPU:$F505 PRG:3505 BE 02 05 lda Zp_92 ; CPU:$F508 PRG:3508 8E 06 40 adc #$00 ; CPU:$F50B PRG:350B BE 03 05 sta Zp_92 ; CPU:$F50E PRG:350E 8E 07 40 jmp Flow_F79A ; CPU:$F511 PRG:3511 4A ; ----------------------------------------------------------------------------- ; Global purpose: Flow F7 B5. ; Local behavior: Executes the decoded flow f7 b5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F7B5: ldx CurrentObjectIndex ; CPU:$F512 PRG:3512 90 12 sta Ram_0532 ; CPU:$F514 PRG:3514 B9 0A 05 lsr a ; CPU:$F517 PRG:3517 8D 08 40 lsr a ; CPU:$F51A PRG:351A B9 04 05 lsr a ; CPU:$F51D PRG:351D 8D 0A 40 lsr a ; CPU:$F520 PRG:3520 B9 05 05 tay ; CPU:$F523 PRG:3523 8D 0B 40 lda Ram_05CC,y ; CPU:$F526 PRG:3526 B9 06 05 sec ; CPU:$F529 PRG:3529 8D 0C 40 sbc #$01 ; CPU:$F52C PRG:352C B9 0B 05 sta Ram_0503,x ; CPU:$F52F PRG:352F 8D 0E 40 lda #$00 ; CPU:$F532 PRG:3532 B9 0C 05 sta Ram_0533 ; CPU:$F535 PRG:3535 8D 0F 40 ldy Ram_0535 ; CPU:$F538 PRG:3538 AD A2 05 lda Ram_0504,x ; CPU:$F53B PRG:353B D0 20 sta Ram_059C,y ; CPU:$F53D PRG:353D 60 lda #$FF ; CPU:$F53E PRG:353E A2 07 sta Ram_05D4 ; CPU:$F540 PRG:3540 AD D4 05 lda Ram_0532 ; CPU:$F543 PRG:3543 F0 03 and #$0F ; CPU:$F545 PRG:3545 8E 15 40 cmp #$0F ; CPU:$F548 PRG:3548 E8 beq Flow_F839 ; CPU:$F549 PRG:3549 8E 01 40 adc Ram_0508,x ; CPU:$F54C PRG:354C 8E 05 40 sec ; CPU:$F54F PRG:354F A9 00 ; ----------------------------------------------------------------------------- ; Global purpose: Flow F7 E9. ; Local behavior: Executes the decoded flow f7 e9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F7E9: sbc #$0C ; CPU:$F551 PRG:3551 8D 0C 40 inc Ram_0533 ; CPU:$F554 PRG:3554 AD A2 05 bcs Flow_F7E9 ; CPU:$F557 PRG:3557 D0 04 adc #$0C ; CPU:$F559 PRG:3559 8D 15 40 asl a ; CPU:$F55C PRG:355C 60 tay ; CPU:$F55D PRG:355D AD D4 05 lda LookupTable_F98B,y ; CPU:$F560 PRG:3560 F0 FA sta Ram_0534 ; CPU:$F562 PRG:3562 B9 07 05 lda LookupTable_F98A,y ; CPU:$F565 PRG:3565 4A ; ----------------------------------------------------------------------------- ; Global purpose: Flow F7 FD. ; Local behavior: Executes the decoded flow f7 fd sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F7FD: dec Ram_0533 ; CPU:$F566 PRG:3566 B0 14 beq Flow_F809 ; CPU:$F568 PRG:3568 AD 9C 05 lsr Ram_0534 ; CPU:$F56B PRG:356B 09 B0 ror a ; CPU:$F56D PRG:356D 8D 00 40 jmp Flow_F7FD ; CPU:$F570 PRG:3570 AD 94 05 ; ----------------------------------------------------------------------------- ; Global purpose: Flow F809. ; Local behavior: Executes the decoded flow f809 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F809: sta Ram_0533 ; CPU:$F573 PRG:3573 8D 02 40 lda Ram_0535 ; CPU:$F576 PRG:3576 AD 95 05 asl a ; CPU:$F579 PRG:3579 8D 03 40 tay ; CPU:$F57C PRG:357C B9 07 05 lda Ram_0533 ; CPU:$F57F PRG:357F 29 02 sta Ram_0594,y ; CPU:$F581 PRG:3581 D0 14 lda Ram_0534 ; CPU:$F583 PRG:3583 AD 9D 05 sta Ram_0595,y ; CPU:$F586 PRG:3586 09 B0 ; ----------------------------------------------------------------------------- ; Global purpose: Flow F81 D. ; Local behavior: Executes the decoded flow f81 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F81D: lda Ram_0537 ; CPU:$F588 PRG:3588 8D 04 40 sec ; CPU:$F58B PRG:358B AD 96 05 sbc #$09 ; CPU:$F58E PRG:358E 8D 06 40 sbc CurrentObjectIndex ; CPU:$F591 PRG:3591 AD 97 05 sta Ram_0502,x ; CPU:$F594 PRG:3594 8D 07 40 lda Zp_91 ; CPU:$F597 PRG:3597 B9 07 05 clc ; CPU:$F59A PRG:359A 29 04 adc #$01 ; CPU:$F59C PRG:359C D0 14 sta Ram_0500,x ; CPU:$F59E PRG:359E AD 9E 05 lda Zp_92 ; CPU:$F5A1 PRG:35A1 09 80 adc #$00 ; CPU:$F5A3 PRG:35A3 8D 08 40 sta Ram_0501,x ; CPU:$F5A6 PRG:35A6 AD 98 05 rts ; CPU:$F5A9 PRG:35A9 8D 0A 40 ; ----------------------------------------------------------------------------- ; Global purpose: Flow F839. ; Local behavior: Executes the decoded flow f839 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F839: lda #$00 ; CPU:$F5AC PRG:35AC AD 99 05 sta Ram_059C,y ; CPU:$F5AF PRG:35AF 8D 0B 40 beq Flow_F81D ; CPU:$F5B2 PRG:35B2 60 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F840. ; Local behavior: Executes the decoded process game state f840 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F840: sty DispatchPointerLo ; CPU:$F5B3 PRG:35B3 A6 90 lda #$05 ; CPU:$F5B5 PRG:35B5 D0 01 sta DispatchPointerHi ; CPU:$F5B7 PRG:35B7 60 ldy #$0D ; CPU:$F5B8 PRG:35B8 30 05 lda #$00 ; CPU:$F5BA PRG:35BA E0 12 ; ----------------------------------------------------------------------------- ; Global purpose: Flow F84 A. ; Local behavior: Executes the decoded flow f84 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F84A: sta (DispatchPointerLo),y ; CPU:$F5BC PRG:35BC 90 01 dey ; CPU:$F5BE PRG:35BE 60 bpl Flow_F84A ; CPU:$F5BF PRG:35BF CA ldy DispatchPointerLo ; CPU:$F5C0 PRG:35C0 8A rts ; CPU:$F5C1 PRG:35C1 0A ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F852. ; Local behavior: Executes the decoded process game state f852 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F852: iny ; CPU:$F5C2 PRG:35C2 A8 lda (Zp_91),y ; CPU:$F5C3 PRG:35C3 B9 A2 F9 sta Ram_0530 ; CPU:$F5C6 PRG:35C6 85 91 iny ; CPU:$F5C8 PRG:35C8 B9 A3 F9 lda (Zp_91),y ; CPU:$F5CB PRG:35CB 85 92 sta Zp_92 ; CPU:$F5CD PRG:35CD A0 00 lda Ram_0530 ; CPU:$F5CF PRG:35CF B1 91 sta Zp_91 ; CPU:$F5D1 PRG:35D1 8D 30 05 ldy #$00 ; CPU:$F5D4 PRG:35D4 2C 30 05 rts ; CPU:$F5D7 PRG:35D7 10 03 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F865. ; Local behavior: Executes the decoded process game state f865 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F865: ldx Ram_0537 ; CPU:$F5D9 PRG:35D9 4C 6B F6 iny ; CPU:$F5DC PRG:35DC 90 03 lda (Zp_91),y ; CPU:$F5DE PRG:35DE 4C 3C F6 sta Ram_0500,x ; CPU:$F5E1 PRG:35E1 AE A3 05 lda Zp_91 ; CPU:$F5E4 PRG:35E4 BD 0E 05 inx ; CPU:$F5E7 PRG:35E7 F0 28 sta Ram_0500,x ; CPU:$F5E9 PRG:35E9 BD 12 05 inx ; CPU:$F5EC PRG:35EC 29 20 lda Zp_92 ; CPU:$F5EE PRG:35EE D0 14 sta Ram_0500,x ; CPU:$F5F0 PRG:35F0 BD 0E 05 inx ; CPU:$F5F3 PRG:35F3 20 BA F6 iny ; CPU:$F5F6 PRG:35F6 B0 19 stx Ram_0537 ; CPU:$F5F8 PRG:35F8 60 rts ; CPU:$F5F9 PRG:35F9 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F880. ; Local behavior: Executes the decoded process game state f880 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F880: ldx Ram_0537 ; CPU:$F5FB PRG:35FB ?? dec Ram_04FD,x ; CPU:$F5FD PRG:35FD ?? beq Flow_F895 ; CPU:$F5FF PRG:35FF ?? lda Ram_04FE,x ; CPU:$F601 PRG:3601 ?? sta Zp_91 ; CPU:$F603 PRG:3603 ?? lda Ram_04FF,x ; CPU:$F605 PRG:3605 ?? sta Zp_92 ; CPU:$F607 PRG:3607 ?? ldy #$02 ; CPU:$F609 PRG:3609 ?? rts ; CPU:$F60B PRG:360B ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow F895. ; Local behavior: Executes the decoded flow f895 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F895: dex ; CPU:$F60D PRG:360D ?? dex ; CPU:$F60F PRG:360F ?? dex ; CPU:$F611 PRG:3611 A0 00 stx Ram_0537 ; CPU:$F613 PRG:3613 B1 91 iny ; CPU:$F615 PRG:3615 9D 12 05 rts ; CPU:$F618 PRG:3618 A5 90 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F89 D. ; Local behavior: Executes the decoded process game state f89 d sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F89D: stx Zp_99 ; CPU:$F61A PRG:361A 9D 0E 05 jsr ProcessGameState_F64A ; CPU:$F61D PRG:361D 98 ldx Zp_99 ; CPU:$F61E PRG:361E 9D 11 05 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F8 A4. ; Local behavior: Executes the decoded process game state f8 a4 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F8A4: pla ; CPU:$F621 PRG:3621 8C A4 05 pla ; CPU:$F624 PRG:3624 9D 2C 05 lda #$00 ; CPU:$F627 PRG:3627 9D 2D 05 jmp Flow_F73A ; CPU:$F62A PRG:362A A9 B0 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F8 AB. ; Local behavior: Executes the decoded process game state f8 ab sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F8AB: iny ; CPU:$F62C PRG:362C 8D 0C 40 ; ----------------------------------------------------------------------------- ; Global purpose: Flow F8 AC. ; Local behavior: Executes the decoded flow f8 ac sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F8AC: lda (Zp_91),y ; CPU:$F62F PRG:362F C8 sta Ram_0500,x ; CPU:$F630 PRG:3630 B1 91 inx ; CPU:$F632 PRG:3632 9D 0F 05 iny ; CPU:$F635 PRG:3635 C8 cpy #$0F ; CPU:$F636 PRG:3636 B1 91 bne Flow_F8AC ; CPU:$F638 PRG:3638 9D 10 05 rts ; CPU:$F63B PRG:363B 60 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F8 B8. ; Local behavior: Executes the decoded process game state f8 b8 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F8B8: jsr ProcessGameState_F982 ; CPU:$F63C PRG:363C 70 0C lda (Zp_91),y ; CPU:$F63E PRG:363E A0 94 sta Ram_0500,x ; CPU:$F640 PRG:3640 20 40 F8 iny ; CPU:$F643 PRG:3643 8D A2 05 rts ; CPU:$F646 PRG:3646 8D A4 05 ; ----------------------------------------------------------------------------- ; Global purpose: Update State Field F8 C2. ; Local behavior: Executes the decoded update state field f8 c2 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- UpdateStateField_F8C2: jsr ProcessGameState_F982 ; CPU:$F649 PRG:3649 60 dec Ram_0500,x ; CPU:$F64A PRG:364A AC A3 05 rts ; CPU:$F64D PRG:364D C0 38 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F8 C9. ; Local behavior: Executes the decoded process game state f8 c9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F8C9: jsr ProcessGameState_F982 ; CPU:$F64F PRG:364F D0 04 lda (Zp_91),y ; CPU:$F651 PRG:3651 A2 66 clc ; CPU:$F653 PRG:3653 D0 02 adc Ram_0500,x ; CPU:$F655 PRG:3655 A2 38 sta Ram_0500,x ; CPU:$F657 PRG:3657 B9 12 05 lda Ram_0501,x ; CPU:$F65A PRG:365A 29 20 adc #$00 ; CPU:$F65C PRG:365C D0 06 sta Ram_0501,x ; CPU:$F65E PRG:365E 20 40 F8 iny ; CPU:$F661 PRG:3661 99 0E 05 rts ; CPU:$F664 PRG:3664 8D 0F 40 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F8 DF. ; Local behavior: Executes the decoded process game state f8 df sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F8DF: jsr ProcessGameState_F982 ; CPU:$F667 PRG:3667 8E A3 05 lda Ram_0500,x ; CPU:$F66A PRG:366A 60 sec ; CPU:$F66B PRG:366B B0 44 sbc (Zp_91),y ; CPU:$F66D PRG:366D A0 02 sta Ram_0500,x ; CPU:$F66F PRG:366F A5 90 lda Ram_0501,x ; CPU:$F671 PRG:3671 8D A2 05 sbc #$00 ; CPU:$F674 PRG:3674 B1 91 sta Ram_0501,x ; CPU:$F676 PRG:3676 8D A5 05 iny ; CPU:$F679 PRG:3679 C8 rts ; CPU:$F67A PRG:367A B1 91 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F8 F5. ; Local behavior: Executes the decoded process game state f8 f5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F8F5: iny ; CPU:$F67C PRG:367C 8D A6 05 ldx #$00 ; CPU:$F67F PRG:367F C8 ; ----------------------------------------------------------------------------- ; Global purpose: Flow F8 F8. ; Local behavior: Executes the decoded flow f8 f8 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_F8F8: lda (Zp_91),y ; CPU:$F680 PRG:3680 B1 91 sta Ram_05CC,x ; CPU:$F682 PRG:3682 8D B2 05 iny ; CPU:$F685 PRG:3685 C8 inx ; CPU:$F686 PRG:3686 B1 91 cpx #$08 ; CPU:$F688 PRG:3688 8D B3 05 bne Flow_F8F8 ; CPU:$F68B PRG:368B C8 rts ; CPU:$F68C PRG:368C B1 91 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F904. ; Local behavior: Executes the decoded process game state f904 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F904: iny ; CPU:$F68E PRG:368E 8D BF 05 lda (Zp_91),y ; CPU:$F691 PRG:3691 C8 sta Ram_0508,x ; CPU:$F692 PRG:3692 B1 91 iny ; CPU:$F694 PRG:3694 8D C0 05 rts ; CPU:$F697 PRG:3697 A9 00 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F90 C. ; Local behavior: Executes the decoded process game state f90 c sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F90C: iny ; CPU:$F699 PRG:3699 8D A7 05 lda (Zp_91),y ; CPU:$F69C PRG:369C 8D B4 05 sta Ram_0504,x ; CPU:$F69F PRG:369F 8D C1 05 iny ; CPU:$F6A2 PRG:36A2 8D A8 05 rts ; CPU:$F6A5 PRG:36A5 8D B5 05 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F914. ; Local behavior: Executes the decoded process game state f914 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F914: iny ; CPU:$F6A8 PRG:36A8 8D C2 05 lda Ram_0508,x ; CPU:$F6AB PRG:36AB 8C 9B 05 clc ; CPU:$F6AE PRG:36AE 4C 4A F6 adc #$0C ; CPU:$F6B1 PRG:36B1 A9 00 sta Ram_0508,x ; CPU:$F6B3 PRG:36B3 8D A2 05 rts ; CPU:$F6B6 PRG:36B6 8D A4 05 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F91 F. ; Local behavior: Executes the decoded process game state f91 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F91F: iny ; CPU:$F6B9 PRG:36B9 60 lda Ram_0508,x ; CPU:$F6BA PRG:36BA 38 sec ; CPU:$F6BB PRG:36BB E9 01 sbc #$0C ; CPU:$F6BD PRG:36BD 85 97 sta Ram_0508,x ; CPU:$F6BF PRG:36BF 4A rts ; CPU:$F6C0 PRG:36C0 4A ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F92 A. ; Local behavior: Executes the decoded process game state f92 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F92A: ldy #$94 ; CPU:$F6C1 PRG:36C1 4A jsr ProcessGameState_F840 ; CPU:$F6C2 PRG:36C2 85 98 sta Ram_05A2 ; CPU:$F6C4 PRG:36C4 A5 97 sta Ram_05A4 ; CPU:$F6C6 PRG:36C6 29 07 pla ; CPU:$F6C8 PRG:36C8 A8 pla ; CPU:$F6C9 PRG:36C9 A5 98 rts ; CPU:$F6CB PRG:36CB 18 ; Pointers selected by object handler index. ObjectHandlerDispatchTable: .byte $52 ; PRG $3938 | CPU $F938 ; CPU:$F6CC PRG:36CC 52 LookupTable_F939: .byte $F8,$52,$F8,$65,$F8,$65,$F8,$80,$F8,$9D,$F8,$9D,$F8,$A4,$F8,$AB ; PRG $3939 | CPU $F939 ; CPU:$F6CD PRG:36CD F8 52 F8 65 F8 65 F8 80 F8 9D F8 9D F8 A4 F8 AB .byte $F8,$F5,$F8,$F5,$F8,$C9,$F8,$C9,$F8,$B8,$F8,$C2,$F8,$DF,$F8,$C9 ; PRG $3949 | CPU $F949 ; CPU:$F6DD PRG:36DD F8 F5 F8 F5 F8 C9 F8 C9 F8 B8 F8 C2 F8 DF F8 C9 .byte $F8,$C2,$F8,$C2,$F8,$F5,$F8,$04,$F9,$0C,$F9,$14,$F9,$14,$F9,$14 ; PRG $3959 | CPU $F959 ; CPU:$F6ED PRG:36ED F8 C2 F8 C2 F8 F5 F8 04 F9 0C F9 14 F9 14 F9 14 .byte $F9,$1F,$F9,$2A,$F9 ; PRG $3969 | CPU $F969 ; CPU:$F6FD PRG:36FD F9 1F F9 2A F9 ; ----------------------------------------------------------------------------- ; Global purpose: Dispatch Object Handler. ; Local behavior: Executes the decoded dispatch object handler sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- DispatchObjectHandler: asl a ; CPU:$F702 PRG:3702 ?? tay ; CPU:$F704 PRG:3704 ?? lda ObjectHandlerDispatchTable,y ; CPU:$F706 PRG:3706 8E 36 05 sta DispatchPointerLo ; CPU:$F709 PRG:3709 A0 00 lda LookupTable_F939,y ; CPU:$F70B PRG:370B B1 91 sta DispatchPointerHi ; CPU:$F70D PRG:370D 10 17 ldy #$00 ; CPU:$F70F PRG:370F 8D D5 05 ldx CurrentObjectIndex ; CPU:$F712 PRG:3712 AE 36 05 jmp (DispatchPointerLo) ; CPU:$F715 PRG:3715 20 6E F9 ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State F982. ; Local behavior: Executes the decoded process game state f982 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_F982: iny ; CPU:$F718 PRG:3718 98 clc ; CPU:$F719 PRG:3719 18 txa ; CPU:$F71A PRG:371A 65 91 adc (Zp_91),y ; CPU:$F71C PRG:371C 85 91 tax ; CPU:$F71E PRG:371E A5 92 iny ; CPU:$F720 PRG:3720 69 00 rts ; CPU:$F722 PRG:3722 85 92 LookupTable_F98A: .byte $5D ; PRG $398A | CPU $F98A ; CPU:$F724 PRG:3724 5D LookupTable_F98B: .byte $03,$2C,$03,$FF,$02,$D3,$02,$AB,$02,$8F,$02,$62,$02,$3F,$02,$1E ; PRG $398B | CPU $F98B ; CPU:$F725 PRG:3725 03 2C 03 FF 02 D3 02 AB 02 8F 02 62 02 3F 02 1E .byte $02,$FF,$01,$E3,$01,$C8,$01 ; PRG $399B | CPU $F99B ; CPU:$F735 PRG:3735 02 FF 01 E3 01 C8 01 LookupTable_F9A2: .byte $F0 ; PRG $39A2 | CPU $F9A2 ; CPU:$F73C PRG:373C F0 LookupTable_F9A3: .byte $F9,$EA,$F9,$C4,$F9,$D4,$F9,$CC,$F9,$F0,$F9,$F0,$F9,$F0,$F9,$F6 ; PRG $39A3 | CPU $F9A3 ; CPU:$F73D PRG:373D F9 EA F9 C4 F9 D4 F9 CC F9 F0 F9 F0 F9 F0 F9 F6 .byte $F9,$FC,$F9,$E4,$F9,$02,$FA,$08,$FA,$0E,$FA,$14,$FA,$DC,$F9,$1A ; PRG $39B3 | CPU $F9B3 ; CPU:$F74D PRG:374D F9 FC F9 E4 F9 02 FA 08 FA 0E FA 14 FA DC F9 1A .byte $FA,$80,$00,$20,$FA,$4C,$FA,$6D,$FA,$80,$00,$97,$FA,$C8,$FA,$D8 ; PRG $39C3 | CPU $F9C3 ; CPU:$F75D PRG:375D FA 80 00 20 FA 4C FA 6D FA 80 00 97 FA C8 FA D8 .byte $FA,$80,$00,$EC,$FA,$3B,$FB,$46,$FB,$80,$00,$75,$FB,$8D,$FB,$9C ; PRG $39D3 | CPU $F9D3 ; CPU:$F76D PRG:376D FA 80 00 EC FA 3B FB 46 FB 80 00 75 FB 8D FB 9C .byte $FB,$40,$C8,$FB,$F7,$FF,$FF,$40,$A3,$FB,$F7,$FF,$FF,$40,$F3,$FB ; PRG $39E3 | CPU $F9E3 ; CPU:$F77D PRG:377D FB 40 C8 FB F7 FF FF 40 A3 FB F7 FF FF 40 F3 FB .byte $87,$C0,$00,$40,$1A,$FC,$87,$CE,$00,$40,$34,$FC,$87,$C4,$00,$40 ; PRG $39F3 | CPU $F9F3 ; CPU:$F78D PRG:378D 87 C0 00 40 1A FC 87 CE 00 40 34 FC 87 C4 00 40 .byte $4C,$FC,$87,$DE,$00,$40,$66,$FC,$87,$DC,$00,$40,$94,$FC,$87,$DE ; PRG $3A03 | CPU $FA03 ; CPU:$F79D PRG:379D 4C FC 87 DE 00 40 66 FC 87 DC 00 40 94 FC 87 DE .byte $00,$40,$7A,$FC,$87,$DC,$00,$40,$D5,$FC,$F7,$FF,$FF,$93,$06,$0C ; PRG $3A13 | CPU $FA13 ; CPU:$F7AD PRG:37AD 00 40 7A FC 87 DC 00 40 D5 FC F7 FF FF 93 06 0C .byte $12,$18,$24,$30,$60,$03,$94,$12,$95,$0F,$14,$07,$7F,$17,$7F,$05 ; PRG $3A23 | CPU $FA23 ; CPU:$F7BD PRG:37BD 12 18 24 30 60 03 94 12 95 0F 14 07 7F 17 7F 05 .byte $04,$15,$09,$7F,$19,$7F,$07,$05,$17,$0B,$7F,$1B,$7F,$09,$0B,$98 ; PRG $3A33 | CPU $FA33 ; CPU:$F7CD PRG:37CD 04 15 09 7F 19 7F 07 05 17 0B 7F 1B 7F 09 0B 98 .byte $00,$7F,$99,$77,$09,$7F,$77,$3F,$9A,$94,$12,$95,$0C,$10,$04,$7F ; PRG $3A43 | CPU $FA43 ; CPU:$F7DD PRG:37DD 00 7F 99 77 09 7F 77 3F 9A 94 12 95 0C 10 04 7F .byte $14,$7F,$02,$00,$12,$05,$7F,$15,$7F,$04,$02,$14,$07,$7F,$17,$7F ; PRG $3A53 | CPU $FA53 ; CPU:$F7ED PRG:37ED 14 7F 02 00 12 05 7F 15 7F 04 02 14 07 7F 17 7F .byte $05,$07,$07,$7F,$74,$05,$7F,$74,$3F,$9A,$94,$06,$95,$0C,$00,$0F ; PRG $3A63 | CPU $FA63 ; CPU:$F7FD PRG:37FD 05 07 07 7F 74 05 7F 74 3F 9A 94 06 95 0C 00 0F .byte $04,$0F,$07,$0F,$98,$00,$0F,$99,$02,$0F,$05,$0F,$09,$0F,$98,$02 ; PRG $3A73 | CPU $FA73 ; CPU:$F80D PRG:380D 04 0F 07 0F 98 00 0F 99 02 0F 05 0F 09 0F 98 02 .byte $0F,$99,$0B,$0F,$02,$0F,$05,$0F,$07,$0F,$98,$00,$0F,$99,$09,$0F ; PRG $3A83 | CPU $FA83 ; CPU:$F81D PRG:381D 0F 99 0B 0F 02 0F 05 0F 07 0F 98 00 0F 99 09 0F .byte $07,$0F,$1F,$9A,$93,$06,$0C,$12,$18,$24,$30,$60,$03,$94,$12,$95 ; PRG $3A93 | CPU $FA93 ; CPU:$F82D PRG:382D 07 0F 1F 9A 93 06 0C 12 18 24 30 60 03 94 12 95 .byte $0F,$14,$99,$77,$79,$7F,$98,$70,$15,$14,$02,$7F,$71,$72,$0F,$19 ; PRG $3AA3 | CPU $FAA3 ; CPU:$F83D PRG:383D 0F 14 99 77 79 7F 98 70 15 14 02 7F 71 72 0F 19 .byte $77,$05,$7F,$74,$0F,$07,$07,$7F,$77,$19,$1B,$98,$00,$7F,$99,$77 ; PRG $3AB3 | CPU $FAB3 ; CPU:$F84D PRG:384D 77 05 7F 74 0F 07 07 7F 77 19 1B 98 00 7F 99 77 .byte $0B,$7F,$70,$3F,$9A,$94,$12,$95,$0C,$3F,$12,$10,$5F,$04,$04,$7F ; PRG $3AC3 | CPU $FAC3 ; CPU:$F85D PRG:385D 0B 7F 70 3F 9A 94 12 95 0C 3F 12 10 5F 04 04 7F .byte $74,$15,$17,$5F,$9A,$94,$12,$95,$0C,$10,$10,$12,$14,$15,$15,$15 ; PRG $3AD3 | CPU $FAD3 ; CPU:$F86D PRG:386D 74 15 17 5F 9A 94 12 95 0C 10 10 12 14 15 15 15 .byte $15,$14,$14,$12,$12,$10,$3F,$1F,$9A,$93,$06,$0C,$12,$18,$24,$30 ; PRG $3AE3 | CPU $FAE3 ; CPU:$F87D PRG:387D 15 14 14 12 12 10 3F 1F 9A 93 06 0C 12 18 24 30 .byte $60,$03,$94,$12,$95,$07,$0A,$0A,$0B,$0B,$98,$00,$00,$01,$01,$02 ; PRG $3AF3 | CPU $FAF3 ; CPU:$F88D PRG:388D 60 03 94 12 95 07 0A 0A 0B 0B 98 00 00 01 01 02 .byte $0F,$99,$09,$0F,$98,$02,$0F,$99,$09,$0F,$98,$00,$05,$04,$02,$00 ; PRG $3B03 | CPU $FB03 ; CPU:$F89D PRG:389D 0F 99 09 0F 98 02 0F 99 09 0F 98 00 05 04 02 00 .byte $99,$0B,$98,$00,$99,$0B,$98,$00,$0F,$05,$0F,$00,$0F,$05,$0F,$83 ; PRG $3B13 | CPU $FB13 ; CPU:$F8AD PRG:38AD 99 0B 98 00 99 0B 98 00 0F 05 0F 00 0F 05 0F 83 .byte $02,$00,$0F,$09,$0F,$84,$83,$02,$99,$0A,$0F,$98,$07,$0F,$99,$09 ; PRG $3B23 | CPU $FB23 ; CPU:$F8BD PRG:38BD 02 00 0F 09 0F 84 83 02 99 0A 0F 98 07 0F 99 09 .byte $0F,$98,$05,$0F,$84,$81,$EC,$FA,$94,$18,$95,$07,$83,$07,$5F,$84 ; PRG $3B33 | CPU $FB33 ; CPU:$F8CD PRG:38CD 0F 98 05 0F 84 81 EC FA 94 18 95 07 83 07 5F 84 .byte $81,$3B,$FB,$94,$06,$95,$07,$0A,$0A,$09,$09,$08,$08,$07,$07,$16 ; PRG $3B43 | CPU $FB43 ; CPU:$F8DD PRG:38DD 81 3B FB 94 06 95 07 0A 0A 09 09 08 08 07 07 16 .byte $0F,$06,$16,$1F,$05,$0F,$07,$0F,$05,$08,$09,$08,$19,$0F,$09,$19 ; PRG $3B53 | CPU $FB53 ; CPU:$F8ED PRG:38ED 0F 06 16 1F 05 0F 07 0F 05 08 09 08 19 0F 09 19 .byte $1F,$15,$0F,$05,$15,$1F,$83,$02,$07,$1F,$0F,$05,$1F,$0F,$84,$81 ; PRG $3B63 | CPU $FB63 ; CPU:$F8FD PRG:38FD 1F 15 0F 05 15 1F 83 02 07 1F 0F 05 1F 0F 84 81 .byte $46,$FB,$93,$06,$0C,$12,$18,$24,$30,$60,$08,$94,$18,$95,$0C,$70 ; PRG $3B73 | CPU $FB73 ; CPU:$F90D PRG:390D 46 FB 93 06 0C 12 18 24 30 60 08 94 18 95 0C 70 .byte $74,$77,$7C,$77,$74,$70,$74,$77,$1C,$9A,$94,$0C,$95,$07,$83,$06 ; PRG $3B83 | CPU $FB83 ; CPU:$F91D PRG:391D 74 77 7C 77 74 70 74 77 1C 9A 94 0C 95 07 83 06 .byte $00,$04,$84,$00,$04,$00,$04,$10,$9A,$94,$0C,$95,$07,$6F,$1F,$9A ; PRG $3B93 | CPU $FB93 ; CPU:$F92D PRG:392D 00 04 84 00 04 00 04 10 9A 94 0C 95 07 6F 1F 9A .byte $88,$30,$00,$31,$00,$00,$00,$00,$03,$BF,$BF,$00,$00,$00,$00,$02 ; PRG $3BA3 | CPU $FBA3 ; CPU:$F93D PRG:393D 88 30 00 31 00 00 00 00 03 BF BF 00 00 00 00 02 .byte $8D,$07,$00,$02,$88,$18,$58,$19,$58,$00,$00,$00,$03,$A1,$A1,$00 ; PRG $3BB3 | CPU $FBB3 ; CPU:$F94D PRG:394D 8D 07 00 02 88 18 58 19 58 00 00 00 03 A1 A1 00 .byte $00,$00,$00,$20,$86,$83,$03,$88,$00,$00,$80,$00,$80,$00,$00,$06 ; PRG $3BC3 | CPU $FBC3 ; CPU:$F95D PRG:395D 00 00 00 20 86 83 03 88 00 00 80 00 80 00 00 06 .byte $00,$BF,$8F,$00,$00,$00,$03,$8D,$09,$B0,$8D,$0A,$80,$03,$84,$88 ; PRG $3BD3 | CPU $FBD3 ; CPU:$F96D PRG:396D 00 BF 8F 00 00 00 03 8D 09 B0 8D 0A 80 03 84 88 .byte $00,$00,$40,$00,$40,$00,$00,$06,$00,$BF,$8F,$00,$00,$00,$0A,$86 ; PRG $3BE3 | CPU $FBE3 ; CPU:$F97D PRG:397D 00 00 40 00 40 00 00 06 00 BF 8F 00 00 00 0A 86 .byte $88,$00,$00,$FF,$03,$F0,$03,$00,$06,$00,$BF,$8F,$00,$00,$00,$8D ; PRG $3BF3 | CPU $FBF3 ; CPU:$F98D PRG:398D 88 00 00 FF 03 F0 03 00 06 00 BF 8F 00 00 00 8D .byte $2D,$FC,$05,$88,$00,$00,$00,$03,$10,$03,$00,$06,$00,$BF,$8F,$00 ; PRG $3C03 | CPU $FC03 ; CPU:$F99D PRG:399D 2D FC 05 88 00 00 00 03 10 03 00 06 00 BF 8F 00 .byte $00,$00,$8D,$2D,$FC,$05,$86,$88,$00,$00,$18,$00,$18,$00,$00,$06 ; PRG $3C13 | CPU $FC13 ; CPU:$F9AD PRG:39AD 00 00 8D 2D FC 05 86 88 00 00 18 00 18 00 00 06 .byte $00,$BF,$8F,$00,$00,$00,$83,$0F,$00,$90,$02,$04,$90,$04,$04,$84 ; PRG $3C23 | CPU $FC23 ; CPU:$F9BD PRG:39BD 00 BF 8F 00 00 00 83 0F 00 90 02 04 90 04 04 84 .byte $86,$88,$00,$00,$FF,$03,$F0,$03,$00,$06,$00,$BF,$8F,$00,$00,$00 ; PRG $3C33 | CPU $FC33 ; CPU:$F9CD PRG:39CD 86 88 00 00 FF 03 F0 03 00 06 00 BF 8F 00 00 00 .byte $83,$0F,$00,$91,$09,$91,$0A,$84,$86,$88,$00,$00,$20,$00,$21,$00 ; PRG $3C43 | CPU $FC43 ; CPU:$F9DD PRG:39DD 83 0F 00 91 09 91 0A 84 86 88 00 00 20 00 21 00 .byte $00,$06,$BF,$BF,$8F,$00,$00,$00,$83,$0A,$00,$8F,$04,$02,$8F,$02 ; PRG $3C53 | CPU $FC53 ; CPU:$F9ED PRG:39ED 00 06 BF BF 8F 00 00 00 83 0A 00 8F 04 02 8F 02 .byte $02,$84,$86,$83,$03,$88,$00,$00,$00,$00,$00,$00,$03,$08,$00,$00 ; PRG $3C63 | CPU $FC63 ; CPU:$F9FD PRG:39FD 02 84 86 83 03 88 00 00 00 00 00 00 03 08 00 00 .byte $00,$55,$20,$00,$07,$84,$86,$88,$00,$00,$50,$00,$51,$00,$00,$06 ; PRG $3C73 | CPU $FC73 ; CPU:$FA0D PRG:3A0D 00 55 20 00 07 84 86 88 00 00 50 00 51 00 00 06 .byte $00,$B7,$87,$00,$00,$00,$83,$08,$00,$8F,$02,$05,$8F,$04,$05,$84 ; PRG $3C83 | CPU $FC83 ; CPU:$FA1D PRG:3A1D 00 B7 87 00 00 00 83 08 00 8F 02 05 8F 04 05 84 .byte $86,$88,$00,$00,$F0,$01,$F0,$01,$00,$06,$00,$BF,$8F,$00,$00,$00 ; PRG $3C93 | CPU $FC93 ; CPU:$FA2D PRG:3A2D 86 88 00 00 F0 01 F0 01 00 06 00 BF 8F 00 00 00 .byte $83,$04,$00,$8F,$02,$30,$8F,$02,$30,$84,$86,$88,$30,$00,$31,$00 ; PRG $3CA3 | CPU $FCA3 ; CPU:$FA3D PRG:3A3D 83 04 00 8F 02 30 8F 02 30 84 86 88 30 00 31 00 .byte $32,$00,$00,$06,$BF,$BF,$BF,$00,$00,$00,$83,$08,$01,$90,$00,$40 ; PRG $3CB3 | CPU $FCB3 ; CPU:$FA4D PRG:3A4D 32 00 00 06 BF BF BF 00 00 00 83 08 01 90 00 40 .byte $90,$02,$40,$90,$04,$40,$01,$8F,$02,$10,$8F,$02,$10,$8F,$04,$10 ; PRG $3CC3 | CPU $FCC3 ; CPU:$FA5D PRG:3A5D 90 02 40 90 04 40 01 8F 02 10 8F 02 10 8F 04 10 .byte $84,$86,$83,$02,$88,$00,$00,$20,$00,$20,$00,$00,$06,$00,$BF,$8F ; PRG $3CD3 | CPU $FCD3 ; CPU:$FA6D PRG:3A6D 84 86 83 02 88 00 00 20 00 20 00 00 06 00 BF 8F .byte $00,$00,$00,$02,$8D,$09,$B0,$8D,$0A,$B0,$03,$84,$83,$02,$88,$00 ; PRG $3CE3 | CPU $FCE3 ; CPU:$FA7D PRG:3A7D 00 00 00 02 8D 09 B0 8D 0A B0 03 84 83 02 88 00 .byte $00,$40,$00,$40,$00,$00,$06,$00,$BF,$8F,$00,$00,$00,$02,$8D,$09 ; PRG $3CF3 | CPU $FCF3 ; CPU:$FA8D PRG:3A8D 00 40 00 40 00 00 06 00 BF 8F 00 00 00 02 8D 09 .byte $B0,$8D,$0A,$B0,$03,$84,$83,$03,$88,$00,$00,$60,$00,$60,$00,$00 ; PRG $3D03 | CPU $FD03 ; CPU:$FA9D PRG:3A9D B0 8D 0A B0 03 84 83 03 88 00 00 60 00 60 00 00 .byte $06,$00,$BF,$8F,$00,$00,$00,$02,$8D,$09,$B0,$8D,$0A,$B0,$03,$84 ; PRG $3D13 | CPU $FD13 ; CPU:$FAAD PRG:3AAD 06 00 BF 8F 00 00 00 02 8D 09 B0 8D 0A B0 03 84 .byte $86 ; PRG $3D23 | CPU $FD23 ; CPU:$FABD PRG:3ABD 86 ; ----------------------------------------------------------------------------- ; Global purpose: Reset Handler. ; Local behavior: Executes the decoded reset handler sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ResetHandler: sei ; CPU:$FABE PRG:3ABE ?? cld ; CPU:$FAC0 PRG:3AC0 ?? lda #$00 ; CPU:$FAC2 PRG:3AC2 ?? sta PPUCTRL ; CPU:$FAC4 PRG:3AC4 ?? sta PPUMASK ; CPU:$FAC6 PRG:3AC6 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FD2 E. ; Local behavior: Executes the decoded flow fd2 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FD2E: lda PPUSTATUS ; CPU:$FAC8 PRG:3AC8 ?? bpl Flow_FD2E ; CPU:$FACA PRG:3ACA ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FD33. ; Local behavior: Executes the decoded flow fd33 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FD33: lda PPUSTATUS ; CPU:$FACC PRG:3ACC ?? bpl Flow_FD33 ; CPU:$FACE PRG:3ACE ?? jsr SetDefaultScroll ; CPU:$FAD0 PRG:3AD0 ?? sta FrameCounter ; CPU:$FAD2 PRG:3AD2 ?? lda #$08 ; CPU:$FAD4 PRG:3AD4 ?? sta FrameCounterReload ; CPU:$FAD6 PRG:3AD6 ?? lda #$80 ; CPU:$FAD8 PRG:3AD8 ?? sta JOY2 ; CPU:$FADA PRG:3ADA ?? ldx #$FF ; CPU:$FADC PRG:3ADC ?? txs ; CPU:$FADE PRG:3ADE ?? jsr InitializeRuntimeState ; CPU:$FAE0 PRG:3AE0 ?? jsr InitializeGameSystems ; CPU:$FAE2 PRG:3AE2 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FD4 F. ; Local behavior: Executes the decoded flow fd4 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FD4F: jsr WaitForNmi ; CPU:$FAE4 PRG:3AE4 ?? lda MainGameState ; CPU:$FAE6 PRG:3AE6 ?? asl a ; CPU:$FAE8 PRG:3AE8 ?? tax ; CPU:$FAEA PRG:3AEA ?? lda MainStateDispatchTable,x ; CPU:$FAEC PRG:3AEC ?? sta DataPointerLo ; CPU:$FAEE PRG:3AEE ?? lda LookupTable_C001,x ; CPU:$FAF0 PRG:3AF0 ?? sta DataPointerHi ; CPU:$FAF2 PRG:3AF2 ?? jmp (DataPointerLo) ; CPU:$FAF4 PRG:3AF4 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Initialize Runtime State. ; Local behavior: Executes the decoded initialize runtime state sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- InitializeRuntimeState: lda #$00 ; CPU:$FAF6 PRG:3AF6 ?? sta NmiCompletedFlag ; CPU:$FAF8 PRG:3AF8 ?? sta GameMode ; CPU:$FAFA PRG:3AFA ?? sta PendingFrameTask ; CPU:$FAFC PRG:3AFC ?? sta PlayerDeathFlag ; CPU:$FAFE PRG:3AFE ?? sta StageCompleteFlag ; CPU:$FB00 PRG:3B00 ?? lda #$90 ; CPU:$FB02 PRG:3B02 ?? jsr SetPpuControlShadow ; CPU:$FB04 PRG:3B04 ?? jsr ClearNametables ; CPU:$FB06 PRG:3B06 ?? jsr ProcessGameState_FD83 ; CPU:$FB08 PRG:3B08 ?? jsr WaitForNmi ; CPU:$FB0A PRG:3B0A ?? lda #$1A ; CPU:$FB0C PRG:3B0C ?? jsr SetPpuMaskShadow ; CPU:$FB0E PRG:3B0E ?? rts ; CPU:$FB10 PRG:3B10 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Process Game State FD83. ; Local behavior: Executes the decoded process game state fd83 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ProcessGameState_FD83: lda #$00 ; CPU:$FB12 PRG:3B12 ?? ldx #$FD ; CPU:$FB14 PRG:3B14 ?? ldy #$8D ; CPU:$FB16 PRG:3B16 ?? jsr LoadPalette ; CPU:$FB18 PRG:3B18 ?? rts ; CPU:$FB1A PRG:3B1A ?? .byte $0F,$30,$3A,$16,$0F,$36,$0F,$0F,$0F,$3A,$26,$0F,$0F,$30,$27,$07 ; PRG $3D8D | CPU $FD8D ; CPU:$FB1C PRG:3B1C 0F 30 3A 16 0F 36 0F 0F 0F 3A 26 0F 0F 30 27 07 ; ----------------------------------------------------------------------------- ; Global purpose: Wait For Nmi. ; Local behavior: Executes the decoded wait for nmi sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- WaitForNmi: lda NmiCompletedFlag ; CPU:$FB2C PRG:3B2C ?? beq WaitForNmi ; CPU:$FB2E PRG:3B2E ?? lda #$00 ; CPU:$FB30 PRG:3B30 ?? sta NmiCompletedFlag ; CPU:$FB32 PRG:3B32 ?? rts ; CPU:$FB34 PRG:3B34 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Wait For Ppu Vblank. ; Local behavior: Executes the decoded wait for ppu vblank sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- WaitForPpuVblank: pha ; CPU:$FB36 PRG:3B36 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FDA7. ; Local behavior: Executes the decoded flow fda7 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FDA7: lda PPUSTATUS ; CPU:$FB38 PRG:3B38 ?? bpl Flow_FDA7 ; CPU:$FB3A PRG:3B3A ?? pla ; CPU:$FB3C PRG:3B3C ?? rts ; CPU:$FB3E PRG:3B3E ?? ; ----------------------------------------------------------------------------- ; Global purpose: Clear Nametables. ; Local behavior: Executes the decoded clear nametables sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ClearNametables: jsr ClearNametable2000 ; CPU:$FB40 PRG:3B40 ?? jsr ClearNametable2800 ; CPU:$FB42 PRG:3B42 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Clear Nametable. ; Local behavior: Executes the decoded clear nametable sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ClearNametable: ldx #$00 ; CPU:$FB44 PRG:3B44 ?? ldy #$40 ; CPU:$FB46 PRG:3B46 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FDB8. ; Local behavior: Executes the decoded flow fdb8 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FDB8: lda #$F0 ; CPU:$FB48 PRG:3B48 ?? sta Ram_0700,x ; CPU:$FB4A PRG:3B4A ?? lda #$00 ; CPU:$FB4C PRG:3B4C ?? inx ; CPU:$FB4E PRG:3B4E ?? sta Ram_0700,x ; CPU:$FB50 PRG:3B50 ?? inx ; CPU:$FB52 PRG:3B52 ?? sta Ram_0700,x ; CPU:$FB54 PRG:3B54 ?? inx ; CPU:$FB56 PRG:3B56 ?? sta Ram_0700,x ; CPU:$FB58 PRG:3B58 ?? inx ; CPU:$FB5A PRG:3B5A ?? dey ; CPU:$FB5C PRG:3B5C ?? bne Flow_FDB8 ; CPU:$FB5E PRG:3B5E ?? rts ; CPU:$FB60 PRG:3B60 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Clear Nametable2000. ; Local behavior: Executes the decoded clear nametable2000 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ClearNametable2000: ldx #$20 ; CPU:$FB62 PRG:3B62 ?? bne Flow_FDD6 ; CPU:$FB64 PRG:3B64 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Clear Nametable2800. ; Local behavior: Executes the decoded clear nametable2800 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ClearNametable2800: ldx #$28 ; CPU:$FB66 PRG:3B66 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FDD6. ; Local behavior: Executes the decoded flow fdd6 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FDD6: jsr DisableBackgroundAndSprites ; CPU:$FB68 PRG:3B68 ?? ldy #$00 ; CPU:$FB6A PRG:3B6A ?? jsr WaitForNmiAndSetPpuAddress ; CPU:$FB6C PRG:3B6C ?? ldy #$04 ; CPU:$FB6E PRG:3B6E ?? ldx #$00 ; CPU:$FB70 PRG:3B70 ?? txa ; CPU:$FB72 PRG:3B72 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FDE3. ; Local behavior: Executes the decoded flow fde3 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FDE3: sta PPUDATA ; CPU:$FB74 PRG:3B74 ?? dex ; CPU:$FB76 PRG:3B76 ?? bne Flow_FDE3 ; CPU:$FB78 PRG:3B78 ?? dey ; CPU:$FB7A PRG:3B7A ?? bne Flow_FDE3 ; CPU:$FB7C PRG:3B7C ?? jsr SetDefaultScroll ; CPU:$FB7E PRG:3B7E ?? rts ; CPU:$FB80 PRG:3B80 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Load Palette. ; Local behavior: Executes the decoded load palette sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- LoadPalette: jsr WaitForPpuVblank ; CPU:$FB82 PRG:3B82 ?? sty DataPointerLo ; CPU:$FB84 PRG:3B84 ?? stx DataPointerHi ; CPU:$FB86 PRG:3B86 ?? ldx #$3F ; CPU:$FB88 PRG:3B88 ?? ldy #$00 ; CPU:$FB8A PRG:3B8A ?? cmp #$00 ; CPU:$FB8C PRG:3B8C ?? beq Flow_FE03 ; CPU:$FB8E PRG:3B8E ?? ldx #$3F ; CPU:$FB90 PRG:3B90 ?? ldy #$10 ; CPU:$FB92 PRG:3B92 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FE03. ; Local behavior: Executes the decoded flow fe03 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FE03: jsr SetPpuAddress ; CPU:$FB94 PRG:3B94 ?? ldy #$00 ; CPU:$FB96 PRG:3B96 ?? ldx #$10 ; CPU:$FB98 PRG:3B98 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FE0 A. ; Local behavior: Executes the decoded flow fe0 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FE0A: lda (DataPointerLo),y ; CPU:$FB9A PRG:3B9A ?? sta PPUDATA ; CPU:$FB9C PRG:3B9C ?? iny ; CPU:$FB9E PRG:3B9E ?? dex ; CPU:$FBA0 PRG:3BA0 ?? bne Flow_FE0A ; CPU:$FBA2 PRG:3BA2 ?? lda #$3F ; CPU:$FBA4 PRG:3BA4 ?? sta PPUADDR ; CPU:$FBA6 PRG:3BA6 ?? lda #$00 ; CPU:$FBA8 PRG:3BA8 ?? sta PPUADDR ; CPU:$FBAA PRG:3BAA ?? sta PPUADDR ; CPU:$FBAC PRG:3BAC ?? sta PPUADDR ; CPU:$FBAE PRG:3BAE ?? sta Zp_0D ; CPU:$FBB0 PRG:3BB0 ?? lda PpuMaskShadow ; CPU:$FBB2 PRG:3BB2 ?? sta PPUMASK ; CPU:$FBB4 PRG:3BB4 ?? rts ; CPU:$FBB6 PRG:3BB6 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Read Controllers. ; Local behavior: Executes the decoded read controllers sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ReadControllers: sta ScratchValue0 ; CPU:$FBB8 PRG:3BB8 ?? ldy #$01 ; CPU:$FBBA PRG:3BBA ?? sty JOY1 ; CPU:$FBBC PRG:3BBC ?? dey ; CPU:$FBBE PRG:3BBE ?? sty JOY1 ; CPU:$FBC0 PRG:3BC0 ?? ldx #$08 ; CPU:$FBC2 PRG:3BC2 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FE38. ; Local behavior: Executes the decoded flow fe38 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FE38: lda JOY1 ; CPU:$FBC4 PRG:3BC4 ?? ror a ; CPU:$FBC6 PRG:3BC6 ?? bcs Flow_FE3F ; CPU:$FBC8 PRG:3BC8 ?? ror a ; CPU:$FBCA PRG:3BCA ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FE3 F. ; Local behavior: Executes the decoded flow fe3 f sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FE3F: ror ScratchValue1 ; CPU:$FBCC PRG:3BCC ?? lda JOY2 ; CPU:$FBCE PRG:3BCE ?? ror a ; CPU:$FBD0 PRG:3BD0 ?? bcs Flow_FE48 ; CPU:$FBD2 PRG:3BD2 ?? ror a ; CPU:$FBD4 PRG:3BD4 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FE48. ; Local behavior: Executes the decoded flow fe48 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FE48: ror ScratchIndex ; CPU:$FBD6 PRG:3BD6 ?? dex ; CPU:$FBD8 PRG:3BD8 ?? bne Flow_FE38 ; CPU:$FBDA PRG:3BDA ?? lda ScratchValue1 ; CPU:$FBDC PRG:3BDC ?? ldx ScratchValue0 ; CPU:$FBDE PRG:3BDE ?? beq Flow_FE55 ; CPU:$FBE0 PRG:3BE0 ?? lda ScratchIndex ; CPU:$FBE2 PRG:3BE2 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FE55. ; Local behavior: Executes the decoded flow fe55 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FE55: tax ; CPU:$FBE4 PRG:3BE4 ?? lsr a ; CPU:$FBE6 PRG:3BE6 ?? lsr a ; CPU:$FBE8 PRG:3BE8 ?? lsr a ; CPU:$FBEA PRG:3BEA ?? lsr a ; CPU:$FBEC PRG:3BEC ?? sta Zp_2E ; CPU:$FBEE PRG:3BEE ?? txa ; CPU:$FBF0 PRG:3BF0 ?? and #$03 ; CPU:$FBF2 PRG:3BF2 ?? sta Zp_2F ; CPU:$FBF4 PRG:3BF4 ?? lda ScratchValue1 ; CPU:$FBF6 PRG:3BF6 ?? and #$0C ; CPU:$FBF8 PRG:3BF8 ?? ora Zp_2F ; CPU:$FBFA PRG:3BFA ?? sta Zp_2F ; CPU:$FBFC PRG:3BFC ?? rts ; CPU:$FBFE PRG:3BFE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Wait For Nmi And Set Ppu Address. ; Local behavior: Executes the decoded wait for nmi and set ppu address sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- WaitForNmiAndSetPpuAddress: jsr WaitForNmi ; CPU:$FC00 PRG:3C00 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Set Ppu Address. ; Local behavior: Executes the decoded set ppu address sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- SetPpuAddress: stx PPUADDR ; CPU:$FC02 PRG:3C02 ?? sty PPUADDR ; CPU:$FC04 PRG:3C04 ?? rts ; CPU:$FC06 PRG:3C06 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Decode Nametable Stream. ; Local behavior: Executes the decoded decode nametable stream sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- DecodeNametableStream: sty DataPointerLo ; CPU:$FC08 PRG:3C08 ?? stx DataPointerHi ; CPU:$FC0A PRG:3C0A ?? ldy #$00 ; CPU:$FC0C PRG:3C0C ?? lda (DataPointerLo),y ; CPU:$FC0E PRG:3C0E ?? sta StreamLength ; CPU:$FC10 PRG:3C10 ?? iny ; CPU:$FC12 PRG:3C12 ?? lda (DataPointerLo),y ; CPU:$FC14 PRG:3C14 ?? sta Zp_08 ; CPU:$FC16 PRG:3C16 ?? iny ; CPU:$FC18 PRG:3C18 ?? lda (DataPointerLo),y ; CPU:$FC1A PRG:3C1A ?? sta Zp_09 ; CPU:$FC1C PRG:3C1C ?? iny ; CPU:$FC1E PRG:3C1E ?? lda (DataPointerLo),y ; CPU:$FC20 PRG:3C20 ?? sta Zp_0A ; CPU:$FC22 PRG:3C22 ?? tax ; CPU:$FC24 PRG:3C24 ?? ldy Zp_09 ; CPU:$FC26 PRG:3C26 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FE90. ; Local behavior: Executes the decoded flow fe90 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FE90: jsr WaitForNmiAndSetPpuAddress ; CPU:$FC28 PRG:3C28 ?? ldy #$00 ; CPU:$FC2A PRG:3C2A ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FE95. ; Local behavior: Executes the decoded flow fe95 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FE95: lda (StreamLength),y ; CPU:$FC2C PRG:3C2C ?? cmp #$FF ; CPU:$FC2E PRG:3C2E ?? beq Flow_FECC ; CPU:$FC30 PRG:3C30 ?? cmp #$0A ; CPU:$FC32 PRG:3C32 ?? beq Flow_FEA9 ; CPU:$FC34 PRG:3C34 ?? sec ; CPU:$FC36 PRG:3C36 ?? sbc #$20 ; CPU:$FC38 PRG:3C38 ?? sta PPUDATA ; CPU:$FC3A PRG:3C3A ?? iny ; CPU:$FC3C PRG:3C3C ?? jmp Flow_FE95 ; CPU:$FC3E PRG:3C3E ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FEA9. ; Local behavior: Executes the decoded flow fea9 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FEA9: jsr SetDefaultScroll ; CPU:$FC40 PRG:3C40 ?? iny ; CPU:$FC42 PRG:3C42 ?? tya ; CPU:$FC44 PRG:3C44 ?? clc ; CPU:$FC46 PRG:3C46 ?? adc StreamLength ; CPU:$FC48 PRG:3C48 ?? sta StreamLength ; CPU:$FC4A PRG:3C4A ?? lda #$00 ; CPU:$FC4C PRG:3C4C ?? adc Zp_08 ; CPU:$FC4E PRG:3C4E ?? sta Zp_08 ; CPU:$FC50 PRG:3C50 ?? lda Zp_09 ; CPU:$FC52 PRG:3C52 ?? clc ; CPU:$FC54 PRG:3C54 ?? adc #$20 ; CPU:$FC56 PRG:3C56 ?? sta Zp_09 ; CPU:$FC58 PRG:3C58 ?? lda #$00 ; CPU:$FC5A PRG:3C5A ?? adc Zp_0A ; CPU:$FC5C PRG:3C5C ?? sta Zp_0A ; CPU:$FC5E PRG:3C5E ?? tax ; CPU:$FC60 PRG:3C60 ?? ldy Zp_09 ; CPU:$FC62 PRG:3C62 ?? jmp Flow_FE90 ; CPU:$FC64 PRG:3C64 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FECC. ; Local behavior: Executes the decoded flow fecc sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FECC: jsr SetDefaultScroll ; CPU:$FC66 PRG:3C66 ?? rts ; CPU:$FC68 PRG:3C68 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Decode Attribute Stream. ; Local behavior: Executes the decoded decode attribute stream sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- DecodeAttributeStream: sty DataPointerLo ; CPU:$FC6A PRG:3C6A ?? stx DataPointerHi ; CPU:$FC6C PRG:3C6C ?? ldy #$00 ; CPU:$FC6E PRG:3C6E ?? sty ScratchValue1 ; CPU:$FC70 PRG:3C70 ?? lda (DataPointerLo),y ; CPU:$FC72 PRG:3C72 ?? sta StreamLength ; CPU:$FC74 PRG:3C74 ?? iny ; CPU:$FC76 PRG:3C76 ?? lda (DataPointerLo),y ; CPU:$FC78 PRG:3C78 ?? sta Zp_08 ; CPU:$FC7A PRG:3C7A ?? iny ; CPU:$FC7C PRG:3C7C ?? lda (DataPointerLo),y ; CPU:$FC7E PRG:3C7E ?? sta Ram_0501 ; CPU:$FC80 PRG:3C80 ?? iny ; CPU:$FC82 PRG:3C82 ?? lda (DataPointerLo),y ; CPU:$FC84 PRG:3C84 ?? sta Ram_0500 ; CPU:$FC86 PRG:3C86 ?? iny ; CPU:$FC88 PRG:3C88 ?? lda (DataPointerLo),y ; CPU:$FC8A PRG:3C8A ?? sta Ram_0502 ; CPU:$FC8C PRG:3C8C ?? sta ScratchValue0 ; CPU:$FC8E PRG:3C8E ?? ldx #$03 ; CPU:$FC90 PRG:3C90 ?? lda ScratchValue0 ; CPU:$FC92 PRG:3C92 ?? lsr a ; CPU:$FC94 PRG:3C94 ?? tay ; CPU:$FC96 PRG:3C96 ?? lsr ScratchValue0 ; CPU:$FC98 PRG:3C98 ?? bcs Flow_FF10 ; CPU:$FC9A PRG:3C9A ?? dey ; CPU:$FC9C PRG:3C9C ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FF00. ; Local behavior: Executes the decoded flow ff00 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FF00: lda (StreamLength),y ; CPU:$FC9E PRG:3C9E ?? lsr a ; CPU:$FCA0 PRG:3CA0 ?? lsr a ; CPU:$FCA2 PRG:3CA2 ?? lsr a ; CPU:$FCA4 PRG:3CA4 ?? lsr a ; CPU:$FCA6 PRG:3CA6 ?? clc ; CPU:$FCA8 PRG:3CA8 ?? adc #$10 ; CPU:$FCAA PRG:3CAA ?? jsr WriteRepeatedPpuValue ; CPU:$FCAC PRG:3CAC ?? sta Ram_0500,x ; CPU:$FCAE PRG:3CAE ?? inx ; CPU:$FCB0 PRG:3CB0 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FF10. ; Local behavior: Executes the decoded flow ff10 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FF10: lda (StreamLength),y ; CPU:$FCB2 PRG:3CB2 ?? and #$0F ; CPU:$FCB4 PRG:3CB4 ?? clc ; CPU:$FCB6 PRG:3CB6 ?? adc #$10 ; CPU:$FCB8 PRG:3CB8 ?? cpy #$00 ; CPU:$FCBA PRG:3CBA ?? beq Flow_FF1E ; CPU:$FCBC PRG:3CBC ?? jsr WriteRepeatedPpuValue ; CPU:$FCBE PRG:3CBE ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FF1 E. ; Local behavior: Executes the decoded flow ff1 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FF1E: sta Ram_0500,x ; CPU:$FCC0 PRG:3CC0 ?? inx ; CPU:$FCC2 PRG:3CC2 ?? dey ; CPU:$FCC4 PRG:3CC4 ?? bpl Flow_FF00 ; CPU:$FCC6 PRG:3CC6 ?? jsr ProcessGameState_CE86 ; CPU:$FCC8 PRG:3CC8 ?? jsr SetDefaultScroll ; CPU:$FCCA PRG:3CCA ?? rts ; CPU:$FCCC PRG:3CCC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Write Repeated Ppu Value. ; Local behavior: Executes the decoded write repeated ppu value sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- WriteRepeatedPpuValue: stx ScratchIndex ; CPU:$FCCE PRG:3CCE ?? cmp #$10 ; CPU:$FCD0 PRG:3CD0 ?? bne Flow_FF3B ; CPU:$FCD2 PRG:3CD2 ?? ldx ScratchValue1 ; CPU:$FCD4 PRG:3CD4 ?? bne Flow_FF38 ; CPU:$FCD6 PRG:3CD6 ?? lda #$00 ; CPU:$FCD8 PRG:3CD8 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FF38. ; Local behavior: Executes the decoded flow ff38 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FF38: ldx ScratchIndex ; CPU:$FCDA PRG:3CDA ?? rts ; CPU:$FCDC PRG:3CDC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FF3 B. ; Local behavior: Executes the decoded flow ff3 b sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FF3B: ldx #$01 ; CPU:$FCDE PRG:3CDE ?? stx ScratchValue1 ; CPU:$FCE0 PRG:3CE0 ?? ldx ScratchIndex ; CPU:$FCE2 PRG:3CE2 ?? rts ; CPU:$FCE4 PRG:3CE4 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Select Ppu Run Length. ; Local behavior: Executes the decoded select ppu run length sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- SelectPpuRunLength: ldy #$5E ; CPU:$FCE6 PRG:3CE6 ?? cmp #$00 ; CPU:$FCE8 PRG:3CE8 ?? beq Flow_FF4A ; CPU:$FCEA PRG:3CEA ?? ldy #$61 ; CPU:$FCEC PRG:3CEC ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FF4 A. ; Local behavior: Executes the decoded flow ff4 a sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FF4A: sty DataPointerLo ; CPU:$FCEE PRG:3CEE ?? lda #$00 ; CPU:$FCF0 PRG:3CF0 ?? sta DataPointerHi ; CPU:$FCF2 PRG:3CF2 ?? stx ScratchValue0 ; CPU:$FCF4 PRG:3CF4 ?? txa ; CPU:$FCF6 PRG:3CF6 ?? lsr a ; CPU:$FCF8 PRG:3CF8 ?? lsr a ; CPU:$FCFA PRG:3CFA ?? lsr a ; CPU:$FCFC PRG:3CFC ?? lsr a ; CPU:$FCFE PRG:3CFE ?? tax ; CPU:$FD00 PRG:3D00 ?? lda ScratchValue0 ; CPU:$FD02 PRG:3D02 ?? asl a ; CPU:$FD04 PRG:3D04 ?? asl a ; CPU:$FD06 PRG:3D06 ?? asl a ; CPU:$FD08 PRG:3D08 ?? asl a ; CPU:$FD0A PRG:3D0A ?? ldy #$00 ; CPU:$FD0C PRG:3D0C ?? clc ; CPU:$FD0E PRG:3D0E ?? adc (DataPointerLo),y ; CPU:$FD10 PRG:3D10 ?? jsr ConvertPackedDecimalDigit ; CPU:$FD12 PRG:3D12 ?? sta (DataPointerLo),y ; CPU:$FD14 PRG:3D14 ?? iny ; CPU:$FD16 PRG:3D16 ?? txa ; CPU:$FD18 PRG:3D18 ?? adc (DataPointerLo),y ; CPU:$FD1A PRG:3D1A ?? jsr ConvertPackedDecimalDigit ; CPU:$FD1C PRG:3D1C ?? sta (DataPointerLo),y ; CPU:$FD1E PRG:3D1E ?? iny ; CPU:$FD20 PRG:3D20 ?? lda #$00 ; CPU:$FD22 PRG:3D22 ?? adc (DataPointerLo),y ; CPU:$FD24 PRG:3D24 78 jsr ConvertPackedDecimalDigit ; CPU:$FD25 PRG:3D25 D8 sta (DataPointerLo),y ; CPU:$FD26 PRG:3D26 A9 00 rts ; CPU:$FD28 PRG:3D28 8D 00 20 ; ----------------------------------------------------------------------------- ; Global purpose: Set Main State. ; Local behavior: Executes the decoded set main state sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- SetMainState: sta MainGameState ; CPU:$FD2B PRG:3D2B 8D 01 20 rts ; CPU:$FD2E PRG:3D2E AD 02 20 ; ----------------------------------------------------------------------------- ; Global purpose: Nmi Handler. ; Local behavior: Executes the decoded nmi handler sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- NmiHandler: pha ; CPU:$FD31 PRG:3D31 10 FB txa ; CPU:$FD33 PRG:3D33 AD 02 20 pha ; CPU:$FD36 PRG:3D36 10 FB tya ; CPU:$FD38 PRG:3D38 20 EB FF pha ; CPU:$FD3B PRG:3D3B 85 14 lda #$00 ; CPU:$FD3D PRG:3D3D A9 08 sta OAMADDR ; CPU:$FD3F PRG:3D3F 85 13 lda #$07 ; CPU:$FD41 PRG:3D41 A9 80 sta OAMDMA ; CPU:$FD43 PRG:3D43 8D 17 40 sta NmiCompletedFlag ; CPU:$FD46 PRG:3D46 A2 FF lda PPUSTATUS ; CPU:$FD48 PRG:3D48 9A lda StageCompleteFlag ; CPU:$FD49 PRG:3D49 20 63 FD beq Flow_FF9E ; CPU:$FD4C PRG:3D4C 20 0E C0 jsr ProcessGameState_CEA3 ; CPU:$FD4F PRG:3D4F 20 9D FD lda #$00 ; CPU:$FD52 PRG:3D52 A5 16 sta StageCompleteFlag ; CPU:$FD54 PRG:3D54 0A ; ----------------------------------------------------------------------------- ; Global purpose: Flow FF9 E. ; Local behavior: Executes the decoded flow ff9 e sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FF9E: jsr ProcessPendingFrameTask ; CPU:$FD55 PRG:3D55 AA lda GameMode ; CPU:$FD56 PRG:3D56 BD 00 C0 beq Flow_FFA8 ; CPU:$FD59 PRG:3D59 85 05 jsr ProcessGameState_F493 ; CPU:$FD5B PRG:3D5B BD 01 C0 ; ----------------------------------------------------------------------------- ; Global purpose: Flow FFA8. ; Local behavior: Executes the decoded flow ffa8 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FFA8: pla ; CPU:$FD5E PRG:3D5E 85 06 tay ; CPU:$FD60 PRG:3D60 6C 05 00 pla ; CPU:$FD63 PRG:3D63 A9 00 tax ; CPU:$FD65 PRG:3D65 85 0E pla ; CPU:$FD67 PRG:3D67 85 4C rti ; CPU:$FD69 PRG:3D69 85 8F ; ----------------------------------------------------------------------------- ; Global purpose: Convert Packed Decimal Digit. ; Local behavior: Executes the decoded convert packed decimal digit sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- ConvertPackedDecimalDigit: sta ScratchValue1 ; CPU:$FD6B PRG:3D6B 85 4F and #$0F ; CPU:$FD6D PRG:3D6D 85 4E cmp #$0A ; CPU:$FD6F PRG:3D6F A9 90 bcc Flow_FFC6 ; CPU:$FD71 PRG:3D71 20 D8 C3 sec ; CPU:$FD74 PRG:3D74 20 AE FD sbc #$0A ; CPU:$FD77 PRG:3D77 20 83 FD ora #$10 ; CPU:$FD7A PRG:3D7A 20 9D FD sta ScratchIndex ; CPU:$FD7D PRG:3D7D A9 1A lda ScratchValue1 ; CPU:$FD7F PRG:3D7F 20 DE C3 and #$F0 ; CPU:$FD82 PRG:3D82 60 clc ; CPU:$FD83 PRG:3D83 A9 00 adc ScratchIndex ; CPU:$FD85 PRG:3D85 A2 FD sta ScratchValue1 ; CPU:$FD87 PRG:3D87 A0 8D ; ----------------------------------------------------------------------------- ; Global purpose: Flow FFC6. ; Local behavior: Executes the decoded flow ffc6 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FFC6: lda ScratchValue1 ; CPU:$FD89 PRG:3D89 20 F0 FD and #$F0 ; CPU:$FD8C PRG:3D8C 60 cmp #$A0 ; CPU:$FD8D PRG:3D8D ?? bcc Flow_FFD5 ; CPU:$FD8F PRG:3D8F ?? lda ScratchValue1 ; CPU:$FD91 PRG:3D91 ?? sec ; CPU:$FD93 PRG:3D93 ?? sbc #$A0 ; CPU:$FD95 PRG:3D95 ?? sec ; CPU:$FD97 PRG:3D97 ?? rts ; CPU:$FD99 PRG:3D99 ?? ; ----------------------------------------------------------------------------- ; Global purpose: Flow FFD5. ; Local behavior: Executes the decoded flow ffd5 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FFD5: lda ScratchValue1 ; CPU:$FD9B PRG:3D9B ?? clc ; CPU:$FD9D PRG:3D9D A5 0E rts ; CPU:$FD9F PRG:3D9F F0 FC ; ----------------------------------------------------------------------------- ; Global purpose: Decrement Packed Decimal Digit. ; Local behavior: Executes the decoded decrement packed decimal digit sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- DecrementPackedDecimalDigit: sta ScratchValue0 ; CPU:$FDA1 PRG:3DA1 A9 00 and #$0F ; CPU:$FDA3 PRG:3DA3 85 0E cmp #$0F ; CPU:$FDA5 PRG:3DA5 60 bne Flow_FFE8 ; CPU:$FDA6 PRG:3DA6 48 lda ScratchValue0 ; CPU:$FDA7 PRG:3DA7 AD 02 20 and #$F0 ; CPU:$FDAA PRG:3DAA 10 FB ora #$09 ; CPU:$FDAC PRG:3DAC 68 rts ; CPU:$FDAD PRG:3DAD 60 ; ----------------------------------------------------------------------------- ; Global purpose: Flow FFE8. ; Local behavior: Executes the decoded flow ffe8 sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- Flow_FFE8: lda ScratchValue0 ; CPU:$FDAE PRG:3DAE 20 D0 FD rts ; CPU:$FDB1 PRG:3DB1 20 D4 FD ; ----------------------------------------------------------------------------- ; Global purpose: Set Default Scroll. ; Local behavior: Executes the decoded set default scroll sequence at this entry point. ; Parameters: Determined by callers; refined during Pass 3 data-flow analysis. ; Returns: Returns or transfers control according to the decoded instructions. ; Clobbers: Determined from the instructions below; refined in Pass 3. ; ----------------------------------------------------------------------------- SetDefaultScroll: lda #$08 ; CPU:$FDB4 PRG:3DB4 A2 00 sta PPUSCROLL ; CPU:$FDB6 PRG:3DB6 A0 40 lda #$00 ; CPU:$FDB8 PRG:3DB8 A9 F0 sta PPUSCROLL ; CPU:$FDBA PRG:3DBA 9D 00 07 rts ; CPU:$FDBD PRG:3DBD A9 00 .byte $00,$FF,$FF,$FF ; PRG $3FF6 | CPU $FFF6 ; CPU:$FDBF PRG:3DBF 00 FF FF FF ; Interrupt vectors .word NmiHandler ; CPU:$FDC3 PRG:3DC3 E8 .word ResetHandler ; CPU:$FDC5 PRG:3DC5 ?? .word ResetHandler ; CPU:$FDC7 PRG:3DC7 E8