; Pinball (JU) NES disassembly - Pass 1 ; Byte-oriented ca65 source generated from the supplied PRG image. ; Recursively reachable instructions are emitted explicitly with address/byte comments. ; Unreached bytes remain explicit .byte blocks; no ROM byte is deleted or reformatted. ; Pass 2 replaces address-derived labels, RAM aliases, and table names while ; preserving byte identity. ; ; Vectors: NMI=$C1ED RESET=$C000 IRQ=$C1ED ; PRG mapped at $C000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): ; 10 further routine entries recovered from table references elsewhere in the image: ; $CD9C, $CDA5, $CE4E, $DDC7, $DDC9, $DDD0, $DDD9, $DDFA, $DE1B, $DE52 ; entries seeded by hand after inspecting code-shaped but unreferenced blocks: ; $C1ED, $C000 ; .setcpu "6502" .include "symbols.inc" .include "locals.inc" .segment "PRG" ; ----------------------------------------------------------------------------- ; Routine: Reset ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- Reset: cld ; CPU:$C000 PRG:0000 D8 sei ; CPU:$C001 PRG:0001 78 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlank_E023_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlank_E023_1: lda PPUSTATUS ; CPU:$C002 PRG:0002 AD 02 20 bpl WaitVBlank_E023_1 ; CPU:$C005 PRG:0005 10 FB ldx #$FF ; CPU:$C007 PRG:0007 A2 FF txs ; CPU:$C009 PRG:0009 9A lda #$00 ; CPU:$C00A PRG:000A A9 00 tax ; CPU:$C00C PRG:000C AA ; ----------------------------------------------------------------------------- ; Routine: ClearZeropage ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ClearZeropage: sta Zp00,x ; CPU:$C00D PRG:000D 95 00 inx ; CPU:$C00F PRG:000F E8 bne ClearZeropage ; CPU:$C010 PRG:0010 D0 FB tay ; CPU:$C012 PRG:0012 A8 sta PPUCTRL ; CPU:$C013 PRG:0013 8D 00 20 sta PPUMASK ; CPU:$C016 PRG:0016 8D 01 20 ldx #$57 ; CPU:$C019 PRG:0019 A2 57 lda #$00 ; CPU:$C01B PRG:001B A9 00 ; ----------------------------------------------------------------------------- ; Routine: SubCC01D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC01D: sta $0100,x ; CPU:$C01D PRG:001D 9D 00 01 dex ; CPU:$C020 PRG:0020 CA bpl SubCC01D ; CPU:$C021 PRG:0021 10 FA ; ----------------------------------------------------------------------------- ; Routine: InitGameState ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState: lda ZpE6 ; CPU:$C023 PRG:0023 A5 E6 sta Zp06 ; CPU:$C025 PRG:0025 85 06 sta Zp08 ; CPU:$C027 PRG:0027 85 08 jsr UpdateBumperChain ; CPU:$C029 PRG:0029 20 DD DC ldx ZpE6 ; CPU:$C02C PRG:002C A6 E6 lda Zp06 ; CPU:$C02E PRG:002E A5 06 sta $0300,x ; CPU:$C030 PRG:0030 9D 00 03 inc ZpE6 ; CPU:$C033 PRG:0033 E6 E6 bne InitGameState ; CPU:$C035 PRG:0035 D0 EC lda #$1E ; CPU:$C037 PRG:0037 A9 1E sta Zp01 ; CPU:$C039 PRG:0039 85 01 ; ----------------------------------------------------------------------------- ; Routine: MainGameLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- MainGameLoop: jsr GameStateUpdate ; CPU:$C03B PRG:003B 20 7F C2 lda #$10 ; CPU:$C03E PRG:003E A9 10 sta Zp00 ; CPU:$C040 PRG:0040 85 00 lda Zp04 ; CPU:$C042 PRG:0042 A5 04 bne InitLevel ; CPU:$C044 PRG:0044 D0 12 ldx #$0D ; CPU:$C046 PRG:0046 A2 0D lda #$00 ; CPU:$C048 PRG:0048 A9 00 ; ----------------------------------------------------------------------------- ; Routine: ClearSpriteRAM ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ClearSpriteRAM: sta $0100,x ; CPU:$C04A PRG:004A 9D 00 01 dex ; CPU:$C04D PRG:004D CA bpl ClearSpriteRAM ; CPU:$C04E PRG:004E 10 FA lda #$03 ; CPU:$C050 PRG:0050 A9 03 sta $0151 ; CPU:$C052 PRG:0052 8D 51 01 sta $0152 ; CPU:$C055 PRG:0055 8D 52 01 ; ----------------------------------------------------------------------------- ; Routine: InitLevel ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitLevel: jsr InitSprites ; CPU:$C058 PRG:0058 20 9B E0 jsr UpdateMusicChannel11 ; CPU:$C05B PRG:005B 20 06 ED jsr UpdateMusicChannel14 ; CPU:$C05E PRG:005E 20 F2 ED lda ZpBD ; CPU:$C061 PRG:0061 A5 BD beq SubCC06C ; CPU:$C063 PRG:0063 F0 07 inc ZpBE ; CPU:$C065 PRG:0065 E6 BE jsr UpdateMusicChannel14 ; CPU:$C067 PRG:0067 20 F2 ED dec ZpBE ; CPU:$C06A PRG:006A C6 BE ; ----------------------------------------------------------------------------- ; Routine: SubCC06C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC06C: lda #$90 ; CPU:$C06C PRG:006C A9 90 sta Zp00 ; CPU:$C06E PRG:006E 85 00 lda #$00 ; CPU:$C070 PRG:0070 A9 00 ldx #$0E ; CPU:$C072 PRG:0072 A2 0E ; ----------------------------------------------------------------------------- ; Routine: SubCC074 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC074: sta $0127,x ; CPU:$C074 PRG:0074 9D 27 01 dex ; CPU:$C077 PRG:0077 CA bpl SubCC074 ; CPU:$C078 PRG:0078 10 FA sta $014D ; CPU:$C07A PRG:007A 8D 4D 01 sta ZpC7 ; CPU:$C07D PRG:007D 85 C7 sta ZpC8 ; CPU:$C07F PRG:007F 85 C8 tax ; CPU:$C081 PRG:0081 AA lda #$08 ; CPU:$C082 PRG:0082 A9 08 sta ZpD0 ; CPU:$C084 PRG:0084 85 D0 stx Zp1C ; CPU:$C086 PRG:0086 86 1C stx ZpCF ; CPU:$C088 PRG:0088 86 CF inx ; CPU:$C08A PRG:008A E8 jsr SubCCCE9 ; CPU:$C08B PRG:008B 20 E9 CC lda #$46 ; CPU:$C08E PRG:008E A9 46 jsr UpdateMusicChannel16 ; CPU:$C090 PRG:0090 20 4D EE lda $014A ; CPU:$C093 PRG:0093 AD 4A 01 bne CheckGameMode ; CPU:$C096 PRG:0096 D0 03 jsr UpdateDisplay3 ; CPU:$C098 PRG:0098 20 97 E4 ; ----------------------------------------------------------------------------- ; Routine: CheckGameMode ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckGameMode: lda Zp04 ; CPU:$C09B PRG:009B A5 04 bne GameModeTitle ; CPU:$C09D PRG:009D D0 0F lda #$DC ; CPU:$C09F PRG:009F A9 DC sta $0135 ; CPU:$C0A1 PRG:00A1 8D 35 01 ; ----------------------------------------------------------------------------- ; Routine: SubCC0A4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC0A4: lda $0135 ; CPU:$C0A4 PRG:00A4 AD 35 01 bne SubCC0A4 ; CPU:$C0A7 PRG:00A7 D0 FB ldx ZpBE ; CPU:$C0A9 PRG:00A9 A6 BE dec $0151,x ; CPU:$C0AB PRG:00AB DE 51 01 ; ----------------------------------------------------------------------------- ; Routine: GameModeTitle ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- GameModeTitle: lda #$05 ; CPU:$C0AE PRG:00AE A9 05 sta Zp1E ; CPU:$C0B0 PRG:00B0 85 1E lda #$50 ; CPU:$C0B2 PRG:00B2 A9 50 sta ZpB7 ; CPU:$C0B4 PRG:00B4 85 B7 lda #$80 ; CPU:$C0B6 PRG:00B6 A9 80 sta ZpB8 ; CPU:$C0B8 PRG:00B8 85 B8 bne UpdateFrameCounter ; CPU:$C0BA PRG:00BA D0 17 ; ----------------------------------------------------------------------------- ; Routine: GameModePlay ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- GameModePlay: jsr UpdateSprites_C34B_1 ; CPU:$C0BC PRG:00BC 20 81 C1 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlank_E023Frame ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlank_E023Frame: jsr WaitVBlank_E0232 ; CPU:$C0BF PRG:00BF 20 2C E0 jsr WaitFrame ; CPU:$C0C2 PRG:00C2 20 46 E0 and #$10 ; CPU:$C0C5 PRG:00C5 29 10 bne CheckController ; CPU:$C0C7 PRG:00C7 D0 03 jmp WaitVBlank_E023Frame ; CPU:$C0C9 PRG:00C9 4C BF C0 ; ----------------------------------------------------------------------------- ; Routine: CheckController ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckController: lda #$04 ; CPU:$C0CC PRG:00CC A9 04 sta ZpFD ; CPU:$C0CE PRG:00CE 85 FD jsr UpdateSprites_C34B_1 ; CPU:$C0D0 PRG:00D0 20 81 C1 ; ----------------------------------------------------------------------------- ; Routine: UpdateFrameCounter ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateFrameCounter: inc Zp05 ; CPU:$C0D3 PRG:00D3 E6 05 lda #$00 ; CPU:$C0D5 PRG:00D5 A9 00 sta Zp02 ; CPU:$C0D7 PRG:00D7 85 02 jsr InitPPU ; CPU:$C0D9 PRG:00D9 20 49 E0 jsr SubCCBA7 ; CPU:$C0DC PRG:00DC 20 A7 CB jsr UpdateDisplay ; CPU:$C0DF PRG:00DF 20 0E E4 lda Zp1D ; CPU:$C0E2 PRG:00E2 A5 1D beq CheckHighScore ; CPU:$C0E4 PRG:00E4 F0 03 jmp UpdateSpritePositions ; CPU:$C0E6 PRG:00E6 4C 8F C1 ; ----------------------------------------------------------------------------- ; Routine: CheckHighScore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckHighScore: jsr UpdateMusic2 ; CPU:$C0E9 PRG:00E9 20 80 EC lda ZpBF ; CPU:$C0EC PRG:00EC A5 BF cmp #$02 ; CPU:$C0EE PRG:00EE C9 02 beq ProcessController ; CPU:$C0F0 PRG:00F0 F0 1C lda $014A ; CPU:$C0F2 PRG:00F2 AD 4A 01 beq SubCC10B ; CPU:$C0F5 PRG:00F5 F0 14 lda Zp04 ; CPU:$C0F7 PRG:00F7 A5 04 bne SubCC10B ; CPU:$C0F9 PRG:00F9 D0 10 ldx ZpBE ; CPU:$C0FB PRG:00FB A6 BE lda $010C,x ; CPU:$C0FD PRG:00FD BD 0C 01 bne ProcessController ; CPU:$C100 PRG:0100 D0 0C inc $010C,x ; CPU:$C102 PRG:0102 FE 0C 01 jsr InitGame ; CPU:$C105 PRG:0105 20 FD E0 jmp ProcessController ; CPU:$C108 PRG:0108 4C 0E C1 ; ----------------------------------------------------------------------------- ; Routine: SubCC10B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC10B: jsr UpdateDisplay3 ; CPU:$C10B PRG:010B 20 97 E4 ; ----------------------------------------------------------------------------- ; Routine: ProcessController ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessController: lda ZpBF ; CPU:$C10E PRG:010E A5 BF bne SubCC121 ; CPU:$C110 PRG:0110 D0 0F jsr UpdateMusicChannel ; CPU:$C112 PRG:0112 20 8F E6 jsr UpdateMusicChannel10 ; CPU:$C115 PRG:0115 20 8D EC jsr UpdateMusicChannel22 ; CPU:$C118 PRG:0118 20 6F F0 jsr UpdateMusicChannel24 ; CPU:$C11B PRG:011B 20 DF F0 jsr UpdateMusicChannel35 ; CPU:$C11E PRG:011E 20 4B F4 ; ----------------------------------------------------------------------------- ; Routine: SubCC121 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC121: ldx ZpBF ; CPU:$C121 PRG:0121 A6 BF dex ; CPU:$C123 PRG:0123 CA bne SubCC12F ; CPU:$C124 PRG:0124 D0 09 jsr UpdateMusicChannel26 ; CPU:$C126 PRG:0126 20 38 F1 jsr UpdateMusicChannel33 ; CPU:$C129 PRG:0129 20 E8 F3 jsr UpdateMusicChannel34 ; CPU:$C12C PRG:012C 20 1E F4 ; ----------------------------------------------------------------------------- ; Routine: SubCC12F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC12F: lda ZpBF ; CPU:$C12F PRG:012F A5 BF cmp #$02 ; CPU:$C131 PRG:0131 C9 02 bne SubCC145 ; CPU:$C133 PRG:0133 D0 10 jsr UpdateMusicChannel2 ; CPU:$C135 PRG:0135 20 AC E7 lda $011E ; CPU:$C138 PRG:0138 AD 1E 01 bmi SubCC18C ; CPU:$C13B PRG:013B 30 4F beq SubCC142 ; CPU:$C13D PRG:013D F0 03 jsr UpdateSoundChannels ; CPU:$C13F PRG:013F 20 2F EA ; ----------------------------------------------------------------------------- ; Routine: SubCC142 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC142: jsr UpdateMusicChannel29 ; CPU:$C142 PRG:0142 20 26 F2 ; ----------------------------------------------------------------------------- ; Routine: SubCC145 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC145: lda Zp02 ; CPU:$C145 PRG:0145 A5 02 beq SubCC145 ; CPU:$C147 PRG:0147 F0 FC jsr WaitFrame ; CPU:$C149 PRG:0149 20 46 E0 and #$30 ; CPU:$C14C PRG:014C 29 30 beq SubCC157 ; CPU:$C14E PRG:014E F0 07 lda Zp04 ; CPU:$C150 PRG:0150 A5 04 beq SubCC157 ; CPU:$C152 PRG:0152 F0 03 jmp MainGameLoop ; CPU:$C154 PRG:0154 4C 3B C0 ; ----------------------------------------------------------------------------- ; Routine: SubCC157 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC157: lda ZpB6 ; CPU:$C157 PRG:0157 A5 B6 and #$10 ; CPU:$C159 PRG:0159 29 10 bne SubCC160 ; CPU:$C15B PRG:015B D0 03 jmp UpdateFrameCounter ; CPU:$C15D PRG:015D 4C D3 C0 ; ----------------------------------------------------------------------------- ; Routine: SubCC160 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC160: lda #$04 ; CPU:$C160 PRG:0160 A9 04 sta ZpFD ; CPU:$C162 PRG:0162 85 FD jsr UpdateSprites_C34B3 ; CPU:$C164 PRG:0164 20 8C E4 jmp GameModePlay ; CPU:$C167 PRG:0167 4C BC C0 ; ---- data $C16A-$C180 (23 bytes) ---- .byte $42, $59, $20, $53, $2E, $4D, $41, $54, $53, $55, $4F, $4B, $41, $20, $26, $20 ; CPU:$C16A PRG:016A 42 59 20 53 2E 4D 41 54 53 55 4F 4B 41 20 26 20 .byte $53, $2E, $49, $57, $41, $54, $41 ; CPU:$C17A PRG:017A 53 2E 49 57 41 54 41 ; ----------------------------------------------------------------------------- ; Routine: UpdateSprites_C34B_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSprites_C34B_1: jsr WaitVBlank_E0232 ; CPU:$C181 PRG:0181 20 2C E0 jsr WaitFrame ; CPU:$C184 PRG:0184 20 46 E0 and #$10 ; CPU:$C187 PRG:0187 29 10 bne UpdateSprites_C34B_1 ; CPU:$C189 PRG:0189 D0 F6 rts ; CPU:$C18B PRG:018B 60 ; ----------------------------------------------------------------------------- ; Routine: SubCC18C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC18C: jsr WaitVBlank_E023Loop ; CPU:$C18C PRG:018C 20 23 E0 ; ----------------------------------------------------------------------------- ; Routine: UpdateSpritePositions ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSpritePositions: jsr UpdateSprites_C34B3 ; CPU:$C18F PRG:018F 20 8C E4 lda Zp04 ; CPU:$C192 PRG:0192 A5 04 bne SubCC1EA ; CPU:$C194 PRG:0194 D0 54 ldx ZpBE ; CPU:$C196 PRG:0196 A6 BE lda $0151,x ; CPU:$C198 PRG:0198 BD 51 01 bne SubCC1C5 ; CPU:$C19B PRG:019B D0 28 jsr WaitVBlank_E023Loop ; CPU:$C19D PRG:019D 20 23 E0 jsr CheckGameState ; CPU:$C1A0 PRG:01A0 20 03 E4 lda #$8A ; CPU:$C1A3 PRG:01A3 A9 8A sta PPUCTRL ; CPU:$C1A5 PRG:01A5 8D 00 20 inc $014C ; CPU:$C1A8 PRG:01A8 EE 4C 01 inc $014D ; CPU:$C1AB PRG:01AB EE 4D 01 lda #$30 ; CPU:$C1AE PRG:01AE A9 30 sta $0155 ; CPU:$C1B0 PRG:01B0 8D 55 01 jsr WaitVBlank_E023Loop ; CPU:$C1B3 PRG:01B3 20 23 E0 dec $014C ; CPU:$C1B6 PRG:01B6 CE 4C 01 lda ZpBD ; CPU:$C1B9 PRG:01B9 A5 BD beq SubCC1EA ; CPU:$C1BB PRG:01BB F0 2D lda $0151 ; CPU:$C1BD PRG:01BD AD 51 01 ora $0152 ; CPU:$C1C0 PRG:01C0 0D 52 01 beq SubCC1EA ; CPU:$C1C3 PRG:01C3 F0 25 ; ----------------------------------------------------------------------------- ; Routine: SubCC1C5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC1C5: lda ZpBD ; CPU:$C1C5 PRG:01C5 A5 BD beq SubCC1E7 ; CPU:$C1C7 PRG:01C7 F0 1E lda ZpBE ; CPU:$C1C9 PRG:01C9 A5 BE eor #$01 ; CPU:$C1CB PRG:01CB 49 01 tay ; CPU:$C1CD PRG:01CD A8 lda $0151,y ; CPU:$C1CE PRG:01CE B9 51 01 beq SubCC1E7 ; CPU:$C1D1 PRG:01D1 F0 14 lda $014D ; CPU:$C1D3 PRG:01D3 AD 4D 01 bne SubCC1DD ; CPU:$C1D6 PRG:01D6 D0 05 ldx #$3C ; CPU:$C1D8 PRG:01D8 A2 3C jsr WaitVBlank_E023_3 ; CPU:$C1DA PRG:01DA 20 25 E0 ; ----------------------------------------------------------------------------- ; Routine: SubCC1DD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC1DD: jsr UpdateBallPhysics ; CPU:$C1DD PRG:01DD 20 A6 E2 ldx #$1E ; CPU:$C1E0 PRG:01E0 A2 1E jsr WaitVBlank_E023_3 ; CPU:$C1E2 PRG:01E2 20 25 E0 sty ZpBE ; CPU:$C1E5 PRG:01E5 84 BE ; ----------------------------------------------------------------------------- ; Routine: SubCC1E7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC1E7: jmp SubCC06C ; CPU:$C1E7 PRG:01E7 4C 6C C0 ; ----------------------------------------------------------------------------- ; Routine: SubCC1EA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC1EA: jmp MainGameLoop ; CPU:$C1EA PRG:01EA 4C 3B C0 ; ----------------------------------------------------------------------------- ; Routine: NmiHandler ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiHandler: pha ; CPU:$C1ED PRG:01ED 48 txa ; CPU:$C1EE PRG:01EE 8A pha ; CPU:$C1EF PRG:01EF 48 tya ; CPU:$C1F0 PRG:01F0 98 pha ; CPU:$C1F1 PRG:01F1 48 lda #$00 ; CPU:$C1F2 PRG:01F2 A9 00 sta OAMADDR ; CPU:$C1F4 PRG:01F4 8D 03 20 lda #$02 ; CPU:$C1F7 PRG:01F7 A9 02 sta OAMDMA ; CPU:$C1F9 PRG:01F9 8D 14 40 lda $0153 ; CPU:$C1FC PRG:01FC AD 53 01 beq SubCC20B ; CPU:$C1FF PRG:01FF F0 0A lda Zp01 ; CPU:$C201 PRG:0201 A5 01 sta PPUMASK ; CPU:$C203 PRG:0203 8D 01 20 lda #$00 ; CPU:$C206 PRG:0206 A9 00 sta $0153 ; CPU:$C208 PRG:0208 8D 53 01 ; ----------------------------------------------------------------------------- ; Routine: SubCC20B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC20B: lda Zp03 ; CPU:$C20B PRG:020B A5 03 bne NmiFrameEnd ; CPU:$C20D PRG:020D D0 4B lda ZpBF ; CPU:$C20F PRG:020F A5 BF cmp #$02 ; CPU:$C211 PRG:0211 C9 02 beq SubCC231 ; CPU:$C213 PRG:0213 F0 1C ldy $0155 ; CPU:$C215 PRG:0215 AC 55 01 beq SubCC231 ; CPU:$C218 PRG:0218 F0 17 ldx #$3F ; CPU:$C21A PRG:021A A2 3F lda #$00 ; CPU:$C21C PRG:021C A9 00 jsr WritePPU ; CPU:$C21E PRG:021E 20 EF E0 ldx #$0F ; CPU:$C221 PRG:0221 A2 0F ; ----------------------------------------------------------------------------- ; Routine: SubCC223 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC223: lda $E3B2,x ; CPU:$C223 PRG:0223 BD B2 E3 cmp #$12 ; CPU:$C226 PRG:0226 C9 12 bne SubCC22B ; CPU:$C228 PRG:0228 D0 01 tya ; CPU:$C22A PRG:022A 98 ; ----------------------------------------------------------------------------- ; Routine: SubCC22B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC22B: sta PPUDATA ; CPU:$C22B PRG:022B 8D 07 20 dex ; CPU:$C22E PRG:022E CA bpl SubCC223 ; CPU:$C22F PRG:022F 10 F2 ; ----------------------------------------------------------------------------- ; Routine: SubCC231 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC231: lda $014C ; CPU:$C231 PRG:0231 AD 4C 01 bne HandleBonus ; CPU:$C234 PRG:0234 D0 39 jsr UpdateMusicChannel13 ; CPU:$C236 PRG:0236 20 ED ED jsr UpdateMusicChannel12 ; CPU:$C239 PRG:0239 20 B0 ED jsr UpdateSoundChannel9 ; CPU:$C23C PRG:023C 20 F9 EB jsr SubCE5B6 ; CPU:$C23F PRG:023F 20 B6 E5 jsr UpdateMusicChannel31 ; CPU:$C242 PRG:0242 20 21 F3 jsr UpdateMusicChannel19 ; CPU:$C245 PRG:0245 20 D3 EF jsr UpdateSoundChannel8 ; CPU:$C248 PRG:0248 20 9D EB jsr UpdateMusicChannel17 ; CPU:$C24B PRG:024B 20 28 EF jsr UpdateMusicChannel32 ; CPU:$C24E PRG:024E 20 B9 F3 lda ZpBF ; CPU:$C251 PRG:0251 A5 BF cmp #$02 ; CPU:$C253 PRG:0253 C9 02 bne NmiFrameEnd ; CPU:$C255 PRG:0255 D0 03 jsr UpdateMusicChannel30 ; CPU:$C257 PRG:0257 20 F0 F2 ; ----------------------------------------------------------------------------- ; Routine: NmiFrameEnd ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiFrameEnd: lda #$00 ; CPU:$C25A PRG:025A A9 00 sta PPUSCROLL ; CPU:$C25C PRG:025C 8D 05 20 sta PPUSCROLL ; CPU:$C25F PRG:025F 8D 05 20 jsr ResetVector ; CPU:$C262 PRG:0262 20 F7 FF lda #$01 ; CPU:$C265 PRG:0265 A9 01 sta Zp02 ; CPU:$C267 PRG:0267 85 02 pla ; CPU:$C269 PRG:0269 68 tay ; CPU:$C26A PRG:026A A8 pla ; CPU:$C26B PRG:026B 68 tax ; CPU:$C26C PRG:026C AA pla ; CPU:$C26D PRG:026D 68 rti ; CPU:$C26E PRG:026E 40 ; ----------------------------------------------------------------------------- ; Routine: HandleBonus ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleBonus: clc ; CPU:$C26F PRG:026F 18 lda ZpBE ; CPU:$C270 PRG:0270 A5 BE adc #$8B ; CPU:$C272 PRG:0272 69 8B tay ; CPU:$C274 PRG:0274 A8 ldx #$29 ; CPU:$C275 PRG:0275 A2 29 lda #$93 ; CPU:$C277 PRG:0277 A9 93 jsr WritePPU2 ; CPU:$C279 PRG:0279 20 F6 E0 jmp NmiFrameEnd ; CPU:$C27C PRG:027C 4C 5A C2 ; ----------------------------------------------------------------------------- ; Routine: GameStateUpdate ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- GameStateUpdate: inc Zp03 ; CPU:$C27F PRG:027F E6 03 jsr UpdateBallPhysics ; CPU:$C281 PRG:0281 20 A6 E2 lda #$00 ; CPU:$C284 PRG:0284 A9 00 sta ZpBE ; CPU:$C286 PRG:0286 85 BE sta Zp04 ; CPU:$C288 PRG:0288 85 04 jsr WaitFrame ; CPU:$C28A PRG:028A 20 46 E0 and #$10 ; CPU:$C28D PRG:028D 29 10 beq InitBallLaunch ; CPU:$C28F PRG:028F F0 03 jmp UpdateBallTrajectory_E278_1 ; CPU:$C291 PRG:0291 4C B7 C3 ; ----------------------------------------------------------------------------- ; Routine: InitBallLaunch ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitBallLaunch: jsr CheckGameState ; CPU:$C294 PRG:0294 20 03 E4 lda #$08 ; CPU:$C297 PRG:0297 A9 08 sta PPUCTRL ; CPU:$C299 PRG:0299 8D 00 20 sta Zp00 ; CPU:$C29C PRG:029C 85 00 lda #$6B ; CPU:$C29E PRG:029E A9 6B sta ZpE1 ; CPU:$C2A0 PRG:02A0 85 E1 lda #$C5 ; CPU:$C2A2 PRG:02A2 A9 C5 sta ZpE2 ; CPU:$C2A4 PRG:02A4 85 E2 ldy #$13 ; CPU:$C2A6 PRG:02A6 A0 13 jsr InitSprites2 ; CPU:$C2A8 PRG:02A8 20 93 E2 ldx #$20 ; CPU:$C2AB PRG:02AB A2 20 lda #$00 ; CPU:$C2AD PRG:02AD A9 00 jsr DrawGameOverScreen ; CPU:$C2AF PRG:02AF 20 E0 C3 ldx #$28 ; CPU:$C2B2 PRG:02B2 A2 28 lda #$00 ; CPU:$C2B4 PRG:02B4 A9 00 jsr DrawGameOverScreen ; CPU:$C2B6 PRG:02B6 20 E0 C3 ldx #$00 ; CPU:$C2B9 PRG:02B9 A2 00 ldy #$00 ; CPU:$C2BB PRG:02BB A0 00 ; ----------------------------------------------------------------------------- ; Routine: SubCC2BD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC2BD: lda $C50B,x ; CPU:$C2BD PRG:02BD BD 0B C5 sta PPUADDR ; CPU:$C2C0 PRG:02C0 8D 06 20 inx ; CPU:$C2C3 PRG:02C3 E8 lda $C50B,x ; CPU:$C2C4 PRG:02C4 BD 0B C5 sta PPUADDR ; CPU:$C2C7 PRG:02C7 8D 06 20 inx ; CPU:$C2CA PRG:02CA E8 lda #$0E ; CPU:$C2CB PRG:02CB A9 0E sta ZpE6 ; CPU:$C2CD PRG:02CD 85 E6 ; ----------------------------------------------------------------------------- ; Routine: SubCC2CF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC2CF: lda $C400,y ; CPU:$C2CF PRG:02CF B9 00 C4 sta PPUDATA ; CPU:$C2D2 PRG:02D2 8D 07 20 iny ; CPU:$C2D5 PRG:02D5 C8 dec ZpE6 ; CPU:$C2D6 PRG:02D6 C6 E6 bne SubCC2CF ; CPU:$C2D8 PRG:02D8 D0 F5 cpx #$0C ; CPU:$C2DA PRG:02DA E0 0C bne SubCC2BD ; CPU:$C2DC PRG:02DC D0 DF ; ----------------------------------------------------------------------------- ; Routine: DrawPlayfield ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawPlayfield: lda $C50B,x ; CPU:$C2DE PRG:02DE BD 0B C5 sta PPUADDR ; CPU:$C2E1 PRG:02E1 8D 06 20 inx ; CPU:$C2E4 PRG:02E4 E8 lda $C50B,x ; CPU:$C2E5 PRG:02E5 BD 0B C5 sta PPUADDR ; CPU:$C2E8 PRG:02E8 8D 06 20 inx ; CPU:$C2EB PRG:02EB E8 lda #$13 ; CPU:$C2EC PRG:02EC A9 13 sta ZpE6 ; CPU:$C2EE PRG:02EE 85 E6 ; ----------------------------------------------------------------------------- ; Routine: SubCC2F0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC2F0: lda $C400,y ; CPU:$C2F0 PRG:02F0 B9 00 C4 sta PPUDATA ; CPU:$C2F3 PRG:02F3 8D 07 20 iny ; CPU:$C2F6 PRG:02F6 C8 dec ZpE6 ; CPU:$C2F7 PRG:02F7 C6 E6 bne SubCC2F0 ; CPU:$C2F9 PRG:02F9 D0 F5 cpx #$18 ; CPU:$C2FB PRG:02FB E0 18 bne DrawPlayfield ; CPU:$C2FD PRG:02FD D0 DF ldx #$00 ; CPU:$C2FF PRG:02FF A2 00 ; ----------------------------------------------------------------------------- ; Routine: DrawStatusBar ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawStatusBar: lda $C523,x ; CPU:$C301 PRG:0301 BD 23 C5 sta PPUADDR ; CPU:$C304 PRG:0304 8D 06 20 lda $C524,x ; CPU:$C307 PRG:0307 BD 24 C5 sta PPUADDR ; CPU:$C30A PRG:030A 8D 06 20 lda $C503,x ; CPU:$C30D PRG:030D BD 03 C5 sta PPUDATA ; CPU:$C310 PRG:0310 8D 07 20 ldy #$00 ; CPU:$C313 PRG:0313 A0 00 ; ----------------------------------------------------------------------------- ; Routine: SubCC315 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC315: lda $C4F6,y ; CPU:$C315 PRG:0315 B9 F6 C4 sta PPUDATA ; CPU:$C318 PRG:0318 8D 07 20 iny ; CPU:$C31B PRG:031B C8 cpy #$0D ; CPU:$C31C PRG:031C C0 0D bne SubCC315 ; CPU:$C31E PRG:031E D0 F5 lda $C504,x ; CPU:$C320 PRG:0320 BD 04 C5 sta PPUDATA ; CPU:$C323 PRG:0323 8D 07 20 inx ; CPU:$C326 PRG:0326 E8 inx ; CPU:$C327 PRG:0327 E8 cpx #$08 ; CPU:$C328 PRG:0328 E0 08 bne DrawStatusBar ; CPU:$C32A PRG:032A D0 D5 ldy #$00 ; CPU:$C32C PRG:032C A0 00 ; ----------------------------------------------------------------------------- ; Routine: DrawDigits ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawDigits: ldx $C4C6,y ; CPU:$C32E PRG:032E BE C6 C4 beq UpdateSprites_C34B_3 ; CPU:$C331 PRG:0331 F0 18 iny ; CPU:$C333 PRG:0333 C8 lda $C4C6,y ; CPU:$C334 PRG:0334 B9 C6 C4 jsr WritePPU ; CPU:$C337 PRG:0337 20 EF E0 iny ; CPU:$C33A PRG:033A C8 ldx $C4C6,y ; CPU:$C33B PRG:033B BE C6 C4 iny ; CPU:$C33E PRG:033E C8 ; ----------------------------------------------------------------------------- ; Routine: SubCC33F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC33F: lda $C4C6,y ; CPU:$C33F PRG:033F B9 C6 C4 iny ; CPU:$C342 PRG:0342 C8 sta PPUDATA ; CPU:$C343 PRG:0343 8D 07 20 dex ; CPU:$C346 PRG:0346 CA bne SubCC33F ; CPU:$C347 PRG:0347 D0 F6 beq DrawDigits ; CPU:$C349 PRG:0349 F0 E3 ; ----------------------------------------------------------------------------- ; Routine: UpdateSprites_C34B_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSprites_C34B_3: ldx #$02 ; CPU:$C34B PRG:034B A2 02 ; ----------------------------------------------------------------------------- ; Routine: SubCC34D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC34D: lda $C57F,x ; CPU:$C34D PRG:034D BD 7F C5 sta $0201,x ; CPU:$C350 PRG:0350 9D 01 02 dex ; CPU:$C353 PRG:0353 CA bpl SubCC34D ; CPU:$C354 PRG:0354 10 F7 ldx $014F ; CPU:$C356 PRG:0356 AE 4F 01 lda $C582,x ; CPU:$C359 PRG:0359 BD 82 C5 sta $0200 ; CPU:$C35C PRG:035C 8D 00 02 jsr UpdateBallTrajectory_E278_3 ; CPU:$C35F PRG:035F 20 78 E2 inc ZpB9 ; CPU:$C362 PRG:0362 E6 B9 lda #$78 ; CPU:$C364 PRG:0364 A9 78 sta $014E ; CPU:$C366 PRG:0366 8D 4E 01 lda $0150 ; CPU:$C369 PRG:0369 AD 50 01 inc $0150 ; CPU:$C36C PRG:036C EE 50 01 and #$03 ; CPU:$C36F PRG:036F 29 03 bne BallPhysicsMain ; CPU:$C371 PRG:0371 D0 09 lda #$0F ; CPU:$C373 PRG:0373 A9 0F sta APUSTATUS ; CPU:$C375 PRG:0375 8D 15 40 lda #$02 ; CPU:$C378 PRG:0378 A9 02 sta ZpFD ; CPU:$C37A PRG:037A 85 FD ; ----------------------------------------------------------------------------- ; Routine: BallPhysicsMain ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- BallPhysicsMain: jsr WaitVBlank_E0232 ; CPU:$C37C PRG:037C 20 2C E0 inc Zp05 ; CPU:$C37F PRG:037F E6 05 lda Zp05 ; CPU:$C381 PRG:0381 A5 05 and #$03 ; CPU:$C383 PRG:0383 29 03 bne CheckTilt ; CPU:$C385 PRG:0385 D0 05 dec $014E ; CPU:$C387 PRG:0387 CE 4E 01 beq BallLostHandler ; CPU:$C38A PRG:038A F0 47 ; ----------------------------------------------------------------------------- ; Routine: CheckTilt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckTilt: jsr WaitFrame ; CPU:$C38C PRG:038C 20 46 E0 and #$20 ; CPU:$C38F PRG:038F 29 20 cmp ZpB9 ; CPU:$C391 PRG:0391 C5 B9 beq UpdateFlipper ; CPU:$C393 PRG:0393 F0 1C ldy ZpB9 ; CPU:$C395 PRG:0395 A4 B9 sta ZpB9 ; CPU:$C397 PRG:0397 85 B9 bne UpdateFlipper ; CPU:$C399 PRG:0399 D0 16 ldx $014F ; CPU:$C39B PRG:039B AE 4F 01 inx ; CPU:$C39E PRG:039E E8 txa ; CPU:$C39F PRG:039F 8A and #$03 ; CPU:$C3A0 PRG:03A0 29 03 sta $014F ; CPU:$C3A2 PRG:03A2 8D 4F 01 tax ; CPU:$C3A5 PRG:03A5 AA lda $C582,x ; CPU:$C3A6 PRG:03A6 BD 82 C5 sta $0200 ; CPU:$C3A9 PRG:03A9 8D 00 02 lda #$3C ; CPU:$C3AC PRG:03AC A9 3C sta $014E ; CPU:$C3AE PRG:03AE 8D 4E 01 ; ----------------------------------------------------------------------------- ; Routine: UpdateFlipper ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateFlipper: lda ZpB6 ; CPU:$C3B1 PRG:03B1 A5 B6 and #$10 ; CPU:$C3B3 PRG:03B3 29 10 beq BallPhysicsMain ; CPU:$C3B5 PRG:03B5 F0 C5 ; ----------------------------------------------------------------------------- ; Routine: UpdateBallTrajectory_E278_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBallTrajectory_E278_1: lda $014F ; CPU:$C3B7 PRG:03B7 AD 4F 01 lsr a ; CPU:$C3BA PRG:03BA 4A sta ZpBD ; CPU:$C3BB PRG:03BB 85 BD lda #$00 ; CPU:$C3BD PRG:03BD A9 00 rol a ; CPU:$C3BF PRG:03BF 2A sta ZpBC ; CPU:$C3C0 PRG:03C0 85 BC lda #$0F ; CPU:$C3C2 PRG:03C2 A9 0F sta APUSTATUS ; CPU:$C3C4 PRG:03C4 8D 15 40 ; ----------------------------------------------------------------------------- ; Routine: BallLost ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- BallLost: lda #$00 ; CPU:$C3C7 PRG:03C7 A9 00 sta Zp03 ; CPU:$C3C9 PRG:03C9 85 03 jmp UpdateBallPhysics ; CPU:$C3CB PRG:03CB 4C A6 E2 ; ----------------------------------------------------------------------------- ; Routine: UpdateBonusTimer ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBonusTimer: inc $014E ; CPU:$C3CE PRG:03CE EE 4E 01 bne BallPhysicsMain ; CPU:$C3D1 PRG:03D1 D0 A9 ; ----------------------------------------------------------------------------- ; Routine: BallLostHandler ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- BallLostHandler: lda ZpF6 ; CPU:$C3D3 PRG:03D3 A5 F6 bne UpdateBonusTimer ; CPU:$C3D5 PRG:03D5 D0 F7 inc Zp04 ; CPU:$C3D7 PRG:03D7 E6 04 ldx #$00 ; CPU:$C3D9 PRG:03D9 A2 00 stx APUSTATUS ; CPU:$C3DB PRG:03DB 8E 15 40 beq BallLost ; CPU:$C3DE PRG:03DE F0 E7 ; ----------------------------------------------------------------------------- ; Routine: DrawGameOverScreen ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawGameOverScreen: jsr WritePPU ; CPU:$C3E0 PRG:03E0 20 EF E0 lda #$B9 ; CPU:$C3E3 PRG:03E3 A9 B9 ldy #$03 ; CPU:$C3E5 PRG:03E5 A0 03 ldx #$C0 ; CPU:$C3E7 PRG:03E7 A2 C0 ; ----------------------------------------------------------------------------- ; Routine: SubCC3E9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCC3E9: sta PPUDATA ; CPU:$C3E9 PRG:03E9 8D 07 20 dex ; CPU:$C3EC PRG:03EC CA bne SubCC3E9 ; CPU:$C3ED PRG:03ED D0 FA dey ; CPU:$C3EF PRG:03EF 88 bpl SubCC3E9 ; CPU:$C3F0 PRG:03F0 10 F7 ldx #$00 ; CPU:$C3F2 PRG:03F2 A2 00 ; ----------------------------------------------------------------------------- ; Routine: ClearPlayfieldRTS ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ClearPlayfieldRTS: lda $C52B,x ; CPU:$C3F4 PRG:03F4 BD 2B C5 sta PPUDATA ; CPU:$C3F7 PRG:03F7 8D 07 20 inx ; CPU:$C3FA PRG:03FA E8 cpx #$40 ; CPU:$C3FB PRG:03FB E0 40 bne ClearPlayfieldRTS ; CPU:$C3FD PRG:03FD D0 F5 rts ; CPU:$C3FF PRG:03FF 60 ; ---- data $C400-$CBA6 (1959 bytes) ---- ; referenced by `lda $C50B,x` at $C2BD (operand $C50B falls inside this region) ; referenced by `lda $C50B,x` at $C2C4 (operand $C50B falls inside this region) ; referenced by `lda $C400,y` at $C2CF (operand $C400 falls inside this region) ; referenced by `lda $C50B,x` at $C2DE (operand $C50B falls inside this region) ; referenced by `lda $C50B,x` at $C2E5 (operand $C50B falls inside this region) ; referenced by `lda $C400,y` at $C2F0 (operand $C400 falls inside this region) ; ... and 17 further references from decoded code .byte $3A, $3C, $3C, $3C, $3B, $B9, $3A, $3B, $B9, $3A, $3B, $B9, $3A, $3B, $3C, $3C ; CPU:$C400 PRG:0400 3A 3C 3C 3C 3B B9 3A 3B B9 3A 3B B9 3A 3B 3C 3C .byte $3D, $3C, $3C, $B9, $3C, $3C, $B9, $3C, $3C, $B9, $3C, $3C, $3C, $3C, $3E, $3C ; CPU:$C410 PRG:0410 3D 3C 3C B9 3C 3C B9 3C 3C B9 3C 3C 3C 3C 3E 3C .byte $3C, $B9, $3C, $3C, $B9, $3C, $3C, $56, $3C, $3C, $3C, $3C, $3C, $3C, $4F, $B9 ; CPU:$C420 PRG:0420 3C B9 3C 3C B9 3C 3C 56 3C 3C 3C 3C 3C 3C 4F B9 .byte $3C, $3C, $B9, $3C, $3C, $57, $3C, $3C, $3C, $3C, $B9, $B9, $B9, $B9, $3C, $3C ; CPU:$C430 PRG:0430 3C 3C B9 3C 3C 57 3C 3C 3C 3C B9 B9 B9 B9 3C 3C .byte $B9, $3C, $3C, $B9, $3C, $3C, $3F, $4F, $B9, $B9, $B9, $B9, $3F, $4F, $B9, $3F ; CPU:$C440 PRG:0440 B9 3C 3C B9 3C 3C 3F 4F B9 B9 B9 B9 3F 4F B9 3F .byte $4F, $B9, $3F, $4F, $3A, $3C, $3C, $3C, $3B, $B9, $3A, $3C, $3C, $3C, $3B, $B9 ; CPU:$C450 PRG:0450 4F B9 3F 4F 3A 3C 3C 3C 3B B9 3A 3C 3C 3C 3B B9 .byte $3A, $3B, $B9, $B9, $3A, $3B, $B9, $3C, $3C, $AE, $3C, $3C, $B9, $3C, $3C, $3D ; CPU:$C460 PRG:0460 3A 3B B9 B9 3A 3B B9 3C 3C AE 3C 3C B9 3C 3C 3D .byte $3C, $3C, $B9, $3C, $3C, $B9, $B9, $3C, $3C, $B9, $3C, $3C, $3C, $3C, $4F, $B9 ; CPU:$C470 PRG:0470 3C 3C B9 3C 3C B9 B9 3C 3C B9 3C 3C 3C 3C 4F B9 .byte $3C, $3C, $B9, $3C, $3C, $B9, $3C, $3C, $B9, $B9, $3C, $3C, $B9, $3C, $3C, $3D ; CPU:$C480 PRG:0480 3C 3C B9 3C 3C B9 3C 3C B9 B9 3C 3C B9 3C 3C 3D .byte $3C, $3B, $B9, $3C, $3C, $3C, $3C, $3C, $B9, $3C, $3C, $B9, $B9, $3C, $3C, $B9 ; CPU:$C490 PRG:0490 3C 3B B9 3C 3C 3C 3C 3C B9 3C 3C B9 B9 3C 3C B9 .byte $3C, $3C, $3E, $3C, $3C, $B9, $3C, $3C, $B9, $3C, $3C, $B9, $3C, $3C, $B9, $B9 ; CPU:$C4A0 PRG:04A0 3C 3C 3E 3C 3C B9 3C 3C B9 3C 3C B9 3C 3C B9 B9 .byte $3C, $3C, $B9, $3F, $3C, $3C, $3C, $4F, $B9, $3F, $4F, $B9, $3F, $4F, $B9, $3F ; CPU:$C4B0 PRG:04B0 3C 3C B9 3F 3C 3C 3C 4F B9 3F 4F B9 3F 4F B9 3F .byte $3C, $AD, $B9, $3F, $3C, $AD, $23, $65, $16, $6F, $8B, $8F, $8E, $8D, $B9, $69 ; CPU:$C4C0 PRG:04C0 3C AD B9 3F 3C AD 23 65 16 6F 8B 8F 8E 8D B9 69 .byte $66, $69, $6D, $64, $69, $63, $6A, $B9, $62, $6A, $EE, $67, $6D, $63, $EF, $29 ; CPU:$C4D0 PRG:04D0 66 69 6D 64 69 63 6A B9 62 6A EE 67 6D 63 EF 29 .byte $CB, $0A, $65, $60, $68, $64, $B9, $B9, $6A, $7A, $64, $6C, $29, $8C, $06, $6B ; CPU:$C4E0 PRG:04E0 CB 0A 65 60 68 64 B9 B9 6A 7A 64 6C 29 8C 06 6B .byte $67, $60, $6E, $64, $6C, $00, $B9, $6B, $67, $60, $6E, $64, $6C, $B9, $65, $60 ; CPU:$C4F0 PRG:04F0 67 60 6E 64 6C 00 B9 6B 67 60 6E 64 6C B9 65 60 .byte $68, $64, $B9, $8B, $60, $8B, $61, $8C, $60, $8C, $61, $20, $64, $20, $84, $20 ; CPU:$C500 PRG:0500 68 64 B9 8B 60 8B 61 8C 60 8C 61 20 64 20 84 20 .byte $A4, $20, $C4, $20, $E4, $21, $04, $21, $49, $21, $69, $21, $89, $21, $A9, $21 ; CPU:$C510 PRG:0510 A4 20 C4 20 E4 21 04 21 49 21 69 21 89 21 A9 21 .byte $C9, $21, $E9, $22, $49, $22, $89, $22, $C9, $23, $09, $00, $00, $00, $00, $00 ; CPU:$C520 PRG:0520 C9 21 E9 22 49 22 89 22 C9 23 09 00 00 00 00 00 .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$C530 PRG:0530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $50, $50, $50 ; CPU:$C540 PRG:0540 00 00 00 00 00 00 00 00 00 00 00 00 00 50 50 50 .byte $50, $00, $00, $00, $00, $A5, $A5, $A5, $A5, $00, $00, $00, $00, $0A, $0A, $0A ; CPU:$C550 PRG:0550 50 00 00 00 00 A5 A5 A5 A5 00 00 00 00 0A 0A 0A .byte $0A, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $0F, $0F, $27, $0F, $0F ; CPU:$C560 PRG:0560 0A 00 00 00 00 00 00 00 00 00 00 0F 0F 27 0F 0F .byte $0F, $0F, $0F, $0F, $0F, $12, $0F, $0F, $0F, $22, $0F, $0F, $25, $30, $0F, $F5 ; CPU:$C570 PRG:0570 0F 0F 0F 0F 0F 12 0F 0F 0F 22 0F 0F 25 30 0F F5 .byte $00, $38, $8F, $9F, $AF, $BF, $14, $31, $14, $31, $14, $31, $31, $31, $32, $33 ; CPU:$C580 PRG:0580 00 38 8F 9F AF BF 14 31 14 31 14 31 31 31 32 33 .byte $34, $0A, $35, $36, $37, $38, $31, $31, $31, $39, $3A, $05, $24, $73, $68, $07 ; CPU:$C590 PRG:0590 34 0A 35 36 37 38 31 31 31 39 3A 05 24 73 68 07 .byte $24, $3B, $3C, $31, $3D, $3E, $24, $3F, $40, $24, $72, $68, $41, $42, $72, $68 ; CPU:$C5A0 PRG:05A0 24 3B 3C 31 3D 3E 24 3F 40 24 72 68 41 42 72 68 .byte $24, $43, $44, $45, $46, $24, $47, $48, $4A, $24, $4B, $4C, $4D, $4E, $41, $42 ; CPU:$C5B0 PRG:05B0 24 43 44 45 46 24 47 48 4A 24 4B 4C 4D 4E 41 42 .byte $24, $24, $41, $42, $43, $4C, $31, $31, $4D, $50, $24, $51, $52, $24, $53, $31 ; CPU:$C5C0 PRG:05C0 24 24 41 42 43 4C 31 31 4D 50 24 51 52 24 53 31 .byte $31, $4D, $54, $28, $29, $28, $29, $58, $4C, $04, $31, $59, $24, $5A, $54, $24 ; CPU:$C5D0 PRG:05D0 31 4D 54 28 29 28 29 58 4C 04 31 59 24 5A 54 24 .byte $5B, $24, $68, $55, $54, $9E, $9F, $9E, $9F, $58, $60, $61, $34, $36, $64, $65 ; CPU:$C5E0 PRG:05E0 5B 24 68 55 54 9E 9F 9E 9F 58 60 61 34 36 64 65 .byte $66, $67, $54, $24, $5B, $31, $55, $69, $08, $24, $72, $68, $24, $6C, $6D, $24 ; CPU:$C5F0 PRG:05F0 66 67 54 24 5B 31 55 69 08 24 72 68 24 6C 6D 24 .byte $6E, $24, $6F, $55, $69, $09, $24, $3F, $46, $24, $74, $75, $24, $76, $24, $77 ; CPU:$C600 PRG:0600 6E 24 6F 55 69 09 24 3F 46 24 74 75 24 76 24 77 .byte $78, $03, $24, $7F, $80, $81, $82, $03, $24, $79, $78, $24, $7B, $75, $24, $7C ; CPU:$C610 PRG:0610 78 03 24 7F 80 81 82 03 24 79 78 24 7B 75 24 7C .byte $24, $7D, $7E, $03, $24, $83, $84, $85, $86, $03, $24, $58, $78, $24, $7B, $75 ; CPU:$C620 PRG:0620 24 7D 7E 03 24 83 84 85 86 03 24 58 78 24 7B 75 .byte $24, $4D, $6E, $05, $24, $87, $88, $89, $8A, $03, $24, $58, $78, $24, $7B, $75 ; CPU:$C630 PRG:0630 24 4D 6E 05 24 87 88 89 8A 03 24 58 78 24 7B 75 .byte $24, $31, $76, $0C, $24, $58, $78, $24, $7B, $75, $24, $31, $7C, $0C, $24, $67 ; CPU:$C640 PRG:0640 24 31 76 0C 24 58 78 24 7B 75 24 31 7C 0C 24 67 .byte $7E, $24, $7B, $75, $24, $31, $78, $8B, $0E, $24, $8C, $75, $24, $31, $78, $8B ; CPU:$C650 PRG:0650 7E 24 7B 75 24 31 78 8B 0E 24 8C 75 24 31 78 8B .byte $0D, $24, $8D, $8E, $75, $24, $31, $78, $8B, $0D, $24, $8F, $31, $75, $24, $31 ; CPU:$C660 PRG:0660 0D 24 8D 8E 75 24 31 78 8B 0D 24 8F 31 75 24 31 .byte $78, $8B, $0D, $24, $5B, $31, $75, $24, $55, $69, $0E, $24, $79, $91, $75, $24 ; CPU:$C670 PRG:0670 78 8B 0D 24 5B 31 75 24 55 69 0E 24 79 91 75 24 .byte $69, $24, $0F, $24, $92, $75, $24, $24, $24, $4F, $03, $24, $93, $94, $95, $96 ; CPU:$C680 PRG:0680 69 24 0F 24 92 75 24 24 24 4F 03 24 93 94 95 96 .byte $97, $98, $03, $24, $4F, $24, $99, $75, $24, $24, $9A, $9B, $4E, $0A, $24, $43 ; CPU:$C690 PRG:0690 97 98 03 24 4F 24 99 75 24 24 9A 9B 4E 0A 24 43 .byte $9B, $9C, $9D, $75, $24, $24, $7B, $31, $78, $0A, $24, $5B, $03, $31, $75, $24 ; CPU:$C6A0 PRG:06A0 9B 9C 9D 75 24 24 7B 31 78 0A 24 5B 03 31 75 24 .byte $24, $7B, $55, $69, $0A, $24, $79, $91, $31, $31, $75, $24, $24, $7B, $78, $0C ; CPU:$C6B0 PRG:06B0 24 7B 55 69 0A 24 79 91 31 31 75 24 24 7B 78 0C .byte $24, $5B, $31, $31, $75, $24, $24, $7B, $78, $0C, $24, $5B, $31, $31, $75, $24 ; CPU:$C6C0 PRG:06C0 24 5B 31 31 75 24 24 7B 78 0C 24 5B 31 31 75 24 .byte $24, $7B, $78, $0C, $24, $5B, $31, $31, $75, $24, $24, $7B, $78, $0C, $24, $5B ; CPU:$C6D0 PRG:06D0 24 7B 78 0C 24 5B 31 31 75 24 24 7B 78 0C 24 5B .byte $31, $31, $75, $24, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$C6E0 PRG:06E0 31 31 75 24 00 00 00 00 00 00 00 00 00 00 00 00 .byte $00, $00, $00, $00, $00, $00, $00, $00, $F0, $C0, $30, $00, $00, $00, $00, $00 ; CPU:$C6F0 PRG:06F0 00 00 00 00 00 00 00 00 F0 C0 30 00 00 00 00 00 .byte $FF, $00, $33, $00, $00, $00, $88, $00, $00, $00, $00, $00, $00, $00, $00, $88 ; CPU:$C700 PRG:0700 FF 00 33 00 00 00 88 00 00 00 00 00 00 00 00 88 .byte $AA, $AA, $00, $00, $00, $00, $00, $00, $F0, $00, $00, $00, $00, $00, $00, $00 ; CPU:$C710 PRG:0710 AA AA 00 00 00 00 00 00 F0 00 00 00 00 00 00 00 .byte $00, $00, $00, $00, $28, $58, $01, $57, $2F, $58, $01, $52, $37, $58, $01, $4E ; CPU:$C720 PRG:0720 00 00 00 00 28 58 01 57 2F 58 01 52 37 58 01 4E .byte $40, $58, $01, $4C, $49, $58, $01, $4C, $52, $58, $01, $4D, $5A, $58, $01, $50 ; CPU:$C730 PRG:0730 40 58 01 4C 49 58 01 4C 52 58 01 4D 5A 58 01 50 .byte $62, $58, $01, $53, $8F, $80, $00, $78, $8F, $80, $40, $80, $97, $59, $00, $78 ; CPU:$C740 PRG:0740 62 58 01 53 8F 80 00 78 8F 80 40 80 97 59 00 78 .byte $97, $59, $40, $80, $8F, $81, $00, $88, $8F, $82, $00, $90, $97, $84, $00, $88 ; CPU:$C750 PRG:0750 97 59 40 80 8F 81 00 88 8F 82 00 90 97 84 00 88 .byte $97, $83, $00, $90, $8F, $82, $40, $98, $8F, $81, $40, $A0, $97, $84, $00, $98 ; CPU:$C760 PRG:0760 97 83 00 90 8F 82 40 98 8F 81 40 A0 97 84 00 98 .byte $97, $83, $00, $A0, $AB, $54, $02, $C8, $AB, $54, $42, $D0, $B3, $55, $02, $C8 ; CPU:$C770 PRG:0770 97 83 00 A0 AB 54 02 C8 AB 54 42 D0 B3 55 02 C8 .byte $B3, $55, $42, $D0, $3F, $F1, $03, $60, $F0, $F0, $02, $68, $65, $B9, $41, $74 ; CPU:$C780 PRG:0780 B3 55 42 D0 3F F1 03 60 F0 F0 02 68 65 B9 41 74 .byte $6F, $7D, $40, $74, $77, $7E, $40, $78, $77, $7F, $40, $70, $65, $B9, $01, $A4 ; CPU:$C790 PRG:0790 6F 7D 40 74 77 7E 40 78 77 7F 40 70 65 B9 01 A4 .byte $6F, $7D, $00, $A4, $77, $7E, $00, $A0, $77, $7F, $00, $A8, $F0, $59, $02, $AC ; CPU:$C7A0 PRG:07A0 6F 7D 00 A4 77 7E 00 A0 77 7F 00 A8 F0 59 02 AC .byte $5F, $FF, $00, $CA, $89, $39, $01, $88, $89, $39, $41, $90, $4E, $CE, $02, $6D ; CPU:$C7B0 PRG:07B0 5F FF 00 CA 89 39 01 88 89 39 41 90 4E CE 02 6D .byte $18, $B0, $00, $60, $18, $B1, $00, $68, $20, $B2, $00, $5F, $20, $B3, $00, $67 ; CPU:$C7C0 PRG:07C0 18 B0 00 60 18 B1 00 68 20 B2 00 5F 20 B3 00 67 .byte $18, $B6, $00, $C0, $20, $B7, $00, $C0, $F0, $B8, $00, $B8, $F0, $B8, $80, $B8 ; CPU:$C7D0 PRG:07D0 18 B6 00 C0 20 B7 00 C0 F0 B8 00 B8 F0 B8 80 B8 .byte $7E, $BA, $00, $C1, $7E, $BB, $00, $C9, $86, $BC, $00, $C9, $24, $A0, $78, $0C ; CPU:$C7E0 PRG:07E0 7E BA 00 C1 7E BB 00 C9 86 BC 00 C9 24 A0 78 0C .byte $24, $5B, $31, $31, $6D, $24, $24, $A0, $78, $0C, $24, $6C, $31, $31, $6D, $24 ; CPU:$C7F0 PRG:07F0 24 5B 31 31 6D 24 24 A0 78 0C 24 6C 31 31 6D 24 .byte $24, $7D, $7E, $0C, $24, $A4, $60, $A5, $6D, $24, $6E, $03, $24, $2A, $2B, $2A ; CPU:$C800 PRG:0800 24 7D 7E 0C 24 A4 60 A5 6D 24 6E 03 24 2A 2B 2A .byte $2B, $2A, $2B, $2A, $2B, $2A, $2B, $03, $24, $AE, $6D, $24, $76, $03, $24, $2C ; CPU:$C810 PRG:0810 2B 2A 2B 2A 2B 2A 2B 03 24 AE 6D 24 76 03 24 2C .byte $2D, $2C, $2D, $2C, $2D, $2C, $2D, $2C, $2D, $03, $24, $AF, $6D, $24, $7C, $03 ; CPU:$C820 PRG:0820 2D 2C 2D 2C 2D 2C 2D 2C 2D 03 24 AF 6D 24 7C 03 .byte $24, $2E, $2F, $2E, $2F, $2E, $2F, $2E, $2F, $2E, $2F, $03, $24, $B6, $6D, $24 ; CPU:$C830 PRG:0830 24 2E 2F 2E 2F 2E 2F 2E 2F 2E 2F 03 24 B6 6D 24 .byte $78, $24, $24, $28, $29, $28, $29, $28, $29, $28, $29, $28, $29, $28, $29, $24 ; CPU:$C840 PRG:0840 78 24 24 28 29 28 29 28 29 28 29 28 29 28 29 24 .byte $24, $5B, $6D, $24, $78, $24, $24, $9E, $9F, $9E, $9F, $9E, $9F, $9E, $9F, $9E ; CPU:$C850 PRG:0850 24 5B 6D 24 78 24 24 9E 9F 9E 9F 9E 9F 9E 9F 9E .byte $9F, $9E, $9F, $05, $24, $78, $13, $24, $78, $03, $24, $7F, $80, $81, $82, $24 ; CPU:$C860 PRG:0860 9F 9E 9F 05 24 78 13 24 78 03 24 7F 80 81 82 24 .byte $24, $7F, $80, $81, $82, $06, $24, $78, $03, $24, $83, $84, $85, $86, $24, $24 ; CPU:$C870 PRG:0870 24 7F 80 81 82 06 24 78 03 24 83 84 85 86 24 24 .byte $83, $84, $85, $86, $03, $24, $5B, $6D, $24, $78, $03, $24, $87, $88, $89, $8A ; CPU:$C880 PRG:0880 83 84 85 86 03 24 5B 6D 24 78 03 24 87 88 89 8A .byte $24, $24, $87, $88, $89, $8A, $03, $24, $5B, $6D, $24, $78, $10, $24, $5B, $6D ; CPU:$C890 PRG:0890 24 24 87 88 89 8A 03 24 5B 6D 24 78 10 24 5B 6D .byte $24, $78, $06, $24, $7F, $80, $81, $82, $06, $24, $5B, $6D, $24, $4D, $4E, $05 ; CPU:$C8A0 PRG:08A0 24 78 06 24 7F 80 81 82 06 24 5B 6D 24 4D 4E 05 .byte $24, $83, $84, $85, $86, $05, $24, $43, $4C, $6D, $24, $55, $69, $05, $24, $87 ; CPU:$C8B0 PRG:08B0 24 83 84 85 86 05 24 43 4C 6D 24 55 69 05 24 87 .byte $88, $89, $8A, $05, $24, $79, $91, $6D, $24, $69, $10, $24, $79, $6D, $24, $54 ; CPU:$C8C0 PRG:08C0 88 89 8A 05 24 79 91 6D 24 69 10 24 79 6D 24 54 .byte $10, $24, $58, $6D, $24, $54, $BA, $24, $BB, $BE, $08, $24, $BC, $C1, $24, $BD ; CPU:$C8D0 PRG:08D0 10 24 58 6D 24 54 BA 24 BB BE 08 24 BC C1 24 BD .byte $58, $6D, $24, $54, $BA, $24, $BF, $C2, $08, $24, $C0, $C4, $24, $BD, $58, $6D ; CPU:$C8E0 PRG:08E0 58 6D 24 54 BA 24 BF C2 08 24 C0 C4 24 BD 58 6D .byte $24, $54, $BA, $24, $C3, $C9, $08, $24, $C5, $CB, $24, $BD, $58, $C6, $C7, $54 ; CPU:$C8F0 PRG:08F0 24 54 BA 24 C3 C9 08 24 C5 CB 24 BD 58 C6 C7 54 .byte $C8, $D0, $24, $CA, $08, $24, $CC, $24, $D3, $CD, $58, $CE, $CF, $54, $24, $D1 ; CPU:$C900 PRG:0900 C8 D0 24 CA 08 24 CC 24 D3 CD 58 CE CF 54 24 D1 .byte $27, $0A, $24, $D5, $D2, $24, $58, $CE, $CF, $54, $24, $24, $D4, $26, $08, $24 ; CPU:$C910 PRG:0910 27 0A 24 D5 D2 24 58 CE CF 54 24 24 D4 26 08 24 .byte $90, $25, $24, $24, $58, $CE, $CF, $4E, $10, $24, $7A, $CE, $CF, $4D, $4E, $0E ; CPU:$C920 PRG:0920 90 25 24 24 58 CE CF 4E 10 24 7A CE CF 4D 4E 0E .byte $24, $43, $1F, $CE, $CF, $31, $4D, $4E, $0C, $24, $43, $4C, $78, $02, $31, $31 ; CPU:$C930 PRG:0930 24 43 1F CE CF 31 4D 4E 0C 24 43 4C 78 02 31 31 .byte $31, $4D, $4E, $0A, $24, $43, $4C, $31, $78, $02, $31, $03, $31, $4D, $4E, $08 ; CPU:$C940 PRG:0940 31 4D 4E 0A 24 43 4C 31 78 02 31 03 31 4D 4E 08 .byte $24, $43, $4C, $02, $31, $78, $02, $31, $04, $31, $4D, $4E, $06, $24, $43, $4C ; CPU:$C950 PRG:0950 24 43 4C 02 31 78 02 31 04 31 4D 4E 06 24 43 4C .byte $03, $31, $78, $02, $31, $00, $00, $00, $F0, $F0, $F0, $00, $00, $00, $00, $00 ; CPU:$C960 PRG:0960 03 31 78 02 31 00 00 00 F0 F0 F0 00 00 00 00 00 .byte $0F, $0F, $0F, $00, $00, $00, $00, $00, $FF, $FF, $FF, $33, $00, $00, $00, $00 ; CPU:$C970 PRG:0970 0F 0F 0F 00 00 00 00 00 FF FF FF 33 00 00 00 00 .byte $00, $AA, $00, $00, $00, $00, $00, $00, $30, $00, $C0, $00, $00, $00, $00, $00 ; CPU:$C980 PRG:0980 00 AA 00 00 00 00 00 00 30 00 C0 00 00 00 00 00 .byte $03, $00, $0C, $44, $11, $00, $00, $00, $00, $FF, $00, $44, $11, $00, $00, $00 ; CPU:$C990 PRG:0990 03 00 0C 44 11 00 00 00 00 FF 00 44 11 00 00 00 .byte $00, $00, $00, $00, $00, $8F, $AF, $00, $78, $97, $5C, $00, $78, $8F, $AF, $00 ; CPU:$C9A0 PRG:09A0 00 00 00 00 00 8F AF 00 78 97 5C 00 78 8F AF 00 .byte $8C, $97, $5C, $00, $8C, $8F, $AF, $00, $A0, $97, $5C, $00, $A0, $F0, $AF, $00 ; CPU:$C9B0 PRG:09B0 8C 97 5C 00 8C 8F AF 00 A0 97 5C 00 A0 F0 AF 00 .byte $9C, $17, $54, $02, $C8, $17, $54, $42, $D0, $1F, $55, $02, $C8, $1F, $55, $42 ; CPU:$C9C0 PRG:09C0 9C 17 54 02 C8 17 54 42 D0 1F 55 02 C8 1F 55 42 .byte $D0, $37, $70, $01, $50, $3F, $70, $01, $50, $47, $70, $01, $50, $4F, $70, $01 ; CPU:$C9D0 PRG:09D0 D0 37 70 01 50 3F 70 01 50 47 70 01 50 4F 70 01 .byte $50, $57, $70, $01, $50, $5F, $70, $01, $50, $67, $70, $01, $50, $37, $71, $01 ; CPU:$C9E0 PRG:09E0 50 57 70 01 50 5F 70 01 50 67 70 01 50 37 71 01 .byte $58, $3F, $72, $01, $58, $47, $73, $01, $58, $4F, $74, $01, $58, $57, $75, $01 ; CPU:$C9F0 PRG:09F0 58 3F 72 01 58 47 73 01 58 4F 74 01 58 57 75 01 .byte $58, $5F, $76, $01, $58, $67, $77, $01, $58, $37, $5A, $03, $CC, $37, $5B, $03 ; CPU:$CA00 PRG:0A00 58 5F 76 01 58 67 77 01 58 37 5A 03 CC 37 5B 03 .byte $D4, $3F, $5A, $03, $CC, $3F, $5B, $03, $D4, $47, $5A, $03, $CC, $47, $5B, $03 ; CPU:$CA10 PRG:0A10 D4 3F 5A 03 CC 3F 5B 03 D4 47 5A 03 CC 47 5B 03 .byte $D4, $F0, $5E, $42, $4F, $F0, $5F, $42, $47, $F0, $5E, $02, $C9, $F0, $5F, $02 ; CPU:$CA20 PRG:0A20 D4 F0 5E 42 4F F0 5F 42 47 F0 5E 02 C9 F0 5F 02 .byte $D1, $97, $FF, $00, $5A, $97, $FF, $40, $BE, $FE, $14, $31, $03, $31, $0E, $20 ; CPU:$CA30 PRG:0A30 D1 97 FF 00 5A 97 FF 40 BE FE 14 31 03 31 0E 20 .byte $03, $31, $03, $31, $0E, $24, $03, $31, $03, $31, $0E, $21, $03, $31, $03, $31 ; CPU:$CA40 PRG:0A40 03 31 03 31 0E 24 03 31 03 31 0E 21 03 31 03 31 .byte $D8, $0C, $D9, $DA, $03, $31, $03, $31, $D8, $0C, $24, $DA, $03, $31, $03, $31 ; CPU:$CA50 PRG:0A50 D8 0C D9 DA 03 31 03 31 D8 0C 24 DA 03 31 03 31 .byte $D8, $0C, $24, $DA, $03, $31, $03, $31, $D8, $03, $DB, $06, $24, $03, $DB, $DA ; CPU:$CA60 PRG:0A60 D8 0C 24 DA 03 31 03 31 D8 03 DB 06 24 03 DB DA .byte $03, $31, $31, $55, $DC, $0E, $24, $A4, $91, $31, $31, $A1, $10, $24, $6C, $31 ; CPU:$CA70 PRG:0A70 03 31 31 55 DC 0E 24 A4 91 31 31 A1 10 24 6C 31 .byte $55, $DC, $05, $24, $DD, $DE, $E1, $E2, $E1, $E2, $05, $24, $A4, $31, $A1, $06 ; CPU:$CA80 PRG:0A80 55 DC 05 24 DD DE E1 E2 E1 E2 05 24 A4 31 A1 06 .byte $24, $DF, $E0, $E3, $E4, $F1, $F2, $06, $24, $6C, $DC, $24, $7F, $80, $81, $82 ; CPU:$CA90 PRG:0A90 24 DF E0 E3 E4 F1 F2 06 24 6C DC 24 7F 80 81 82 .byte $24, $DD, $DE, $E1, $E2, $E1, $E2, $24, $7F, $80, $81, $82, $24, $A4, $24, $24 ; CPU:$CAA0 PRG:0AA0 24 DD DE E1 E2 E1 E2 24 7F 80 81 82 24 A4 24 24 .byte $83, $84, $85, $86, $24, $DF, $E0, $E3, $E4, $F1, $F2, $24, $83, $84, $85, $86 ; CPU:$CAB0 PRG:0AB0 83 84 85 86 24 DF E0 E3 E4 F1 F2 24 83 84 85 86 .byte $24, $24, $E5, $24, $87, $88, $89, $8A, $24, $DD, $DE, $E1, $E2, $E1, $E2, $24 ; CPU:$CAC0 PRG:0AC0 24 24 E5 24 87 88 89 8A 24 DD DE E1 E2 E1 E2 24 .byte $87, $88, $89, $8A, $24, $E8, $E9, $06, $24, $DF, $E0, $E3, $E4, $F1, $F2, $06 ; CPU:$CAD0 PRG:0AD0 87 88 89 8A 24 E8 E9 06 24 DF E0 E3 E4 F1 F2 06 .byte $24, $EC, $4D, $E5, $05, $24, $DD, $DE, $E1, $E2, $E1, $E2, $05, $24, $E8, $4C ; CPU:$CAE0 PRG:0AE0 24 EC 4D E5 05 24 DD DE E1 E2 E1 E2 05 24 E8 4C .byte $31, $E9, $05, $24, $DF, $E0, $E3, $E4, $F1, $F2, $05, $24, $EC, $31, $31, $4D ; CPU:$CAF0 PRG:0AF0 31 E9 05 24 DF E0 E3 E4 F1 F2 05 24 EC 31 31 4D .byte $E5, $0E, $24, $E8, $4C, $31, $60, $60, $EA, $0E, $24, $EB, $60, $60, $14, $24 ; CPU:$CB00 PRG:0B00 E5 0E 24 E8 4C 31 60 60 EA 0E 24 EB 60 60 14 24 .byte $24, $F3, $B7, $B8, $0C, $24, $B7, $B8, $B9, $24, $14, $24, $05, $D9, $0A, $24 ; CPU:$CB10 PRG:0B10 24 F3 B7 B8 0C 24 B7 B8 B9 24 14 24 05 D9 0A 24 .byte $05, $D9, $14, $24, $14, $24, $24, $24, $10, $ED, $24, $24, $24, $24, $10, $ED ; CPU:$CB20 PRG:0B20 05 D9 14 24 14 24 24 24 10 ED 24 24 24 24 10 ED .byte $24, $24, $24, $24, $10, $ED, $24, $24, $24, $24, $10, $ED, $24, $24, $00, $00 ; CPU:$CB30 PRG:0B30 24 24 24 24 10 ED 24 24 24 24 10 ED 24 24 00 00 .byte $88, $AA, $AA, $AA, $AA, $00, $00, $00, $88, $AA, $AA, $AA, $AA, $00, $00, $00 ; CPU:$CB40 PRG:0B40 88 AA AA AA AA 00 00 00 88 AA AA AA AA 00 00 00 .byte $00, $00, $20, $10, $00, $00, $00, $00, $44, $55, $22, $55, $55, $00, $00, $00 ; CPU:$CB50 PRG:0B50 00 00 20 10 00 00 00 00 44 55 22 55 55 00 00 00 .byte $00, $00, $02, $01, $00, $00, $00, $00, $08, $02, $00, $00, $0A, $00, $00, $00 ; CPU:$CB60 PRG:0B60 00 00 02 01 00 00 00 00 08 02 00 00 0A 00 00 00 .byte $44, $55, $55, $55, $55, $00, $00, $00, $44, $55, $55, $55, $55, $00, $37, $36 ; CPU:$CB70 PRG:0B70 44 55 55 55 55 00 00 00 44 55 55 55 55 00 37 36 .byte $00, $80, $37, $36, $40, $88, $37, $36, $00, $90, $37, $36, $40, $98, $37, $36 ; CPU:$CB80 PRG:0B80 00 80 37 36 40 88 37 36 00 90 37 36 40 98 37 36 .byte $00, $A0, $37, $36, $40, $A8, $99, $54, $02, $90, $99, $54, $42, $98, $A1, $55 ; CPU:$CB90 PRG:0B90 00 A0 37 36 40 A8 99 54 02 90 99 54 42 98 A1 55 .byte $02, $90, $A1, $55, $42, $98, $FE ; CPU:$CBA0 PRG:0BA0 02 90 A1 55 42 98 FE ; ----------------------------------------------------------------------------- ; Routine: SubCCBA7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCBA7: lda Zp04 ; CPU:$CBA7 PRG:0BA7 A5 04 beq SubCCBAF ; CPU:$CBA9 PRG:0BA9 F0 04 lda #$04 ; CPU:$CBAB PRG:0BAB A9 04 bne SubCCBB4 ; CPU:$CBAD PRG:0BAD D0 05 ; ----------------------------------------------------------------------------- ; Routine: SubCCBAF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCBAF: lda ZpBC ; CPU:$CBAF PRG:0BAF A5 BC clc ; CPU:$CBB1 PRG:0BB1 18 adc #$03 ; CPU:$CBB2 PRG:0BB2 69 03 ; ----------------------------------------------------------------------------- ; Routine: SubCCBB4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCBB4: sta Zp1D ; CPU:$CBB4 PRG:0BB4 85 1D ; ----------------------------------------------------------------------------- ; Routine: SubCCBB6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCBB6: lda #$00 ; CPU:$CBB6 PRG:0BB6 A9 00 sta Zp1C ; CPU:$CBB8 PRG:0BB8 85 1C ; ----------------------------------------------------------------------------- ; Routine: SubCCBBA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCBBA: lda ZpD2 ; CPU:$CBBA PRG:0BBA A5 D2 bpl SubCCBC4 ; CPU:$CBBC PRG:0BBC 10 06 jsr SubCCC78 ; CPU:$CBBE PRG:0BBE 20 78 CC jmp SubCCC5D ; CPU:$CBC1 PRG:0BC1 4C 5D CC ; ----------------------------------------------------------------------------- ; Routine: SubCCBC4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCBC4: jsr UpdateSoundEngine ; CPU:$CBC4 PRG:0BC4 20 30 DE jsr SubCDE6C ; CPU:$CBC7 PRG:0BC7 20 6C DE jsr UpdateBumper ; CPU:$CBCA PRG:0BCA 20 B6 DB ldx #$02 ; CPU:$CBCD PRG:0BCD A2 02 ; ----------------------------------------------------------------------------- ; Routine: SubCCBCF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCBCF: asl Zp0A ; CPU:$CBCF PRG:0BCF 06 0A rol Zp0B ; CPU:$CBD1 PRG:0BD1 26 0B asl Zp0C ; CPU:$CBD3 PRG:0BD3 06 0C rol Zp0D ; CPU:$CBD5 PRG:0BD5 26 0D dex ; CPU:$CBD7 PRG:0BD7 CA bne SubCCBCF ; CPU:$CBD8 PRG:0BD8 D0 F5 jsr SubCDCC9 ; CPU:$CBDA PRG:0BDA 20 C9 DC lda Zp09 ; CPU:$CBDD PRG:0BDD A5 09 cmp #$08 ; CPU:$CBDF PRG:0BDF C9 08 bcs SubCCBE9 ; CPU:$CBE1 PRG:0BE1 B0 06 dec ZpBF ; CPU:$CBE3 PRG:0BE3 C6 BF lda #$E9 ; CPU:$CBE5 PRG:0BE5 A9 E9 bne SubCCC01 ; CPU:$CBE7 PRG:0BE7 D0 18 ; ----------------------------------------------------------------------------- ; Routine: SubCCBE9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCBE9: cmp #$F1 ; CPU:$CBE9 PRG:0BE9 C9 F1 bcc SubCCC06 ; CPU:$CBEB PRG:0BEB 90 19 lda ZpBF ; CPU:$CBED PRG:0BED A5 BF beq SubCCBFD ; CPU:$CBEF PRG:0BEF F0 0C cmp #$02 ; CPU:$CBF1 PRG:0BF1 C9 02 beq SubCCBF6 ; CPU:$CBF3 PRG:0BF3 F0 01 rts ; CPU:$CBF5 PRG:0BF5 60 ; ----------------------------------------------------------------------------- ; Routine: SubCCBF6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCBF6: ldx #$00 ; CPU:$CBF6 PRG:0BF6 A2 00 stx Zp1D ; CPU:$CBF8 PRG:0BF8 86 1D jmp SubCCCE9 ; CPU:$CBFA PRG:0BFA 4C E9 CC ; ----------------------------------------------------------------------------- ; Routine: SubCCBFD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCBFD: inc ZpBF ; CPU:$CBFD PRG:0BFD E6 BF lda #$08 ; CPU:$CBFF PRG:0BFF A9 08 ; ----------------------------------------------------------------------------- ; Routine: SubCCC01 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC01: sta Zp09 ; CPU:$CC01 PRG:0C01 85 09 jsr InitGame ; CPU:$CC03 PRG:0C03 20 FD E0 ; ----------------------------------------------------------------------------- ; Routine: SubCCC06 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC06: jsr UpdateSoundChannel ; CPU:$CC06 PRG:0C06 20 41 DE lda #$00 ; CPU:$CC09 PRG:0C09 A9 00 sta Zp1F ; CPU:$CC0B PRG:0C0B 85 1F lda Zp07 ; CPU:$CC0D PRG:0C0D A5 07 sta Zp20 ; CPU:$CC0F PRG:0C0F 85 20 lda Zp09 ; CPU:$CC11 PRG:0C11 A5 09 sta Zp21 ; CPU:$CC13 PRG:0C13 85 21 ; ----------------------------------------------------------------------------- ; Routine: SubCCC15 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC15: jsr InitializeRAM ; CPU:$CC15 PRG:0C15 20 6C CE ; ----------------------------------------------------------------------------- ; Routine: SubCCC18 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC18: dec Zp26 ; CPU:$CC18 PRG:0C18 C6 26 bmi SubCCC3A ; CPU:$CC1A PRG:0C1A 30 1E jsr UpdateSprites_C34B2 ; CPU:$CC1C PRG:0C1C 20 EC CF bcc SubCCC35 ; CPU:$CC1F PRG:0C1F 90 14 lda Zp1F ; CPU:$CC21 PRG:0C21 A5 1F bne SubCCC3A ; CPU:$CC23 PRG:0C23 D0 15 lda Zp07 ; CPU:$CC25 PRG:0C25 A5 07 cmp Zp20 ; CPU:$CC27 PRG:0C27 C5 20 bne SubCCC15 ; CPU:$CC29 PRG:0C29 D0 EA lda Zp09 ; CPU:$CC2B PRG:0C2B A5 09 cmp Zp21 ; CPU:$CC2D PRG:0C2D C5 21 bne SubCCC15 ; CPU:$CC2F PRG:0C2F D0 E4 inc Zp1F ; CPU:$CC31 PRG:0C31 E6 1F bne SubCCC15 ; CPU:$CC33 PRG:0C33 D0 E0 ; ----------------------------------------------------------------------------- ; Routine: SubCCC35 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC35: jsr UpdateScore2 ; CPU:$CC35 PRG:0C35 20 AD D0 bcc SubCCC18 ; CPU:$CC38 PRG:0C38 90 DE ; ----------------------------------------------------------------------------- ; Routine: SubCCC3A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC3A: jsr UpdateFlippers_3 ; CPU:$CC3A PRG:0C3A 20 F0 D4 jsr SubCCD34 ; CPU:$CC3D PRG:0C3D 20 34 CD dec Zp1E ; CPU:$CC40 PRG:0C40 C6 1E bne SubCCC5D ; CPU:$CC42 PRG:0C42 D0 19 lda #$05 ; CPU:$CC44 PRG:0C44 A9 05 sta Zp1E ; CPU:$CC46 PRG:0C46 85 1E jsr SubCDE6C ; CPU:$CC48 PRG:0C48 20 6C DE lda Zp0C ; CPU:$CC4B PRG:0C4B A5 0C clc ; CPU:$CC4D PRG:0C4D 18 adc #$01 ; CPU:$CC4E PRG:0C4E 69 01 bmi SubCCC58 ; CPU:$CC50 PRG:0C50 30 06 cmp #$40 ; CPU:$CC52 PRG:0C52 C9 40 bcc SubCCC58 ; CPU:$CC54 PRG:0C54 90 02 lda #$3F ; CPU:$CC56 PRG:0C56 A9 3F ; ----------------------------------------------------------------------------- ; Routine: SubCCC58 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC58: sta Zp0C ; CPU:$CC58 PRG:0C58 85 0C jsr UpdateSoundChannel4_EAD1_1 ; CPU:$CC5A PRG:0C5A 20 7E DE ; ----------------------------------------------------------------------------- ; Routine: SubCCC5D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC5D: dec Zp1C ; CPU:$CC5D PRG:0C5D C6 1C bmi SubCCC64 ; CPU:$CC5F PRG:0C5F 30 03 jmp SubCCBBA ; CPU:$CC61 PRG:0C61 4C BA CB ; ----------------------------------------------------------------------------- ; Routine: SubCCC64 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC64: jsr SubCCD02 ; CPU:$CC64 PRG:0C64 20 02 CD lda ZpBF ; CPU:$CC67 PRG:0C67 A5 BF cmp #$02 ; CPU:$CC69 PRG:0C69 C9 02 beq SubCCC70 ; CPU:$CC6B PRG:0C6B F0 03 jsr UpdateMusicEngine ; CPU:$CC6D PRG:0C6D 20 09 E6 ; ----------------------------------------------------------------------------- ; Routine: SubCCC70 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC70: dec Zp1D ; CPU:$CC70 PRG:0C70 C6 1D beq SubCCC77 ; CPU:$CC72 PRG:0C72 F0 03 jmp SubCCBB6 ; CPU:$CC74 PRG:0C74 4C B6 CB ; ----------------------------------------------------------------------------- ; Routine: SubCCC77 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC77: rts ; CPU:$CC77 PRG:0C77 60 ; ----------------------------------------------------------------------------- ; Routine: SubCCC78 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC78: lda Zp24 ; CPU:$CC78 PRG:0C78 A5 24 beq SubCCC7F ; CPU:$CC7A PRG:0C7A F0 03 dec Zp24 ; CPU:$CC7C PRG:0C7C C6 24 rts ; CPU:$CC7E PRG:0C7E 60 ; ----------------------------------------------------------------------------- ; Routine: SubCCC7F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC7F: ldx Zp23 ; CPU:$CC7F PRG:0C7F A6 23 lda $DB94,x ; CPU:$CC81 PRG:0C81 BD 94 DB bmi SubCCC8F ; CPU:$CC84 PRG:0C84 30 09 sta Zp1B ; CPU:$CC86 PRG:0C86 85 1B lda $DB95,x ; CPU:$CC88 PRG:0C88 BD 95 DB sta Zp24 ; CPU:$CC8B PRG:0C8B 85 24 bne SubCCCB6 ; CPU:$CC8D PRG:0C8D D0 27 ; ----------------------------------------------------------------------------- ; Routine: SubCCC8F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCC8F: cmp #$FF ; CPU:$CC8F PRG:0C8F C9 FF beq SubCCCBB ; CPU:$CC91 PRG:0C91 F0 28 lda ZpD2 ; CPU:$CC93 PRG:0C93 A5 D2 and #$7F ; CPU:$CC95 PRG:0C95 29 7F tay ; CPU:$CC97 PRG:0C97 A8 lda $DBA8,y ; CPU:$CC98 PRG:0C98 B9 A8 DB cmp ZpBF ; CPU:$CC9B PRG:0C9B C5 BF beq SubCCCB7 ; CPU:$CC9D PRG:0C9D F0 18 sta ZpBF ; CPU:$CC9F PRG:0C9F 85 BF tax ; CPU:$CCA1 PRG:0CA1 AA ; ----------------------------------------------------------------------------- ; Routine: SubCCCA2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCCA2: lda $DBAE,x ; CPU:$CCA2 PRG:0CA2 BD AE DB sta Zp07 ; CPU:$CCA5 PRG:0CA5 85 07 lda $DBB2,x ; CPU:$CCA7 PRG:0CA7 BD B2 DB sta Zp09 ; CPU:$CCAA PRG:0CAA 85 09 jsr UpdateSoundChannel ; CPU:$CCAC PRG:0CAC 20 41 DE lda #$32 ; CPU:$CCAF PRG:0CAF A9 32 sta Zp24 ; CPU:$CCB1 PRG:0CB1 85 24 jmp InitGame ; CPU:$CCB3 PRG:0CB3 4C FD E0 ; ----------------------------------------------------------------------------- ; Routine: SubCCCB6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCCB6: inx ; CPU:$CCB6 PRG:0CB6 E8 ; ----------------------------------------------------------------------------- ; Routine: SubCCCB7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCCB7: inx ; CPU:$CCB7 PRG:0CB7 E8 stx Zp23 ; CPU:$CCB8 PRG:0CB8 86 23 rts ; CPU:$CCBA PRG:0CBA 60 ; ----------------------------------------------------------------------------- ; Routine: SubCCCBB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCCBB: ldx ZpBF ; CPU:$CCBB PRG:0CBB A6 BF cpx #$01 ; CPU:$CCBD PRG:0CBD E0 01 beq SubCCCD3 ; CPU:$CCBF PRG:0CBF F0 12 lda #$C1 ; CPU:$CCC1 PRG:0CC1 A9 C1 sta Zp08 ; CPU:$CCC3 PRG:0CC3 85 08 ldx ZpBF ; CPU:$CCC5 PRG:0CC5 A6 BF beq SubCCCD9 ; CPU:$CCC7 PRG:0CC7 F0 10 jsr UpdateGameMode ; CPU:$CCC9 PRG:0CC9 20 E2 E3 tax ; CPU:$CCCC PRG:0CCC AA bmi SubCCCD9 ; CPU:$CCCD PRG:0CCD 30 0A lda #$3F ; CPU:$CCCF PRG:0CCF A9 3F bne SubCCCD9 ; CPU:$CCD1 PRG:0CD1 D0 06 ; ----------------------------------------------------------------------------- ; Routine: SubCCCD3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCCD3: lda #$18 ; CPU:$CCD3 PRG:0CD3 A9 18 sta Zp08 ; CPU:$CCD5 PRG:0CD5 85 08 bne SubCCCDD ; CPU:$CCD7 PRG:0CD7 D0 04 ; ----------------------------------------------------------------------------- ; Routine: SubCCCD9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCCD9: ldx #$01 ; CPU:$CCD9 PRG:0CD9 A2 01 stx ZpFE ; CPU:$CCDB PRG:0CDB 86 FE ; ----------------------------------------------------------------------------- ; Routine: SubCCCDD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCCDD: sta Zp06 ; CPU:$CCDD PRG:0CDD 85 06 jsr UpdateSoundChannel3_E9ED_1 ; CPU:$CCDF PRG:0CDF 20 75 DE lda #$00 ; CPU:$CCE2 PRG:0CE2 A9 00 sta ZpD2 ; CPU:$CCE4 PRG:0CE4 85 D2 sta Zp23 ; CPU:$CCE6 PRG:0CE6 85 23 rts ; CPU:$CCE8 PRG:0CE8 60 ; ----------------------------------------------------------------------------- ; Routine: SubCCCE9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCCE9: lda $DBAA,x ; CPU:$CCE9 PRG:0CE9 BD AA DB sta ZpBF ; CPU:$CCEC PRG:0CEC 85 BF ora #$80 ; CPU:$CCEE PRG:0CEE 09 80 sta ZpD2 ; CPU:$CCF0 PRG:0CF0 85 D2 lda $DBAC,x ; CPU:$CCF2 PRG:0CF2 BD AC DB tax ; CPU:$CCF5 PRG:0CF5 AA inc Zp22 ; CPU:$CCF6 PRG:0CF6 E6 22 lda #$0B ; CPU:$CCF8 PRG:0CF8 A9 0B sta Zp23 ; CPU:$CCFA PRG:0CFA 85 23 lda #$04 ; CPU:$CCFC PRG:0CFC A9 04 sta Zp1B ; CPU:$CCFE PRG:0CFE 85 1B bne SubCCCA2 ; CPU:$CD00 PRG:0D00 D0 A0 ; ----------------------------------------------------------------------------- ; Routine: SubCCD02 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCD02: lda #$00 ; CPU:$CD02 PRG:0D02 A9 00 sta Zp1C ; CPU:$CD04 PRG:0D04 85 1C jsr UpdateSoundEngine ; CPU:$CD06 PRG:0D06 20 30 DE ldx #$02 ; CPU:$CD09 PRG:0D09 A2 02 ; ----------------------------------------------------------------------------- ; Routine: SubCCD0B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCD0B: lda ZpCD ; CPU:$CD0B PRG:0D0B A5 CD and $D7DD,x ; CPU:$CD0D PRG:0D0D 3D DD D7 beq SubCCD30 ; CPU:$CD10 PRG:0D10 F0 1E lda Zp07 ; CPU:$CD12 PRG:0D12 A5 07 sec ; CPU:$CD14 PRG:0D14 38 sbc $D9B1,x ; CPU:$CD15 PRG:0D15 FD B1 D9 cmp $D9B4,x ; CPU:$CD18 PRG:0D18 DD B4 D9 bcc SubCCD30 ; CPU:$CD1B PRG:0D1B 90 13 lda $D9B7,x ; CPU:$CD1D PRG:0D1D BD B7 D9 sta ZpDB ; CPU:$CD20 PRG:0D20 85 DB lda $D9BA,x ; CPU:$CD22 PRG:0D22 BD BA D9 sta ZpDC ; CPU:$CD25 PRG:0D25 85 DC ldy #$00 ; CPU:$CD27 PRG:0D27 A0 00 txa ; CPU:$CD29 PRG:0D29 8A adc #$1F ; CPU:$CD2A PRG:0D2A 69 1F sta (ZpDB),y ; CPU:$CD2C PRG:0D2C 91 DB sty ZpCD ; CPU:$CD2E PRG:0D2E 84 CD ; ----------------------------------------------------------------------------- ; Routine: SubCCD30 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCD30: dex ; CPU:$CD30 PRG:0D30 CA bpl SubCCD0B ; CPU:$CD31 PRG:0D31 10 D8 rts ; CPU:$CD33 PRG:0D33 60 ; ----------------------------------------------------------------------------- ; Routine: SubCCD34 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCD34: lda #$00 ; CPU:$CD34 PRG:0D34 A9 00 sta Zp41 ; CPU:$CD36 PRG:0D36 85 41 sta Zp44 ; CPU:$CD38 PRG:0D38 85 44 ldx ZpBF ; CPU:$CD3A PRG:0D3A A6 BF lda $DAE1,x ; CPU:$CD3C PRG:0D3C BD E1 DA sta Zp42 ; CPU:$CD3F PRG:0D3F 85 42 ; ----------------------------------------------------------------------------- ; Routine: SubCCD41 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCD41: jsr UpdateSoundEngine ; CPU:$CD41 PRG:0D41 20 30 DE ldx Zp42 ; CPU:$CD44 PRG:0D44 A6 42 ; ----------------------------------------------------------------------------- ; Routine: SubCCD46 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCD46: lda $DAE4,x ; CPU:$CD46 PRG:0D46 BD E4 DA cmp #$FF ; CPU:$CD49 PRG:0D49 C9 FF beq SubCCD97 ; CPU:$CD4B PRG:0D4B F0 4A lda Zp09 ; CPU:$CD4D PRG:0D4D A5 09 cmp $DAE4,x ; CPU:$CD4F PRG:0D4F DD E4 DA bcc SubCCD59 ; CPU:$CD52 PRG:0D52 90 05 cmp $DAF4,x ; CPU:$CD54 PRG:0D54 DD F4 DA bcc SubCCD5E ; CPU:$CD57 PRG:0D57 90 05 ; ----------------------------------------------------------------------------- ; Routine: SubCCD59 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCD59: inc Zp41 ; CPU:$CD59 PRG:0D59 E6 41 inx ; CPU:$CD5B PRG:0D5B E8 bne SubCCD46 ; CPU:$CD5C PRG:0D5C D0 E8 ; ----------------------------------------------------------------------------- ; Routine: SubCCD5E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCD5E: stx Zp42 ; CPU:$CD5E PRG:0D5E 86 42 lda $DB04,x ; CPU:$CD60 PRG:0D60 BD 04 DB tax ; CPU:$CD63 PRG:0D63 AA ldy #$00 ; CPU:$CD64 PRG:0D64 A0 00 lda Zp07 ; CPU:$CD66 PRG:0D66 A5 07 ; ----------------------------------------------------------------------------- ; Routine: SubCCD68 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCD68: cmp $DB14,x ; CPU:$CD68 PRG:0D68 DD 14 DB bcc SubCCD71 ; CPU:$CD6B PRG:0D6B 90 04 inx ; CPU:$CD6D PRG:0D6D E8 iny ; CPU:$CD6E PRG:0D6E C8 bne SubCCD68 ; CPU:$CD6F PRG:0D6F D0 F7 ; ----------------------------------------------------------------------------- ; Routine: SubCCD71 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCD71: sty Zp43 ; CPU:$CD71 PRG:0D71 84 43 lda $DB44,x ; CPU:$CD73 PRG:0D73 BD 44 DB bne SubCCD7D ; CPU:$CD76 PRG:0D76 D0 05 ldx Zp42 ; CPU:$CD78 PRG:0D78 A6 42 jmp SubCCD59 ; CPU:$CD7A PRG:0D7A 4C 59 CD ; ----------------------------------------------------------------------------- ; Routine: SubCCD7D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCD7D: tax ; CPU:$CD7D PRG:0D7D AA dex ; CPU:$CD7E PRG:0D7E CA lda $DB74,x ; CPU:$CD7F PRG:0D7F BD 74 DB sta ZpE4 ; CPU:$CD82 PRG:0D82 85 E4 lda $DB7E,x ; CPU:$CD84 PRG:0D84 BD 7E DB sta ZpE5 ; CPU:$CD87 PRG:0D87 85 E5 lda #$4C ; CPU:$CD89 PRG:0D89 A9 4C sta ZpE3 ; CPU:$CD8B PRG:0D8B 85 E3 jsr a:ZpE3 ; CPU:$CD8D PRG:0D8D 20 E3 00 inc Zp42 ; CPU:$CD90 PRG:0D90 E6 42 inc Zp41 ; CPU:$CD92 PRG:0D92 E6 41 jmp SubCCD41 ; CPU:$CD94 PRG:0D94 4C 41 CD ; ----------------------------------------------------------------------------- ; Routine: SubCCD97 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCD97: lda Zp44 ; CPU:$CD97 PRG:0D97 A5 44 sta Zp22 ; CPU:$CD99 PRG:0D99 85 22 rts ; CPU:$CD9B PRG:0D9B 60 ; ----------------------------------------------------------------------------- ; Routine: IncrementBonus ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- IncrementBonus: inc Zp44 ; CPU:$CD9C PRG:0D9C E6 44 lda Zp22 ; CPU:$CD9E PRG:0D9E A5 22 beq UpdateBonusDisplay_3 ; CPU:$CDA0 PRG:0DA0 F0 02 pla ; CPU:$CDA2 PRG:0DA2 68 pla ; CPU:$CDA3 PRG:0DA3 68 ; ----------------------------------------------------------------------------- ; Routine: UpdateBonusDisplay_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBonusDisplay_3: rts ; CPU:$CDA4 PRG:0DA4 60 ; ----------------------------------------------------------------------------- ; Routine: SubCCDA5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCDA5: jsr IncrementBonus ; CPU:$CDA5 PRG:0DA5 20 9C CD lda #$FF ; CPU:$CDA8 PRG:0DA8 A9 FF sta ZpD3 ; CPU:$CDAA PRG:0DAA 85 D3 ldx Zp43 ; CPU:$CDAC PRG:0DAC A6 43 dex ; CPU:$CDAE PRG:0DAE CA lda $DB88,x ; CPU:$CDAF PRG:0DAF BD 88 DB jmp UpdateMusicChannel15 ; CPU:$CDB2 PRG:0DB2 4C 3D EE ; ---- data $CDB5-$CE4D (153 bytes) ---- .byte $A2, $08, $A5, $09, $DD, $8B, $DB, $B0, $03, $CA, $10, $F8, $A5, $D0, $29, $7F ; CPU:$CDB5 PRG:0DB5 A2 08 A5 09 DD 8B DB B0 03 CA 10 F8 A5 D0 29 7F .byte $85, $E3, $E4, $E3, $B0, $0A, $8A, $09, $80, $85, $D0, $A9, $0A, $4C, $3D, $EE ; CPU:$CDC5 PRG:0DC5 85 E3 E4 E3 B0 0A 8A 09 80 85 D0 A9 0A 4C 3D EE .byte $60, $20, $9C, $CD, $A5, $D1, $09, $80, $85, $D1, $A9, $1E, $4C, $3D, $EE, $A2 ; CPU:$CDD5 PRG:0DD5 60 20 9C CD A5 D1 09 80 85 D1 A9 1E 4C 3D EE A2 .byte $00, $2C, $A2, $01, $86, $E3, $BD, $AE, $DB, $85, $0B, $38, $E5, $07, $85, $06 ; CPU:$CDE5 PRG:0DE5 00 2C A2 01 86 E3 BD AE DB 85 0B 38 E5 07 85 06 .byte $BD, $B2, $DB, $85, $0D, $38, $E5, $09, $85, $08, $20, $AA, $DC, $A5, $06, $C9 ; CPU:$CDF5 PRG:0DF5 BD B2 DB 85 0D 38 E5 09 85 08 20 AA DC A5 06 C9 .byte $0D, $B0, $10, $20, $9C, $CD, $A5, $E3, $09, $80, $85, $D2, $A9, $01, $85, $FF ; CPU:$CE05 PRG:0E05 0D B0 10 20 9C CD A5 E3 09 80 85 D2 A9 01 85 FF .byte $4C, $52, $DE, $60, $20, $9C, $CD, $A6, $43, $CA, $BD, $DD, $D7, $48, $4D, $28 ; CPU:$CE15 PRG:0E15 4C 52 DE 60 20 9C CD A6 43 CA BD DD D7 48 4D 28 .byte $01, $C9, $F8, $D0, $09, $A9, $41, $20, $3D, $EE, $A9, $01, $85, $FD, $68, $85 ; CPU:$CE25 PRG:0E25 01 C9 F8 D0 09 A9 41 20 3D EE A9 01 85 FD 68 85 .byte $D3, $A9, $1E, $4C, $3D, $EE, $20, $9C, $CD, $A5, $43, $4A, $AA, $BD, $DD, $D7 ; CPU:$CE35 PRG:0E35 D3 A9 1E 4C 3D EE 20 9C CD A5 43 4A AA BD DD D7 .byte $85, $D4, $60, $20, $9C, $CD, $A5, $43, $4A ; CPU:$CE45 PRG:0E45 85 D4 60 20 9C CD A5 43 4A ; ----------------------------------------------------------------------------- ; Routine: SubCCE4E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCE4E: tax ; CPU:$CE4E PRG:0E4E AA lda $D7DD,x ; CPU:$CE4F PRG:0E4F BD DD D7 sta ZpD5 ; CPU:$CE52 PRG:0E52 85 D5 rts ; CPU:$CE54 PRG:0E54 60 ; ---- data $CE55-$CE6B (23 bytes) ---- .byte $20, $9C, $CD, $A9, $37, $4C, $3D, $EE, $20, $9C, $CD, $A5, $43, $4A, $AA, $A4 ; CPU:$CE55 PRG:0E55 20 9C CD A9 37 4C 3D EE 20 9C CD A5 43 4A AA A4 .byte $41, $B9, $DD, $D7, $95, $D8, $60 ; CPU:$CE65 PRG:0E65 41 B9 DD D7 95 D8 60 ; ----------------------------------------------------------------------------- ; Routine: InitializeRAM ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitializeRAM: lda #$00 ; CPU:$CE6C PRG:0E6C A9 00 ldx #$47 ; CPU:$CE6E PRG:0E6E A2 47 ; ----------------------------------------------------------------------------- ; Routine: SubCCE70 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCE70: sta Zp6A,x ; CPU:$CE70 PRG:0E70 95 6A dex ; CPU:$CE72 PRG:0E72 CA bpl SubCCE70 ; CPU:$CE73 PRG:0E73 10 FB ldx #$1F ; CPU:$CE75 PRG:0E75 A2 1F ; ----------------------------------------------------------------------------- ; Routine: SubCCE77 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCE77: sta Zp2A,x ; CPU:$CE77 PRG:0E77 95 2A dex ; CPU:$CE79 PRG:0E79 CA bpl SubCCE77 ; CPU:$CE7A PRG:0E7A 10 FB sta Zp25 ; CPU:$CE7C PRG:0E7C 85 25 jsr UpdateSoundEngine ; CPU:$CE7E PRG:0E7E 20 30 DE lda Zp07 ; CPU:$CE81 PRG:0E81 A5 07 sec ; CPU:$CE83 PRG:0E83 38 sbc #$06 ; CPU:$CE84 PRG:0E84 E9 06 sta Zp06 ; CPU:$CE86 PRG:0E86 85 06 lda Zp09 ; CPU:$CE88 PRG:0E88 A5 09 sec ; CPU:$CE8A PRG:0E8A 38 sbc #$06 ; CPU:$CE8B PRG:0E8B E9 06 sta Zp08 ; CPU:$CE8D PRG:0E8D 85 08 jsr SubCDFE8 ; CPU:$CE8F PRG:0E8F 20 E8 DF lda #$08 ; CPU:$CE92 PRG:0E92 A9 08 sta ZpE6 ; CPU:$CE94 PRG:0E94 85 E6 ; ----------------------------------------------------------------------------- ; Routine: SubCCE96 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCE96: ldx ZpE6 ; CPU:$CE96 PRG:0E96 A6 E6 ldy $D74B,x ; CPU:$CE98 PRG:0E98 BC 4B D7 lda (ZpDB),y ; CPU:$CE9B PRG:0E9B B1 DB jsr ReadPPUData_3 ; CPU:$CE9D PRG:0E9D 20 A1 D4 inx ; CPU:$CEA0 PRG:0EA0 E8 txa ; CPU:$CEA1 PRG:0EA1 8A asl a ; CPU:$CEA2 PRG:0EA2 0A asl a ; CPU:$CEA3 PRG:0EA3 0A asl a ; CPU:$CEA4 PRG:0EA4 0A tax ; CPU:$CEA5 PRG:0EA5 AA dex ; CPU:$CEA6 PRG:0EA6 CA ldy #$07 ; CPU:$CEA7 PRG:0EA7 A0 07 ; ----------------------------------------------------------------------------- ; Routine: SubCCEA9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCEA9: lda (ZpDF),y ; CPU:$CEA9 PRG:0EA9 B1 DF sta Zp6A,x ; CPU:$CEAB PRG:0EAB 95 6A dex ; CPU:$CEAD PRG:0EAD CA dey ; CPU:$CEAE PRG:0EAE 88 bpl SubCCEA9 ; CPU:$CEAF PRG:0EAF 10 F8 dec ZpE6 ; CPU:$CEB1 PRG:0EB1 C6 E6 bpl SubCCE96 ; CPU:$CEB3 PRG:0EB3 10 E1 ldx ZpB4 ; CPU:$CEB5 PRG:0EB5 A6 B4 lda $D7ED,x ; CPU:$CEB7 PRG:0EB7 BD ED D7 sta ZpDF ; CPU:$CEBA PRG:0EBA 85 DF lda $D7F5,x ; CPU:$CEBC PRG:0EBC BD F5 D7 sta ZpE0 ; CPU:$CEBF PRG:0EBF 85 E0 ldx ZpB5 ; CPU:$CEC1 PRG:0EC1 A6 B5 ldy #$00 ; CPU:$CEC3 PRG:0EC3 A0 00 ; ----------------------------------------------------------------------------- ; Routine: SubCCEC5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCEC5: lda #$0D ; CPU:$CEC5 PRG:0EC5 A9 0D sta ZpE6 ; CPU:$CEC7 PRG:0EC7 85 E6 ; ----------------------------------------------------------------------------- ; Routine: SubCCEC9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCEC9: lda (ZpDF),y ; CPU:$CEC9 PRG:0EC9 B1 DF and Zp6A,x ; CPU:$CECB PRG:0ECB 35 6A beq SubCCED1 ; CPU:$CECD PRG:0ECD F0 02 inc Zp25 ; CPU:$CECF PRG:0ECF E6 25 ; ----------------------------------------------------------------------------- ; Routine: SubCCED1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCED1: sta a:Zp6A,y ; CPU:$CED1 PRG:0ED1 99 6A 00 inx ; CPU:$CED4 PRG:0ED4 E8 iny ; CPU:$CED5 PRG:0ED5 C8 dec ZpE6 ; CPU:$CED6 PRG:0ED6 C6 E6 bne SubCCEC9 ; CPU:$CED8 PRG:0ED8 D0 EF txa ; CPU:$CEDA PRG:0EDA 8A clc ; CPU:$CEDB PRG:0EDB 18 adc #$0B ; CPU:$CEDC PRG:0EDC 69 0B tax ; CPU:$CEDE PRG:0EDE AA cpy #$27 ; CPU:$CEDF PRG:0EDF C0 27 bne SubCCEC5 ; CPU:$CEE1 PRG:0EE1 D0 E2 lda Zp25 ; CPU:$CEE3 PRG:0EE3 A5 25 bne SubCCEEA ; CPU:$CEE5 PRG:0EE5 D0 03 jmp ProcessSpriteAttributes2 ; CPU:$CEE7 PRG:0EE7 4C 82 CF ; ----------------------------------------------------------------------------- ; Routine: SubCCEEA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCEEA: lda #$00 ; CPU:$CEEA PRG:0EEA A9 00 sta Zp25 ; CPU:$CEEC PRG:0EEC 85 25 lda #$0C ; CPU:$CEEE PRG:0EEE A9 0C sta ZpE6 ; CPU:$CEF0 PRG:0EF0 85 E6 ; ----------------------------------------------------------------------------- ; Routine: ProcessSpriteData ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessSpriteData: ldx ZpE6 ; CPU:$CEF2 PRG:0EF2 A6 E6 lda Zp6A,x ; CPU:$CEF4 PRG:0EF4 B5 6A sta Zp27 ; CPU:$CEF6 PRG:0EF6 85 27 lda Zp77,x ; CPU:$CEF8 PRG:0EF8 B5 77 sta Zp28 ; CPU:$CEFA PRG:0EFA 85 28 lda Zp84,x ; CPU:$CEFC PRG:0EFC B5 84 sta Zp29 ; CPU:$CEFE PRG:0EFE 85 29 ldy #$00 ; CPU:$CF00 PRG:0F00 A0 00 sty Zp26 ; CPU:$CF02 PRG:0F02 84 26 ; ----------------------------------------------------------------------------- ; Routine: ProcessSpriteAttributes ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessSpriteAttributes: lda Zp27 ; CPU:$CF04 PRG:0F04 A5 27 ora Zp28 ; CPU:$CF06 PRG:0F06 05 28 ora Zp29 ; CPU:$CF08 PRG:0F08 05 29 beq SubCCF7B ; CPU:$CF0A PRG:0F0A F0 6F lda Zp27 ; CPU:$CF0C PRG:0F0C A5 27 bne SubCCF25 ; CPU:$CF0E PRG:0F0E D0 15 lda Zp28 ; CPU:$CF10 PRG:0F10 A5 28 sta Zp27 ; CPU:$CF12 PRG:0F12 85 27 lda Zp29 ; CPU:$CF14 PRG:0F14 A5 29 sta Zp28 ; CPU:$CF16 PRG:0F16 85 28 lda #$00 ; CPU:$CF18 PRG:0F18 A9 00 sta Zp29 ; CPU:$CF1A PRG:0F1A 85 29 lda Zp26 ; CPU:$CF1C PRG:0F1C A5 26 clc ; CPU:$CF1E PRG:0F1E 18 adc #$08 ; CPU:$CF1F PRG:0F1F 69 08 sta Zp26 ; CPU:$CF21 PRG:0F21 85 26 bpl ProcessSpriteAttributes ; CPU:$CF23 PRG:0F23 10 DF ; ----------------------------------------------------------------------------- ; Routine: SubCCF25 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCF25: asl Zp29 ; CPU:$CF25 PRG:0F25 06 29 rol Zp28 ; CPU:$CF27 PRG:0F27 26 28 rol Zp27 ; CPU:$CF29 PRG:0F29 26 27 bcc SubCCF76 ; CPU:$CF2B PRG:0F2B 90 49 inc Zp25 ; CPU:$CF2D PRG:0F2D E6 25 ldx ZpE6 ; CPU:$CF2F PRG:0F2F A6 E6 lda $D754,x ; CPU:$CF31 PRG:0F31 BD 54 D7 tax ; CPU:$CF34 PRG:0F34 AA lda Zp26 ; CPU:$CF35 PRG:0F35 A5 26 sec ; CPU:$CF37 PRG:0F37 38 sbc ZpB4 ; CPU:$CF38 PRG:0F38 E5 B4 ; ----------------------------------------------------------------------------- ; Routine: SubCCF3A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCF3A: cmp $D761,x ; CPU:$CF3A PRG:0F3A DD 61 D7 beq SubCCF43 ; CPU:$CF3D PRG:0F3D F0 04 inx ; CPU:$CF3F PRG:0F3F E8 inx ; CPU:$CF40 PRG:0F40 E8 bne SubCCF3A ; CPU:$CF41 PRG:0F41 D0 F7 ; ----------------------------------------------------------------------------- ; Routine: SubCCF43 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCF43: lda $D762,x ; CPU:$CF43 PRG:0F43 BD 62 D7 pha ; CPU:$CF46 PRG:0F46 48 lda Zp26 ; CPU:$CF47 PRG:0F47 A5 26 lsr a ; CPU:$CF49 PRG:0F49 4A lsr a ; CPU:$CF4A PRG:0F4A 4A lsr a ; CPU:$CF4B PRG:0F4B 4A tax ; CPU:$CF4C PRG:0F4C AA lda $D7A1,x ; CPU:$CF4D PRG:0F4D BD A1 D7 sta ZpE3 ; CPU:$CF50 PRG:0F50 85 E3 lda ZpE6 ; CPU:$CF52 PRG:0F52 A5 E6 clc ; CPU:$CF54 PRG:0F54 18 adc ZpB5 ; CPU:$CF55 PRG:0F55 65 B5 lsr a ; CPU:$CF57 PRG:0F57 4A lsr a ; CPU:$CF58 PRG:0F58 4A lsr a ; CPU:$CF59 PRG:0F59 4A clc ; CPU:$CF5A PRG:0F5A 18 adc ZpE3 ; CPU:$CF5B PRG:0F5B 65 E3 tax ; CPU:$CF5D PRG:0F5D AA tya ; CPU:$CF5E PRG:0F5E 98 pha ; CPU:$CF5F PRG:0F5F 48 ldy $D74B,x ; CPU:$CF60 PRG:0F60 BC 4B D7 lda (ZpDB),y ; CPU:$CF63 PRG:0F63 B1 DB sta ZpE3 ; CPU:$CF65 PRG:0F65 85 E3 sty ZpE4 ; CPU:$CF67 PRG:0F67 84 E4 pla ; CPU:$CF69 PRG:0F69 68 tay ; CPU:$CF6A PRG:0F6A A8 pla ; CPU:$CF6B PRG:0F6B 68 tax ; CPU:$CF6C PRG:0F6C AA lda ZpE3 ; CPU:$CF6D PRG:0F6D A5 E3 sta Zp2A,x ; CPU:$CF6F PRG:0F6F 95 2A lda ZpE4 ; CPU:$CF71 PRG:0F71 A5 E4 sta Zp4A,x ; CPU:$CF73 PRG:0F73 95 4A iny ; CPU:$CF75 PRG:0F75 C8 ; ----------------------------------------------------------------------------- ; Routine: SubCCF76 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCF76: inc Zp26 ; CPU:$CF76 PRG:0F76 E6 26 jmp ProcessSpriteAttributes ; CPU:$CF78 PRG:0F78 4C 04 CF ; ----------------------------------------------------------------------------- ; Routine: SubCCF7B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCF7B: dec ZpE6 ; CPU:$CF7B PRG:0F7B C6 E6 bmi ProcessSpriteAttributes2 ; CPU:$CF7D PRG:0F7D 30 03 jmp ProcessSpriteData ; CPU:$CF7F PRG:0F7F 4C F2 CE ; ----------------------------------------------------------------------------- ; Routine: ProcessSpriteAttributes2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessSpriteAttributes2: ldy Zp25 ; CPU:$CF82 PRG:0F82 A4 25 beq SubCCFD3 ; CPU:$CF84 PRG:0F84 F0 4D ldx #$00 ; CPU:$CF86 PRG:0F86 A2 00 ldy #$00 ; CPU:$CF88 PRG:0F88 A0 00 ; ----------------------------------------------------------------------------- ; Routine: SubCCF8A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCF8A: cpx #$20 ; CPU:$CF8A PRG:0F8A E0 20 bcs SubCCFD3 ; CPU:$CF8C PRG:0F8C B0 45 lda Zp2A,x ; CPU:$CF8E PRG:0F8E B5 2A bne SubCCF95 ; CPU:$CF90 PRG:0F90 D0 03 inx ; CPU:$CF92 PRG:0F92 E8 bne SubCCF8A ; CPU:$CF93 PRG:0F93 D0 F5 ; ----------------------------------------------------------------------------- ; Routine: SubCCF95 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCF95: stx Zp25 ; CPU:$CF95 PRG:0F95 86 25 ; ----------------------------------------------------------------------------- ; Routine: SubCCF97 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCF97: inx ; CPU:$CF97 PRG:0F97 E8 cpx #$20 ; CPU:$CF98 PRG:0F98 E0 20 bne SubCCF9E ; CPU:$CF9A PRG:0F9A D0 02 ldx #$00 ; CPU:$CF9C PRG:0F9C A2 00 ; ----------------------------------------------------------------------------- ; Routine: SubCCF9E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCF9E: lda Zp2A,x ; CPU:$CF9E PRG:0F9E B5 2A bne SubCCF97 ; CPU:$CFA0 PRG:0FA0 D0 F5 dex ; CPU:$CFA2 PRG:0FA2 CA bpl SubCCFA7 ; CPU:$CFA3 PRG:0FA3 10 02 ldx #$1F ; CPU:$CFA5 PRG:0FA5 A2 1F ; ----------------------------------------------------------------------------- ; Routine: SubCCFA7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCFA7: txa ; CPU:$CFA7 PRG:0FA7 8A cmp Zp25 ; CPU:$CFA8 PRG:0FA8 C5 25 bcc SubCCFC1 ; CPU:$CFAA PRG:0FAA 90 15 clc ; CPU:$CFAC PRG:0FAC 18 adc Zp25 ; CPU:$CFAD PRG:0FAD 65 25 lsr a ; CPU:$CFAF PRG:0FAF 4A sta a:Zp6A,y ; CPU:$CFB0 PRG:0FB0 99 6A 00 stx ZpE3 ; CPU:$CFB3 PRG:0FB3 86 E3 tax ; CPU:$CFB5 PRG:0FB5 AA lda Zp2A,x ; CPU:$CFB6 PRG:0FB6 B5 2A sta a:Zp7A,y ; CPU:$CFB8 PRG:0FB8 99 7A 00 ldx ZpE3 ; CPU:$CFBB PRG:0FBB A6 E3 inx ; CPU:$CFBD PRG:0FBD E8 iny ; CPU:$CFBE PRG:0FBE C8 bne SubCCF8A ; CPU:$CFBF PRG:0FBF D0 C9 ; ----------------------------------------------------------------------------- ; Routine: SubCCFC1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCFC1: adc Zp25 ; CPU:$CFC1 PRG:0FC1 65 25 adc #$20 ; CPU:$CFC3 PRG:0FC3 69 20 lsr a ; CPU:$CFC5 PRG:0FC5 4A cmp #$20 ; CPU:$CFC6 PRG:0FC6 C9 20 bcc SubCCFCC ; CPU:$CFC8 PRG:0FC8 90 02 sbc #$20 ; CPU:$CFCA PRG:0FCA E9 20 ; ----------------------------------------------------------------------------- ; Routine: SubCCFCC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCFCC: sta Zp6A ; CPU:$CFCC PRG:0FCC 85 6A tax ; CPU:$CFCE PRG:0FCE AA lda Zp2A,x ; CPU:$CFCF PRG:0FCF B5 2A sta Zp7A ; CPU:$CFD1 PRG:0FD1 85 7A ; ----------------------------------------------------------------------------- ; Routine: SubCCFD3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCFD3: sty Zp26 ; CPU:$CFD3 PRG:0FD3 84 26 ; ----------------------------------------------------------------------------- ; Routine: SubCCFD5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCFD5: dey ; CPU:$CFD5 PRG:0FD5 88 bmi SubCCFEB ; CPU:$CFD6 PRG:0FD6 30 13 lda ZpDB ; CPU:$CFD8 PRG:0FD8 A5 DB clc ; CPU:$CFDA PRG:0FDA 18 ldx Zp6A,y ; CPU:$CFDB PRG:0FDB B6 6A adc Zp4A,x ; CPU:$CFDD PRG:0FDD 75 4A sta a:Zp8A,y ; CPU:$CFDF PRG:0FDF 99 8A 00 lda ZpDC ; CPU:$CFE2 PRG:0FE2 A5 DC adc #$00 ; CPU:$CFE4 PRG:0FE4 69 00 sta a:Zp9A,y ; CPU:$CFE6 PRG:0FE6 99 9A 00 bcc SubCCFD5 ; CPU:$CFE9 PRG:0FE9 90 EA ; ----------------------------------------------------------------------------- ; Routine: SubCCFEB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCCFEB: rts ; CPU:$CFEB PRG:0FEB 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSprites_C34B2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSprites_C34B2: jsr UpdateSoundEngine ; CPU:$CFEC PRG:0FEC 20 30 DE ldx Zp26 ; CPU:$CFEF PRG:0FEF A6 26 ldy Zp6A,x ; CPU:$CFF1 PRG:0FF1 B4 6A tya ; CPU:$CFF3 PRG:0FF3 98 clc ; CPU:$CFF4 PRG:0FF4 18 adc #$04 ; CPU:$CFF5 PRG:0FF5 69 04 lsr a ; CPU:$CFF7 PRG:0FF7 4A lsr a ; CPU:$CFF8 PRG:0FF8 4A lsr a ; CPU:$CFF9 PRG:0FF9 4A tax ; CPU:$CFFA PRG:0FFA AA lda $D7A4,x ; CPU:$CFFB PRG:0FFB BD A4 D7 sta Zp25 ; CPU:$CFFE PRG:0FFE 85 25 lda $D7A9,y ; CPU:$D000 PRG:1000 B9 A9 D7 clc ; CPU:$D003 PRG:1003 18 adc Zp07 ; CPU:$D004 PRG:1004 65 07 sta Zp06 ; CPU:$D006 PRG:1006 85 06 lda $D7B1,y ; CPU:$D008 PRG:1008 B9 B1 D7 clc ; CPU:$D00B PRG:100B 18 adc Zp09 ; CPU:$D00C PRG:100C 65 09 sta Zp08 ; CPU:$D00E PRG:100E 85 08 jsr UpdateBumperState13 ; CPU:$D010 PRG:1010 20 AC DD ldx Zp25 ; CPU:$D013 PRG:1013 A6 25 lda $D7D1,x ; CPU:$D015 PRG:1015 BD D1 D7 clc ; CPU:$D018 PRG:1018 18 adc Zp06 ; CPU:$D019 PRG:1019 65 06 sta Zp06 ; CPU:$D01B PRG:101B 85 06 lda $D7D5,x ; CPU:$D01D PRG:101D BD D5 D7 clc ; CPU:$D020 PRG:1020 18 adc Zp08 ; CPU:$D021 PRG:1021 65 08 sta Zp08 ; CPU:$D023 PRG:1023 85 08 jsr UpdateBumperState12 ; CPU:$D025 PRG:1025 20 A3 DD jsr DrawScore ; CPU:$D028 PRG:1028 20 90 D3 beq SubCD030 ; CPU:$D02B PRG:102B F0 03 jmp UpdateBallX ; CPU:$D02D PRG:102D 4C 93 D0 ; ----------------------------------------------------------------------------- ; Routine: SubCD030 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD030: lda Zp25 ; CPU:$D030 PRG:1030 A5 25 sta Zp2B ; CPU:$D032 PRG:1032 85 2B lda #$00 ; CPU:$D034 PRG:1034 A9 00 sta ZpE6 ; CPU:$D036 PRG:1036 85 E6 lda #$20 ; CPU:$D038 PRG:1038 A9 20 sta Zp2A ; CPU:$D03A PRG:103A 85 2A ; ----------------------------------------------------------------------------- ; Routine: UpdateScore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScore: jsr UpdateScoreDisplay_3 ; CPU:$D03C PRG:103C 20 AA D3 ldx ZpE6 ; CPU:$D03F PRG:103F A6 E6 sta Zp2E,x ; CPU:$D041 PRG:1041 95 2E cpx #$01 ; CPU:$D043 PRG:1043 E0 01 bcs SubCD055 ; CPU:$D045 PRG:1045 B0 0E lda Zp2B ; CPU:$D047 PRG:1047 A5 2B eor #$01 ; CPU:$D049 PRG:1049 49 01 sta Zp2B ; CPU:$D04B PRG:104B 85 2B inc ZpE6 ; CPU:$D04D PRG:104D E6 E6 lda Zp2C ; CPU:$D04F PRG:104F A5 2C pha ; CPU:$D051 PRG:1051 48 jmp UpdateScore ; CPU:$D052 PRG:1052 4C 3C D0 ; ----------------------------------------------------------------------------- ; Routine: SubCD055 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD055: pla ; CPU:$D055 PRG:1055 68 clc ; CPU:$D056 PRG:1056 18 adc Zp2C ; CPU:$D057 PRG:1057 65 2C sbc #$02 ; CPU:$D059 PRG:1059 E9 02 tax ; CPU:$D05B PRG:105B AA lda Zp2E ; CPU:$D05C PRG:105C A5 2E cmp Zp2F ; CPU:$D05E PRG:105E C5 2F bne SubCD066 ; CPU:$D060 PRG:1060 D0 04 lda #$00 ; CPU:$D062 PRG:1062 A9 00 beq UpdateBallY ; CPU:$D064 PRG:1064 F0 16 ; ----------------------------------------------------------------------------- ; Routine: SubCD066 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD066: cpx #$1C ; CPU:$D066 PRG:1066 E0 1C bcc SubCD06C ; CPU:$D068 PRG:1068 90 02 ldx #$1C ; CPU:$D06A PRG:106A A2 1C ; ----------------------------------------------------------------------------- ; Routine: SubCD06C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD06C: ldy Zp2E ; CPU:$D06C PRG:106C A4 2E beq SubCD076 ; CPU:$D06E PRG:106E F0 06 lda $D928,x ; CPU:$D070 PRG:1070 BD 28 D9 jmp UpdateBallY ; CPU:$D073 PRG:1073 4C 7C D0 ; ----------------------------------------------------------------------------- ; Routine: SubCD076 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD076: lda #$00 ; CPU:$D076 PRG:1076 A9 00 sec ; CPU:$D078 PRG:1078 38 sbc $D928,x ; CPU:$D079 PRG:1079 FD 28 D9 ; ----------------------------------------------------------------------------- ; Routine: UpdateBallY ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBallY: ldx Zp25 ; CPU:$D07C PRG:107C A6 25 clc ; CPU:$D07E PRG:107E 18 adc $D7D9,x ; CPU:$D07F PRG:107F 7D D9 D7 bne SubCD08F ; CPU:$D082 PRG:1082 D0 0B jsr UpdateSoundChannel2_E96A_1 ; CPU:$D084 PRG:1084 20 63 DE lda #$01 ; CPU:$D087 PRG:1087 A9 01 ldx Zp06 ; CPU:$D089 PRG:1089 A6 06 bmi SubCD08F ; CPU:$D08B PRG:108B 30 02 lda #$FF ; CPU:$D08D PRG:108D A9 FF ; ----------------------------------------------------------------------------- ; Routine: SubCD08F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD08F: sta Zp30 ; CPU:$D08F PRG:108F 85 30 clc ; CPU:$D091 PRG:1091 18 rts ; CPU:$D092 PRG:1092 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBallX ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBallX: jsr UpdateSoundEngine ; CPU:$D093 PRG:1093 20 30 DE ldx Zp25 ; CPU:$D096 PRG:1096 A6 25 lda Zp07 ; CPU:$D098 PRG:1098 A5 07 clc ; CPU:$D09A PRG:109A 18 adc $D7D1,x ; CPU:$D09B PRG:109B 7D D1 D7 sta Zp07 ; CPU:$D09E PRG:109E 85 07 lda Zp09 ; CPU:$D0A0 PRG:10A0 A5 09 clc ; CPU:$D0A2 PRG:10A2 18 adc $D7D5,x ; CPU:$D0A3 PRG:10A3 7D D5 D7 sta Zp09 ; CPU:$D0A6 PRG:10A6 85 09 jsr UpdateSoundChannel ; CPU:$D0A8 PRG:10A8 20 41 DE sec ; CPU:$D0AB PRG:10AB 38 rts ; CPU:$D0AC PRG:10AC 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateScore2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScore2: lda #$00 ; CPU:$D0AD PRG:10AD A9 00 sta Zp31 ; CPU:$D0AF PRG:10AF 85 31 ldx Zp26 ; CPU:$D0B1 PRG:10B1 A6 26 lda Zp6A,x ; CPU:$D0B3 PRG:10B3 B5 6A tax ; CPU:$D0B5 PRG:10B5 AA lda Zp30 ; CPU:$D0B6 PRG:10B6 A5 30 sec ; CPU:$D0B8 PRG:10B8 38 sbc $D945,x ; CPU:$D0B9 PRG:10B9 FD 45 D9 bmi SubCD0C9 ; CPU:$D0BC PRG:10BC 30 0B tay ; CPU:$D0BE PRG:10BE A8 txa ; CPU:$D0BF PRG:10BF 8A and #$07 ; CPU:$D0C0 PRG:10C0 29 07 tax ; CPU:$D0C2 PRG:10C2 AA tya ; CPU:$D0C3 PRG:10C3 98 cmp $D965,x ; CPU:$D0C4 PRG:10C4 DD 65 D9 bcc SubCD0D2 ; CPU:$D0C7 PRG:10C7 90 09 ; ----------------------------------------------------------------------------- ; Routine: SubCD0C9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD0C9: ldx Zp26 ; CPU:$D0C9 PRG:10C9 A6 26 ldy Zp6A,x ; CPU:$D0CB PRG:10CB B4 6A lda $D96D,y ; CPU:$D0CD PRG:10CD B9 6D D9 sta Zp30 ; CPU:$D0D0 PRG:10D0 85 30 ; ----------------------------------------------------------------------------- ; Routine: SubCD0D2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD0D2: jsr UpdateFlipperSound ; CPU:$D0D2 PRG:10D2 20 E0 D0 bcs SubCD0DF ; CPU:$D0D5 PRG:10D5 B0 08 jsr UpdateBallY2 ; CPU:$D0D7 PRG:10D7 20 91 D1 bcs SubCD0DF ; CPU:$D0DA PRG:10DA B0 03 jmp CheckBallPosition ; CPU:$D0DC PRG:10DC 4C 59 D3 ; ----------------------------------------------------------------------------- ; Routine: SubCD0DF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD0DF: rts ; CPU:$D0DF PRG:10DF 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateFlipperSound ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateFlipperSound: jsr UpdateSoundChannel2_E96A_1 ; CPU:$D0E0 PRG:10E0 20 63 DE jsr UpdateBumperHit2 ; CPU:$D0E3 PRG:10E3 20 3E DC sta Zp34 ; CPU:$D0E6 PRG:10E6 85 34 lda Zp30 ; CPU:$D0E8 PRG:10E8 A5 30 sec ; CPU:$D0EA PRG:10EA 38 sbc Zp34 ; CPU:$D0EB PRG:10EB E5 34 beq SubCD0F5 ; CPU:$D0ED PRG:10ED F0 06 sta Zp33 ; CPU:$D0EF PRG:10EF 85 33 cmp #$80 ; CPU:$D0F1 PRG:10F1 C9 80 bcc SubCD0F8 ; CPU:$D0F3 PRG:10F3 90 03 ; ----------------------------------------------------------------------------- ; Routine: SubCD0F5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD0F5: jmp UpdateBallX ; CPU:$D0F5 PRG:10F5 4C 93 D0 ; ----------------------------------------------------------------------------- ; Routine: SubCD0F8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD0F8: jsr UpdateSoundChannel2_E96A_1 ; CPU:$D0F8 PRG:10F8 20 63 DE jsr UpdateBumperState4 ; CPU:$D0FB PRG:10FB 20 AA DC lda Zp06 ; CPU:$D0FE PRG:10FE A5 06 sta Zp35 ; CPU:$D100 PRG:1100 85 35 cmp #$07 ; CPU:$D102 PRG:1102 C9 07 bcs SubCD157 ; CPU:$D104 PRG:1104 B0 51 lda Zp31 ; CPU:$D106 PRG:1106 A5 31 cmp #$02 ; CPU:$D108 PRG:1108 C9 02 bne SubCD10E ; CPU:$D10A PRG:110A D0 02 sec ; CPU:$D10C PRG:110C 38 rts ; CPU:$D10D PRG:110D 60 ; ----------------------------------------------------------------------------- ; Routine: SubCD10E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD10E: lda Zp30 ; CPU:$D10E PRG:110E A5 30 cmp #$20 ; CPU:$D110 PRG:1110 C9 20 bcs SubCD118 ; CPU:$D112 PRG:1112 B0 04 lda #$FD ; CPU:$D114 PRG:1114 A9 FD bne SubCD11E ; CPU:$D116 PRG:1116 D0 06 ; ----------------------------------------------------------------------------- ; Routine: SubCD118 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD118: cmp #$E1 ; CPU:$D118 PRG:1118 C9 E1 bcc SubCD157 ; CPU:$D11A PRG:111A 90 3B lda #$03 ; CPU:$D11C PRG:111C A9 03 ; ----------------------------------------------------------------------------- ; Routine: SubCD11E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD11E: ldx ZpBF ; CPU:$D11E PRG:111E A6 BF cpx #$02 ; CPU:$D120 PRG:1120 E0 02 bne SubCD125 ; CPU:$D122 PRG:1122 D0 01 asl a ; CPU:$D124 PRG:1124 0A ; ----------------------------------------------------------------------------- ; Routine: SubCD125 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD125: sta Zp06 ; CPU:$D125 PRG:1125 85 06 lda #$FB ; CPU:$D127 PRG:1127 A9 FB sta Zp08 ; CPU:$D129 PRG:1129 85 08 jsr UpdateSoundChannel3_E9ED_1 ; CPU:$D12B PRG:112B 20 75 DE lda ZpBF ; CPU:$D12E PRG:112E A5 BF cmp #$01 ; CPU:$D130 PRG:1130 C9 01 bne SubCD154 ; CPU:$D132 PRG:1132 D0 20 jsr UpdateSoundEngine ; CPU:$D134 PRG:1134 20 30 DE lda Zp07 ; CPU:$D137 PRG:1137 A5 07 cmp #$E1 ; CPU:$D139 PRG:1139 C9 E1 bcc SubCD154 ; CPU:$D13B PRG:113B 90 17 jsr UpdateSoundChannel4_EAD1_3 ; CPU:$D13D PRG:113D 20 D1 EA asl a ; CPU:$D140 PRG:1140 0A asl a ; CPU:$D141 PRG:1141 0A sta ZpE3 ; CPU:$D142 PRG:1142 85 E3 lda #$CD ; CPU:$D144 PRG:1144 A9 CD sec ; CPU:$D146 PRG:1146 38 sbc ZpE3 ; CPU:$D147 PRG:1147 E5 E3 sta Zp08 ; CPU:$D149 PRG:1149 85 08 lda #$00 ; CPU:$D14B PRG:114B A9 00 sta Zp06 ; CPU:$D14D PRG:114D 85 06 jsr UpdateSoundChannel3_E9ED_1 ; CPU:$D14F PRG:114F 20 75 DE sec ; CPU:$D152 PRG:1152 38 rts ; CPU:$D153 PRG:1153 60 ; ----------------------------------------------------------------------------- ; Routine: SubCD154 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD154: jmp UpdateBallX ; CPU:$D154 PRG:1154 4C 93 D0 ; ----------------------------------------------------------------------------- ; Routine: SubCD157 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD157: clc ; CPU:$D157 PRG:1157 18 rts ; CPU:$D158 PRG:1158 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBallPosition_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBallPosition_3: lda Zp35 ; CPU:$D159 PRG:1159 A5 35 ; ----------------------------------------------------------------------------- ; Routine: UpdateBallPosition2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBallPosition2: sta Zp06 ; CPU:$D15B PRG:115B 85 06 lda Zp33 ; CPU:$D15D PRG:115D A5 33 jsr UpdateBumperState9 ; CPU:$D15F PRG:115F 20 78 DD jsr UpdateBumperChain ; CPU:$D162 PRG:1162 20 DD DC lda Zp07 ; CPU:$D165 PRG:1165 A5 07 sta Zp36 ; CPU:$D167 PRG:1167 85 36 lda Zp35 ; CPU:$D169 PRG:1169 A5 35 sta Zp06 ; CPU:$D16B PRG:116B 85 06 lda Zp33 ; CPU:$D16D PRG:116D A5 33 jsr UpdateBumperState8 ; CPU:$D16F PRG:116F 20 75 DD jsr UpdateBumperChain ; CPU:$D172 PRG:1172 20 DD DC lda Zp07 ; CPU:$D175 PRG:1175 A5 07 sta Zp37 ; CPU:$D177 PRG:1177 85 37 lda Zp30 ; CPU:$D179 PRG:1179 A5 30 clc ; CPU:$D17B PRG:117B 18 adc #$40 ; CPU:$D17C PRG:117C 69 40 sta Zp38 ; CPU:$D17E PRG:117E 85 38 lda Zp30 ; CPU:$D180 PRG:1180 A5 30 ldx Zp33 ; CPU:$D182 PRG:1182 A6 33 cpx #$40 ; CPU:$D184 PRG:1184 E0 40 bcc SubCD18E ; CPU:$D186 PRG:1186 90 06 cpx #$C0 ; CPU:$D188 PRG:1188 E0 C0 bcs SubCD18E ; CPU:$D18A PRG:118A B0 02 adc #$7F ; CPU:$D18C PRG:118C 69 7F ; ----------------------------------------------------------------------------- ; Routine: SubCD18E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD18E: sta Zp39 ; CPU:$D18E PRG:118E 85 39 rts ; CPU:$D190 PRG:1190 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBallY2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBallY2: jsr UpdateSoundEngine ; CPU:$D191 PRG:1191 20 30 DE ldx Zp26 ; CPU:$D194 PRG:1194 A6 26 lda Zp7A,x ; CPU:$D196 PRG:1196 B5 7A cmp #$7F ; CPU:$D198 PRG:1198 C9 7F bcc SubCD1B8 ; CPU:$D19A PRG:119A 90 1C cmp #$8B ; CPU:$D19C PRG:119C C9 8B bcs SubCD1B8 ; CPU:$D19E PRG:119E B0 18 sbc #$7E ; CPU:$D1A0 PRG:11A0 E9 7E asl a ; CPU:$D1A2 PRG:11A2 0A and #$04 ; CPU:$D1A3 PRG:11A3 29 04 tax ; CPU:$D1A5 PRG:11A5 AA ldy #$00 ; CPU:$D1A6 PRG:11A6 A0 00 lda Zp07 ; CPU:$D1A8 PRG:11A8 A5 07 ; ----------------------------------------------------------------------------- ; Routine: SubCD1AA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD1AA: cmp $D9A7,x ; CPU:$D1AA PRG:11AA DD A7 D9 bcc SubCD1B3 ; CPU:$D1AD PRG:11AD 90 04 inx ; CPU:$D1AF PRG:11AF E8 iny ; CPU:$D1B0 PRG:11B0 C8 bne SubCD1AA ; CPU:$D1B1 PRG:11B1 D0 F7 ; ----------------------------------------------------------------------------- ; Routine: SubCD1B3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD1B3: tya ; CPU:$D1B3 PRG:11B3 98 ldy #$00 ; CPU:$D1B4 PRG:11B4 A0 00 beq SubCD1CE ; CPU:$D1B6 PRG:11B6 F0 16 ; ----------------------------------------------------------------------------- ; Routine: SubCD1B8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD1B8: ldy ZpBF ; CPU:$D1B8 PRG:11B8 A4 BF ldx $D98D,y ; CPU:$D1BA PRG:11BA BE 8D D9 ; ----------------------------------------------------------------------------- ; Routine: SubCD1BD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD1BD: cmp $D990,x ; CPU:$D1BD PRG:11BD DD 90 D9 beq SubCD1CA ; CPU:$D1C0 PRG:11C0 F0 08 ldy $D990,x ; CPU:$D1C2 PRG:11C2 BC 90 D9 beq SubCD1D1 ; CPU:$D1C5 PRG:11C5 F0 0A inx ; CPU:$D1C7 PRG:11C7 E8 bne SubCD1BD ; CPU:$D1C8 PRG:11C8 D0 F3 ; ----------------------------------------------------------------------------- ; Routine: SubCD1CA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD1CA: lda #$00 ; CPU:$D1CA PRG:11CA A9 00 ldy #$01 ; CPU:$D1CC PRG:11CC A0 01 ; ----------------------------------------------------------------------------- ; Routine: SubCD1CE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD1CE: jmp CheckCollision ; CPU:$D1CE PRG:11CE 4C 96 D2 ; ----------------------------------------------------------------------------- ; Routine: SubCD1D1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD1D1: cmp #$20 ; CPU:$D1D1 PRG:11D1 C9 20 bcc SubCD203 ; CPU:$D1D3 PRG:11D3 90 2E cmp #$23 ; CPU:$D1D5 PRG:11D5 C9 23 bcs SubCD203 ; CPU:$D1D7 PRG:11D7 B0 2A sec ; CPU:$D1D9 PRG:11D9 38 sbc #$20 ; CPU:$D1DA PRG:11DA E9 20 tax ; CPU:$D1DC PRG:11DC AA lda Zp34 ; CPU:$D1DD PRG:11DD A5 34 sec ; CPU:$D1DF PRG:11DF 38 sbc $D9BD,x ; CPU:$D1E0 PRG:11E0 FD BD D9 cmp #$80 ; CPU:$D1E3 PRG:11E3 C9 80 bcc SubCD1EA ; CPU:$D1E5 PRG:11E5 90 03 jmp CheckFlipperHit ; CPU:$D1E7 PRG:11E7 4C E4 D2 ; ----------------------------------------------------------------------------- ; Routine: SubCD1EA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD1EA: lda ZpCD ; CPU:$D1EA PRG:11EA A5 CD ora $D7DD,x ; CPU:$D1EC PRG:11EC 1D DD D7 sta ZpCD ; CPU:$D1EF PRG:11EF 85 CD ldx Zp26 ; CPU:$D1F1 PRG:11F1 A6 26 lda Zp8A,x ; CPU:$D1F3 PRG:11F3 B5 8A sta ZpDB ; CPU:$D1F5 PRG:11F5 85 DB lda Zp9A,x ; CPU:$D1F7 PRG:11F7 B5 9A sta ZpDC ; CPU:$D1F9 PRG:11F9 85 DC ; ----------------------------------------------------------------------------- ; Routine: UpdateBallSprite ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBallSprite: ldy #$00 ; CPU:$D1FB PRG:11FB A0 00 lda #$24 ; CPU:$D1FD PRG:11FD A9 24 sta (ZpDB),y ; CPU:$D1FF PRG:11FF 91 DB sec ; CPU:$D201 PRG:1201 38 rts ; CPU:$D202 PRG:1202 60 ; ----------------------------------------------------------------------------- ; Routine: SubCD203 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD203: cmp #$8B ; CPU:$D203 PRG:1203 C9 8B bne SubCD248 ; CPU:$D205 PRG:1205 D0 41 ldx Zp26 ; CPU:$D207 PRG:1207 A6 26 lda Zp9A,x ; CPU:$D209 PRG:1209 B5 9A sta ZpDC ; CPU:$D20B PRG:120B 85 DC and #$03 ; CPU:$D20D PRG:120D 29 03 sta ZpE3 ; CPU:$D20F PRG:120F 85 E3 lda Zp8A,x ; CPU:$D211 PRG:1211 B5 8A sta ZpDB ; CPU:$D213 PRG:1213 85 DB asl a ; CPU:$D215 PRG:1215 0A rol ZpE3 ; CPU:$D216 PRG:1216 26 E3 asl a ; CPU:$D218 PRG:1218 0A rol ZpE3 ; CPU:$D219 PRG:1219 26 E3 asl a ; CPU:$D21B PRG:121B 0A rol ZpE3 ; CPU:$D21C PRG:121C 26 E3 ldx ZpBF ; CPU:$D21E PRG:121E A6 BF lda ZpE3 ; CPU:$D220 PRG:1220 A5 E3 sec ; CPU:$D222 PRG:1222 38 sbc $D9C0,x ; CPU:$D223 PRG:1223 FD C0 D9 tay ; CPU:$D226 PRG:1226 A8 lda $D7DD,y ; CPU:$D227 PRG:1227 B9 DD D7 pha ; CPU:$D22A PRG:122A 48 eor $0130,x ; CPU:$D22B PRG:122B 5D 30 01 cmp $D9AF,x ; CPU:$D22E PRG:122E DD AF D9 bne SubCD238 ; CPU:$D231 PRG:1231 D0 05 lda #$37 ; CPU:$D233 PRG:1233 A9 37 jsr UpdateMusicChannel15 ; CPU:$D235 PRG:1235 20 3D EE ; ----------------------------------------------------------------------------- ; Routine: SubCD238 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD238: pla ; CPU:$D238 PRG:1238 68 ora ZpCE ; CPU:$D239 PRG:1239 05 CE sta ZpCE ; CPU:$D23B PRG:123B 85 CE lda #$0A ; CPU:$D23D PRG:123D A9 0A jsr UpdateMusicChannel15 ; CPU:$D23F PRG:123F 20 3D EE jsr UpdateBallSprite ; CPU:$D242 PRG:1242 20 FB D1 jmp CheckFlipperHit ; CPU:$D245 PRG:1245 4C E4 D2 ; ----------------------------------------------------------------------------- ; Routine: SubCD248 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD248: cmp #$23 ; CPU:$D248 PRG:1248 C9 23 bne SubCD261 ; CPU:$D24A PRG:124A D0 15 lda ZpCF ; CPU:$D24C PRG:124C A5 CF bmi SubCD25B ; CPU:$D24E PRG:124E 30 0B tax ; CPU:$D250 PRG:1250 AA ora #$80 ; CPU:$D251 PRG:1251 09 80 sta ZpCF ; CPU:$D253 PRG:1253 85 CF lda $D9C2,x ; CPU:$D255 PRG:1255 BD C2 D9 jsr UpdateMusicChannel15 ; CPU:$D258 PRG:1258 20 3D EE ; ----------------------------------------------------------------------------- ; Routine: SubCD25B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD25B: lda #$00 ; CPU:$D25B PRG:125B A9 00 ldy #$04 ; CPU:$D25D PRG:125D A0 04 bne CheckCollision ; CPU:$D25F PRG:125F D0 35 ; ----------------------------------------------------------------------------- ; Routine: SubCD261 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD261: cmp #$A6 ; CPU:$D261 PRG:1261 C9 A6 bcc CheckFlipperHit ; CPU:$D263 PRG:1263 90 7F cmp #$AE ; CPU:$D265 PRG:1265 C9 AE bcc SubCD271 ; CPU:$D267 PRG:1267 90 08 cmp #$DD ; CPU:$D269 PRG:1269 C9 DD bcc CheckFlipperHit ; CPU:$D26B PRG:126B 90 77 cmp #$E5 ; CPU:$D26D PRG:126D C9 E5 bcs CheckFlipperHit ; CPU:$D26F PRG:126F B0 73 ; ----------------------------------------------------------------------------- ; Routine: SubCD271 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD271: lda ZpBF ; CPU:$D271 PRG:1271 A5 BF beq SubCD288 ; CPU:$D273 PRG:1273 F0 13 tay ; CPU:$D275 PRG:1275 A8 iny ; CPU:$D276 PRG:1276 C8 lda #$02 ; CPU:$D277 PRG:1277 A9 02 sta ZpFF ; CPU:$D279 PRG:1279 85 FF jsr CheckTiltSwitch ; CPU:$D27B PRG:127B 20 86 D3 txa ; CPU:$D27E PRG:127E 8A cpy #$03 ; CPU:$D27F PRG:127F C0 03 beq CheckCollision ; CPU:$D281 PRG:1281 F0 13 pha ; CPU:$D283 PRG:1283 48 sty Zp32 ; CPU:$D284 PRG:1284 84 32 bne SubCD2B8 ; CPU:$D286 PRG:1286 D0 30 ; ----------------------------------------------------------------------------- ; Routine: SubCD288 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD288: lda ZpD1 ; CPU:$D288 PRG:1288 A5 D1 ora #$01 ; CPU:$D28A PRG:128A 09 01 sta ZpD1 ; CPU:$D28C PRG:128C 85 D1 lda #$0A ; CPU:$D28E PRG:128E A9 0A jsr UpdateMusicChannel15 ; CPU:$D290 PRG:1290 20 3D EE jmp CheckFlipperHit ; CPU:$D293 PRG:1293 4C E4 D2 ; ----------------------------------------------------------------------------- ; Routine: CheckCollision ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckCollision: sty Zp32 ; CPU:$D296 PRG:1296 84 32 pha ; CPU:$D298 PRG:1298 48 lda #$3F ; CPU:$D299 PRG:1299 A9 3F ldx Zp30 ; CPU:$D29B PRG:129B A6 30 inx ; CPU:$D29D PRG:129D E8 cpx #$03 ; CPU:$D29E PRG:129E E0 03 bcc SubCD2A3 ; CPU:$D2A0 PRG:12A0 90 01 lsr a ; CPU:$D2A2 PRG:12A2 4A ; ----------------------------------------------------------------------------- ; Routine: SubCD2A3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD2A3: sta ZpE3 ; CPU:$D2A3 PRG:12A3 85 E3 jsr UpdateGameMode ; CPU:$D2A5 PRG:12A5 20 E2 E3 and ZpE3 ; CPU:$D2A8 PRG:12A8 25 E3 lsr ZpE3 ; CPU:$D2AA PRG:12AA 46 E3 sbc ZpE3 ; CPU:$D2AC PRG:12AC E5 E3 adc Zp33 ; CPU:$D2AE PRG:12AE 65 33 beq SubCD2B8 ; CPU:$D2B0 PRG:12B0 F0 06 cmp #$7F ; CPU:$D2B2 PRG:12B2 C9 7F bcs SubCD2B8 ; CPU:$D2B4 PRG:12B4 B0 02 sta Zp33 ; CPU:$D2B6 PRG:12B6 85 33 ; ----------------------------------------------------------------------------- ; Routine: SubCD2B8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD2B8: jsr UpdateBallPosition_3 ; CPU:$D2B8 PRG:12B8 20 59 D1 ldy Zp32 ; CPU:$D2BB PRG:12BB A4 32 ldx $D9CC,y ; CPU:$D2BD PRG:12BD BE CC D9 cpx Zp36 ; CPU:$D2C0 PRG:12C0 E4 36 pla ; CPU:$D2C2 PRG:12C2 68 bcs SubCD2E7 ; CPU:$D2C3 PRG:12C3 B0 22 adc $D9D1,y ; CPU:$D2C5 PRG:12C5 79 D1 D9 tax ; CPU:$D2C8 PRG:12C8 AA lda #$FF ; CPU:$D2C9 PRG:12C9 A9 FF sta Zp00,x ; CPU:$D2CB PRG:12CB 95 00 lda $D9D6,y ; CPU:$D2CD PRG:12CD B9 D6 D9 jsr UpdateMusicChannel15 ; CPU:$D2D0 PRG:12D0 20 3D EE ldy Zp32 ; CPU:$D2D3 PRG:12D3 A4 32 lda $D9DB,y ; CPU:$D2D5 PRG:12D5 B9 DB D9 lsr Zp36 ; CPU:$D2D8 PRG:12D8 46 36 adc Zp36 ; CPU:$D2DA PRG:12DA 65 36 bcc SubCD2E0 ; CPU:$D2DC PRG:12DC 90 02 lda #$7F ; CPU:$D2DE PRG:12DE A9 7F ; ----------------------------------------------------------------------------- ; Routine: SubCD2E0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD2E0: sta Zp36 ; CPU:$D2E0 PRG:12E0 85 36 bne CheckBallPocket ; CPU:$D2E2 PRG:12E2 D0 05 ; ----------------------------------------------------------------------------- ; Routine: CheckFlipperHit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckFlipperHit: jsr UpdateBallPosition_3 ; CPU:$D2E4 PRG:12E4 20 59 D1 ; ----------------------------------------------------------------------------- ; Routine: SubCD2E7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD2E7: lsr Zp36 ; CPU:$D2E7 PRG:12E7 46 36 ; ----------------------------------------------------------------------------- ; Routine: CheckBallPocket ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckBallPocket: jsr CheckBallVelocity ; CPU:$D2E9 PRG:12E9 20 34 D3 lda Zp36 ; CPU:$D2EC PRG:12EC A5 36 sta Zp06 ; CPU:$D2EE PRG:12EE 85 06 lda Zp38 ; CPU:$D2F0 PRG:12F0 A5 38 jsr UpdateBumperState10 ; CPU:$D2F2 PRG:12F2 20 8F DD jsr UpdateBumperChain2 ; CPU:$D2F5 PRG:12F5 20 32 DD jsr UpdateBumperState16 ; CPU:$D2F8 PRG:12F8 20 F1 DD lda Zp37 ; CPU:$D2FB PRG:12FB A5 37 sta Zp06 ; CPU:$D2FD PRG:12FD 85 06 lda Zp39 ; CPU:$D2FF PRG:12FF A5 39 jsr UpdateBumperState10 ; CPU:$D301 PRG:1301 20 8F DD jsr UpdateBumperChain2 ; CPU:$D304 PRG:1304 20 32 DD lda Zp06 ; CPU:$D307 PRG:1307 A5 06 clc ; CPU:$D309 PRG:1309 18 adc Zp0A ; CPU:$D30A PRG:130A 65 0A pha ; CPU:$D30C PRG:130C 48 lda Zp36 ; CPU:$D30D PRG:130D A5 36 sta Zp06 ; CPU:$D30F PRG:130F 85 06 lda Zp38 ; CPU:$D311 PRG:1311 A5 38 jsr UpdateBumperState11 ; CPU:$D313 PRG:1313 20 92 DD jsr UpdateBumperChain2 ; CPU:$D316 PRG:1316 20 32 DD jsr UpdateBumperState16 ; CPU:$D319 PRG:1319 20 F1 DD lda Zp37 ; CPU:$D31C PRG:131C A5 37 sta Zp06 ; CPU:$D31E PRG:131E 85 06 lda Zp39 ; CPU:$D320 PRG:1320 A5 39 jsr UpdateBumperState11 ; CPU:$D322 PRG:1322 20 92 DD jsr UpdateBumperChain2 ; CPU:$D325 PRG:1325 20 32 DD lda Zp06 ; CPU:$D328 PRG:1328 A5 06 clc ; CPU:$D32A PRG:132A 18 adc Zp0A ; CPU:$D32B PRG:132B 65 0A sta Zp08 ; CPU:$D32D PRG:132D 85 08 pla ; CPU:$D32F PRG:132F 68 sta Zp06 ; CPU:$D330 PRG:1330 85 06 clc ; CPU:$D332 PRG:1332 18 rts ; CPU:$D333 PRG:1333 60 ; ----------------------------------------------------------------------------- ; Routine: CheckBallVelocity ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckBallVelocity: lda #$7F ; CPU:$D334 PRG:1334 A9 7F cmp Zp36 ; CPU:$D336 PRG:1336 C5 36 bcs SubCD33C ; CPU:$D338 PRG:1338 B0 02 sta Zp36 ; CPU:$D33A PRG:133A 85 36 ; ----------------------------------------------------------------------------- ; Routine: SubCD33C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD33C: ldx Zp37 ; CPU:$D33C PRG:133C A6 37 lda #$01 ; CPU:$D33E PRG:133E A9 01 sec ; CPU:$D340 PRG:1340 38 sbc $0300,x ; CPU:$D341 PRG:1341 FD 00 03 sta Zp06 ; CPU:$D344 PRG:1344 85 06 lda #$3F ; CPU:$D346 PRG:1346 A9 3F sbc $DE87,x ; CPU:$D348 PRG:1348 FD 87 DE sta Zp07 ; CPU:$D34B PRG:134B 85 07 jsr UpdateBumperState2 ; CPU:$D34D PRG:134D 20 0D DC lda Zp06 ; CPU:$D350 PRG:1350 A5 06 cmp Zp36 ; CPU:$D352 PRG:1352 C5 36 bcs SubCD358 ; CPU:$D354 PRG:1354 B0 02 sta Zp36 ; CPU:$D356 PRG:1356 85 36 ; ----------------------------------------------------------------------------- ; Routine: SubCD358 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD358: rts ; CPU:$D358 PRG:1358 60 ; ----------------------------------------------------------------------------- ; Routine: CheckBallPosition ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckBallPosition: lda Zp06 ; CPU:$D359 PRG:1359 A5 06 bmi SubCD365 ; CPU:$D35B PRG:135B 30 08 cmp #$3F ; CPU:$D35D PRG:135D C9 3F bcc SubCD36D ; CPU:$D35F PRG:135F 90 0C lda #$3F ; CPU:$D361 PRG:1361 A9 3F bne SubCD36B ; CPU:$D363 PRG:1363 D0 06 ; ----------------------------------------------------------------------------- ; Routine: SubCD365 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD365: cmp #$C1 ; CPU:$D365 PRG:1365 C9 C1 bcs SubCD36D ; CPU:$D367 PRG:1367 B0 04 lda #$C1 ; CPU:$D369 PRG:1369 A9 C1 ; ----------------------------------------------------------------------------- ; Routine: SubCD36B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD36B: sta Zp06 ; CPU:$D36B PRG:136B 85 06 ; ----------------------------------------------------------------------------- ; Routine: SubCD36D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD36D: lda Zp08 ; CPU:$D36D PRG:136D A5 08 bmi SubCD379 ; CPU:$D36F PRG:136F 30 08 cmp #$3F ; CPU:$D371 PRG:1371 C9 3F bcc SubCD381 ; CPU:$D373 PRG:1373 90 0C lda #$3F ; CPU:$D375 PRG:1375 A9 3F bne SubCD37F ; CPU:$D377 PRG:1377 D0 06 ; ----------------------------------------------------------------------------- ; Routine: SubCD379 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD379: cmp #$C1 ; CPU:$D379 PRG:1379 C9 C1 bcs SubCD381 ; CPU:$D37B PRG:137B B0 04 lda #$C1 ; CPU:$D37D PRG:137D A9 C1 ; ----------------------------------------------------------------------------- ; Routine: SubCD37F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD37F: sta Zp08 ; CPU:$D37F PRG:137F 85 08 ; ----------------------------------------------------------------------------- ; Routine: SubCD381 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD381: jsr UpdateSoundChannel3_E9ED_1 ; CPU:$D381 PRG:1381 20 75 DE clc ; CPU:$D384 PRG:1384 18 rts ; CPU:$D385 PRG:1385 60 ; ----------------------------------------------------------------------------- ; Routine: CheckTiltSwitch ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckTiltSwitch: ldx #$00 ; CPU:$D386 PRG:1386 A2 00 lda Zp07 ; CPU:$D388 PRG:1388 A5 07 cmp #$90 ; CPU:$D38A PRG:138A C9 90 bcc SubCD38F ; CPU:$D38C PRG:138C 90 01 inx ; CPU:$D38E PRG:138E E8 ; ----------------------------------------------------------------------------- ; Routine: SubCD38F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD38F: rts ; CPU:$D38F PRG:138F 60 ; ----------------------------------------------------------------------------- ; Routine: DrawScore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawScore: jsr SubCDFE8 ; CPU:$D390 PRG:1390 20 E8 DF ldy #$00 ; CPU:$D393 PRG:1393 A0 00 lda (ZpDB),y ; CPU:$D395 PRG:1395 B1 DB jsr ReadPPUData_3 ; CPU:$D397 PRG:1397 20 A1 D4 ldy ZpB5 ; CPU:$D39A PRG:139A A4 B5 lda (ZpDF),y ; CPU:$D39C PRG:139C B1 DF ldx ZpB4 ; CPU:$D39E PRG:139E A6 B4 ldy #$00 ; CPU:$D3A0 PRG:13A0 A0 00 and $D7DD,x ; CPU:$D3A2 PRG:13A2 3D DD D7 beq SubCD3A8 ; CPU:$D3A5 PRG:13A5 F0 01 dey ; CPU:$D3A7 PRG:13A7 88 ; ----------------------------------------------------------------------------- ; Routine: SubCD3A8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD3A8: tya ; CPU:$D3A8 PRG:13A8 98 rts ; CPU:$D3A9 PRG:13A9 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreDisplay_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreDisplay_3: lda #$00 ; CPU:$D3AA PRG:13AA A9 00 sta Zp2C ; CPU:$D3AC PRG:13AC 85 2C jsr SubCDDB5 ; CPU:$D3AE PRG:13AE 20 B5 DD jsr SubCDFE8 ; CPU:$D3B1 PRG:13B1 20 E8 DF lda ZpB4 ; CPU:$D3B4 PRG:13B4 A5 B4 sta Zp3A ; CPU:$D3B6 PRG:13B6 85 3A lda ZpB5 ; CPU:$D3B8 PRG:13B8 A5 B5 sta Zp3B ; CPU:$D3BA PRG:13BA 85 3B jsr UpdateBumperHit4 ; CPU:$D3BC PRG:13BC 20 BE DD ldx #$DD ; CPU:$D3BF PRG:13BF A2 DD jsr SubCDFEA ; CPU:$D3C1 PRG:13C1 20 EA DF lda ZpB4 ; CPU:$D3C4 PRG:13C4 A5 B4 sta Zp3C ; CPU:$D3C6 PRG:13C6 85 3C lda ZpB5 ; CPU:$D3C8 PRG:13C8 A5 B5 sta Zp3D ; CPU:$D3CA PRG:13CA 85 3D ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreDigits ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreDigits: jsr ReadPPUData2 ; CPU:$D3CC PRG:13CC 20 B9 D4 ldy Zp3B ; CPU:$D3CF PRG:13CF A4 3B lda Zp2B ; CPU:$D3D1 PRG:13D1 A5 2B cmp #$02 ; CPU:$D3D3 PRG:13D3 C9 02 bcs SubCD441 ; CPU:$D3D5 PRG:13D5 B0 6A lda (ZpDF),y ; CPU:$D3D7 PRG:13D7 B1 DF sta Zp3E ; CPU:$D3D9 PRG:13D9 85 3E ldy Zp3D ; CPU:$D3DB PRG:13DB A4 3D lda (ZpE1),y ; CPU:$D3DD PRG:13DD B1 E1 sta Zp3F ; CPU:$D3DF PRG:13DF 85 3F ldx Zp3A ; CPU:$D3E1 PRG:13E1 A6 3A lda Zp2B ; CPU:$D3E3 PRG:13E3 A5 2B bne SubCD40F ; CPU:$D3E5 PRG:13E5 D0 28 txa ; CPU:$D3E7 PRG:13E7 8A beq SubCD3F4 ; CPU:$D3E8 PRG:13E8 F0 0A ; ----------------------------------------------------------------------------- ; Routine: SubCD3EA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD3EA: asl Zp3E ; CPU:$D3EA PRG:13EA 06 3E asl Zp3F ; CPU:$D3EC PRG:13EC 06 3F dex ; CPU:$D3EE PRG:13EE CA bne SubCD3EA ; CPU:$D3EF PRG:13EF D0 F9 txa ; CPU:$D3F1 PRG:13F1 8A ldx Zp3A ; CPU:$D3F2 PRG:13F2 A6 3A ; ----------------------------------------------------------------------------- ; Routine: SubCD3F4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD3F4: inc Zp2C ; CPU:$D3F4 PRG:13F4 E6 2C asl Zp3E ; CPU:$D3F6 PRG:13F6 06 3E rol a ; CPU:$D3F8 PRG:13F8 2A asl Zp3F ; CPU:$D3F9 PRG:13F9 06 3F adc #$00 ; CPU:$D3FB PRG:13FB 69 00 lsr a ; CPU:$D3FD PRG:13FD 4A bcc SubCD42A ; CPU:$D3FE PRG:13FE 90 2A dec Zp2A ; CPU:$D400 PRG:1400 C6 2A beq SubCD42E ; CPU:$D402 PRG:1402 F0 2A cpx #$07 ; CPU:$D404 PRG:1404 E0 07 beq SubCD40B ; CPU:$D406 PRG:1406 F0 03 inx ; CPU:$D408 PRG:1408 E8 bne SubCD3F4 ; CPU:$D409 PRG:1409 D0 E9 ; ----------------------------------------------------------------------------- ; Routine: SubCD40B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD40B: ldx #$00 ; CPU:$D40B PRG:140B A2 00 beq SubCD439 ; CPU:$D40D PRG:140D F0 2A ; ----------------------------------------------------------------------------- ; Routine: SubCD40F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD40F: cpx #$07 ; CPU:$D40F PRG:140F E0 07 beq SubCD41E ; CPU:$D411 PRG:1411 F0 0B ; ----------------------------------------------------------------------------- ; Routine: SubCD413 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD413: lsr Zp3E ; CPU:$D413 PRG:1413 46 3E lsr Zp3F ; CPU:$D415 PRG:1415 46 3F inx ; CPU:$D417 PRG:1417 E8 cpx #$07 ; CPU:$D418 PRG:1418 E0 07 bne SubCD413 ; CPU:$D41A PRG:141A D0 F7 ldx Zp3A ; CPU:$D41C PRG:141C A6 3A ; ----------------------------------------------------------------------------- ; Routine: SubCD41E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD41E: lda #$00 ; CPU:$D41E PRG:141E A9 00 ; ----------------------------------------------------------------------------- ; Routine: SubCD420 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD420: inc Zp2C ; CPU:$D420 PRG:1420 E6 2C lsr Zp3E ; CPU:$D422 PRG:1422 46 3E rol a ; CPU:$D424 PRG:1424 2A lsr Zp3F ; CPU:$D425 PRG:1425 46 3F adc #$00 ; CPU:$D427 PRG:1427 69 00 lsr a ; CPU:$D429 PRG:1429 4A ; ----------------------------------------------------------------------------- ; Routine: SubCD42A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD42A: bcc SubCD499 ; CPU:$D42A PRG:142A 90 6D dec Zp2A ; CPU:$D42C PRG:142C C6 2A ; ----------------------------------------------------------------------------- ; Routine: SubCD42E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD42E: beq SubCD497 ; CPU:$D42E PRG:142E F0 67 cpx #$00 ; CPU:$D430 PRG:1430 E0 00 beq SubCD437 ; CPU:$D432 PRG:1432 F0 03 dex ; CPU:$D434 PRG:1434 CA bpl SubCD420 ; CPU:$D435 PRG:1435 10 E9 ; ----------------------------------------------------------------------------- ; Routine: SubCD437 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD437: ldx #$07 ; CPU:$D437 PRG:1437 A2 07 ; ----------------------------------------------------------------------------- ; Routine: SubCD439 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD439: stx Zp3A ; CPU:$D439 PRG:1439 86 3A jsr UpdateScoreDisplay2 ; CPU:$D43B PRG:143B 20 CF D4 jmp UpdateScoreDigits ; CPU:$D43E PRG:143E 4C CC D3 ; ----------------------------------------------------------------------------- ; Routine: SubCD441 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD441: cmp #$02 ; CPU:$D441 PRG:1441 C9 02 bne SubCD46A ; CPU:$D443 PRG:1443 D0 25 ; ----------------------------------------------------------------------------- ; Routine: SubCD445 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD445: inc Zp2C ; CPU:$D445 PRG:1445 E6 2C ldx Zp3A ; CPU:$D447 PRG:1447 A6 3A lda (ZpDF),y ; CPU:$D449 PRG:1449 B1 DF and $D7DD,x ; CPU:$D44B PRG:144B 3D DD D7 php ; CPU:$D44E PRG:144E 08 ldx Zp3C ; CPU:$D44F PRG:144F A6 3C lda (ZpE1),y ; CPU:$D451 PRG:1451 B1 E1 and $D7DD,x ; CPU:$D453 PRG:1453 3D DD D7 bne SubCD45C ; CPU:$D456 PRG:1456 D0 04 plp ; CPU:$D458 PRG:1458 28 beq SubCD499 ; CPU:$D459 PRG:1459 F0 3E php ; CPU:$D45B PRG:145B 08 ; ----------------------------------------------------------------------------- ; Routine: SubCD45C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD45C: plp ; CPU:$D45C PRG:145C 28 bne SubCD499 ; CPU:$D45D PRG:145D D0 3A dec Zp2A ; CPU:$D45F PRG:145F C6 2A beq SubCD497 ; CPU:$D461 PRG:1461 F0 34 dey ; CPU:$D463 PRG:1463 88 bpl SubCD445 ; CPU:$D464 PRG:1464 10 DF ldy #$07 ; CPU:$D466 PRG:1466 A0 07 bne SubCD48F ; CPU:$D468 PRG:1468 D0 25 ; ----------------------------------------------------------------------------- ; Routine: SubCD46A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD46A: inc Zp2C ; CPU:$D46A PRG:146A E6 2C ldx Zp3A ; CPU:$D46C PRG:146C A6 3A lda (ZpDF),y ; CPU:$D46E PRG:146E B1 DF and $D7DD,x ; CPU:$D470 PRG:1470 3D DD D7 php ; CPU:$D473 PRG:1473 08 ldx Zp3C ; CPU:$D474 PRG:1474 A6 3C lda (ZpE1),y ; CPU:$D476 PRG:1476 B1 E1 and $D7DD,x ; CPU:$D478 PRG:1478 3D DD D7 bne SubCD481 ; CPU:$D47B PRG:147B D0 04 plp ; CPU:$D47D PRG:147D 28 beq SubCD499 ; CPU:$D47E PRG:147E F0 19 php ; CPU:$D480 PRG:1480 08 ; ----------------------------------------------------------------------------- ; Routine: SubCD481 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD481: plp ; CPU:$D481 PRG:1481 28 bne SubCD499 ; CPU:$D482 PRG:1482 D0 15 dec Zp2A ; CPU:$D484 PRG:1484 C6 2A beq SubCD497 ; CPU:$D486 PRG:1486 F0 0F iny ; CPU:$D488 PRG:1488 C8 cpy #$08 ; CPU:$D489 PRG:1489 C0 08 bne SubCD46A ; CPU:$D48B PRG:148B D0 DD ldy #$00 ; CPU:$D48D PRG:148D A0 00 ; ----------------------------------------------------------------------------- ; Routine: SubCD48F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD48F: sty Zp3B ; CPU:$D48F PRG:148F 84 3B jsr UpdateScoreDisplay2 ; CPU:$D491 PRG:1491 20 CF D4 jmp UpdateScoreDigits ; CPU:$D494 PRG:1494 4C CC D3 ; ----------------------------------------------------------------------------- ; Routine: SubCD497 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD497: lda #$00 ; CPU:$D497 PRG:1497 A9 00 ; ----------------------------------------------------------------------------- ; Routine: SubCD499 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD499: ldx #$00 ; CPU:$D499 PRG:1499 A2 00 tay ; CPU:$D49B PRG:149B A8 beq SubCD49F ; CPU:$D49C PRG:149C F0 01 dex ; CPU:$D49E PRG:149E CA ; ----------------------------------------------------------------------------- ; Routine: SubCD49F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD49F: txa ; CPU:$D49F PRG:149F 8A rts ; CPU:$D4A0 PRG:14A0 60 ; ----------------------------------------------------------------------------- ; Routine: ReadPPUData_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ReadPPUData_3: ldy #$00 ; CPU:$D4A1 PRG:14A1 A0 00 sty ZpE0 ; CPU:$D4A3 PRG:14A3 84 E0 asl a ; CPU:$D4A5 PRG:14A5 0A rol ZpE0 ; CPU:$D4A6 PRG:14A6 26 E0 asl a ; CPU:$D4A8 PRG:14A8 0A rol ZpE0 ; CPU:$D4A9 PRG:14A9 26 E0 asl a ; CPU:$D4AB PRG:14AB 0A rol ZpE0 ; CPU:$D4AC PRG:14AC 26 E0 adc #$B4 ; CPU:$D4AE PRG:14AE 69 B4 sta ZpDF ; CPU:$D4B0 PRG:14B0 85 DF lda ZpE0 ; CPU:$D4B2 PRG:14B2 A5 E0 adc #$F3 ; CPU:$D4B4 PRG:14B4 69 F3 sta ZpE0 ; CPU:$D4B6 PRG:14B6 85 E0 rts ; CPU:$D4B8 PRG:14B8 60 ; ----------------------------------------------------------------------------- ; Routine: ReadPPUData2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ReadPPUData2: ldy #$00 ; CPU:$D4B9 PRG:14B9 A0 00 lda (ZpDD),y ; CPU:$D4BB PRG:14BB B1 DD jsr ReadPPUData_3 ; CPU:$D4BD PRG:14BD 20 A1 D4 lda ZpDF ; CPU:$D4C0 PRG:14C0 A5 DF sta ZpE1 ; CPU:$D4C2 PRG:14C2 85 E1 lda ZpE0 ; CPU:$D4C4 PRG:14C4 A5 E0 sta ZpE2 ; CPU:$D4C6 PRG:14C6 85 E2 ldy #$00 ; CPU:$D4C8 PRG:14C8 A0 00 lda (ZpDB),y ; CPU:$D4CA PRG:14CA B1 DB jmp ReadPPUData_3 ; CPU:$D4CC PRG:14CC 4C A1 D4 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreDisplay2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreDisplay2: ldx Zp2B ; CPU:$D4CF PRG:14CF A6 2B lda ZpDB ; CPU:$D4D1 PRG:14D1 A5 DB clc ; CPU:$D4D3 PRG:14D3 18 adc $D7E5,x ; CPU:$D4D4 PRG:14D4 7D E5 D7 sta ZpDB ; CPU:$D4D7 PRG:14D7 85 DB lda ZpDC ; CPU:$D4D9 PRG:14D9 A5 DC adc $D7E9,x ; CPU:$D4DB PRG:14DB 7D E9 D7 sta ZpDC ; CPU:$D4DE PRG:14DE 85 DC lda ZpDD ; CPU:$D4E0 PRG:14E0 A5 DD clc ; CPU:$D4E2 PRG:14E2 18 adc $D7E5,x ; CPU:$D4E3 PRG:14E3 7D E5 D7 sta ZpDD ; CPU:$D4E6 PRG:14E6 85 DD lda ZpDE ; CPU:$D4E8 PRG:14E8 A5 DE adc $D7E9,x ; CPU:$D4EA PRG:14EA 7D E9 D7 sta ZpDE ; CPU:$D4ED PRG:14ED 85 DE rts ; CPU:$D4EF PRG:14EF 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateFlippers_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateFlippers_3: jsr UpdateSoundEngine ; CPU:$D4F0 PRG:14F0 20 30 DE jsr CheckTiltSwitch ; CPU:$D4F3 PRG:14F3 20 86 D3 stx Zp3A ; CPU:$D4F6 PRG:14F6 86 3A lda ZpBF ; CPU:$D4F8 PRG:14F8 A5 BF asl a ; CPU:$D4FA PRG:14FA 0A adc Zp3A ; CPU:$D4FB PRG:14FB 65 3A sta Zp3B ; CPU:$D4FD PRG:14FD 85 3B txa ; CPU:$D4FF PRG:14FF 8A eor #$01 ; CPU:$D500 PRG:1500 49 01 tax ; CPU:$D502 PRG:1502 AA lda #$00 ; CPU:$D503 PRG:1503 A9 00 sta ZpC7,x ; CPU:$D505 PRG:1505 95 C7 ldx Zp3A ; CPU:$D507 PRG:1507 A6 3A ldy ZpC0,x ; CPU:$D509 PRG:1509 B4 C0 sty Zp3E ; CPU:$D50B PRG:150B 84 3E ldx Zp3B ; CPU:$D50D PRG:150D A6 3B lda $D9EA,x ; CPU:$D50F PRG:150F BD EA D9 clc ; CPU:$D512 PRG:1512 18 adc $D9EE,y ; CPU:$D513 PRG:1513 79 EE D9 clc ; CPU:$D516 PRG:1516 18 adc $DA4E,y ; CPU:$D517 PRG:1517 79 4E DA sta Zp0C ; CPU:$D51A PRG:151A 85 0C sec ; CPU:$D51C PRG:151C 38 sbc Zp09 ; CPU:$D51D PRG:151D E5 09 bpl SubCD528 ; CPU:$D51F PRG:151F 10 07 sta Zp10 ; CPU:$D521 PRG:1521 85 10 lda #$00 ; CPU:$D523 PRG:1523 A9 00 sec ; CPU:$D525 PRG:1525 38 sbc Zp10 ; CPU:$D526 PRG:1526 E5 10 ; ----------------------------------------------------------------------------- ; Routine: SubCD528 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD528: cmp #$07 ; CPU:$D528 PRG:1528 C9 07 bcc SubCD52F ; CPU:$D52A PRG:152A 90 03 jmp UpdateFlipperState ; CPU:$D52C PRG:152C 4C D1 D5 ; ----------------------------------------------------------------------------- ; Routine: SubCD52F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD52F: sta Zp08 ; CPU:$D52F PRG:152F 85 08 lda $D9E0,x ; CPU:$D531 PRG:1531 BD E0 D9 clc ; CPU:$D534 PRG:1534 18 ldx Zp3A ; CPU:$D535 PRG:1535 A6 3A bne SubCD53E ; CPU:$D537 PRG:1537 D0 05 adc $DA1E,y ; CPU:$D539 PRG:1539 79 1E DA bcc SubCD544 ; CPU:$D53C PRG:153C 90 06 ; ----------------------------------------------------------------------------- ; Routine: SubCD53E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD53E: adc #$1F ; CPU:$D53E PRG:153E 69 1F sec ; CPU:$D540 PRG:1540 38 sbc $DA1E,y ; CPU:$D541 PRG:1541 F9 1E DA ; ----------------------------------------------------------------------------- ; Routine: SubCD544 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD544: sta Zp0A ; CPU:$D544 PRG:1544 85 0A sec ; CPU:$D546 PRG:1546 38 sbc Zp07 ; CPU:$D547 PRG:1547 E5 07 tax ; CPU:$D549 PRG:1549 AA bpl SubCD553 ; CPU:$D54A PRG:154A 10 07 sta Zp0E ; CPU:$D54C PRG:154C 85 0E lda #$00 ; CPU:$D54E PRG:154E A9 00 sec ; CPU:$D550 PRG:1550 38 sbc Zp0E ; CPU:$D551 PRG:1551 E5 0E ; ----------------------------------------------------------------------------- ; Routine: SubCD553 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD553: cmp #$07 ; CPU:$D553 PRG:1553 C9 07 bcs UpdateFlipperState ; CPU:$D555 PRG:1555 B0 7A sta Zp06 ; CPU:$D557 PRG:1557 85 06 txa ; CPU:$D559 PRG:1559 8A rol a ; CPU:$D55A PRG:155A 2A rol a ; CPU:$D55B PRG:155B 2A and #$01 ; CPU:$D55C PRG:155C 29 01 eor Zp3A ; CPU:$D55E PRG:155E 45 3A beq UpdateFlipperState ; CPU:$D560 PRG:1560 F0 6F jsr UpdateBumperSprites ; CPU:$D562 PRG:1562 20 FA DB lda Zp06 ; CPU:$D565 PRG:1565 A5 06 clc ; CPU:$D567 PRG:1567 18 adc Zp08 ; CPU:$D568 PRG:1568 65 08 tax ; CPU:$D56A PRG:156A AA lda Zp07 ; CPU:$D56B PRG:156B A5 07 clc ; CPU:$D56D PRG:156D 18 adc Zp09 ; CPU:$D56E PRG:156E 65 09 sta Zp07 ; CPU:$D570 PRG:1570 85 07 txa ; CPU:$D572 PRG:1572 8A cmp #$31 ; CPU:$D573 PRG:1573 C9 31 lda Zp07 ; CPU:$D575 PRG:1575 A5 07 sbc #$00 ; CPU:$D577 PRG:1577 E9 00 bcs UpdateFlipperState ; CPU:$D579 PRG:1579 B0 56 ldx Zp3A ; CPU:$D57B PRG:157B A6 3A lda ZpC7,x ; CPU:$D57D PRG:157D B5 C7 bne SubCD5D7 ; CPU:$D57F PRG:157F D0 56 jsr UpdateSoundEngine ; CPU:$D581 PRG:1581 20 30 DE lda Zp07 ; CPU:$D584 PRG:1584 A5 07 sec ; CPU:$D586 PRG:1586 38 sbc Zp0A ; CPU:$D587 PRG:1587 E5 0A sta Zp06 ; CPU:$D589 PRG:1589 85 06 lda Zp09 ; CPU:$D58B PRG:158B A5 09 sec ; CPU:$D58D PRG:158D 38 sbc Zp0C ; CPU:$D58E PRG:158E E5 0C sta Zp08 ; CPU:$D590 PRG:1590 85 08 jsr UpdateBumperHit2 ; CPU:$D592 PRG:1592 20 3E DC sec ; CPU:$D595 PRG:1595 38 sbc #$40 ; CPU:$D596 PRG:1596 E9 40 sta Zp30 ; CPU:$D598 PRG:1598 85 30 jsr UpdateBallDirection ; CPU:$D59A PRG:159A 20 39 D7 sec ; CPU:$D59D PRG:159D 38 sbc Zp30 ; CPU:$D59E PRG:159E E5 30 jsr UpdateBumperState8 ; CPU:$D5A0 PRG:15A0 20 75 DD lsr a ; CPU:$D5A3 PRG:15A3 4A lsr a ; CPU:$D5A4 PRG:15A4 4A lsr a ; CPU:$D5A5 PRG:15A5 4A sta Zp3F ; CPU:$D5A6 PRG:15A6 85 3F lda Zp30 ; CPU:$D5A8 PRG:15A8 A5 30 jsr CheckFlipperPressed ; CPU:$D5AA PRG:15AA 20 C1 D5 lda #$00 ; CPU:$D5AD PRG:15AD A9 00 sta Zp3C ; CPU:$D5AF PRG:15AF 85 3C lda #$02 ; CPU:$D5B1 PRG:15B1 A9 02 sta Zp31 ; CPU:$D5B3 PRG:15B3 85 31 jsr UpdateBallVelocity ; CPU:$D5B5 PRG:15B5 20 A8 D6 bcs SubCD5D7 ; CPU:$D5B8 PRG:15B8 B0 1D ldx Zp3A ; CPU:$D5BA PRG:15BA A6 3A lda Zp40 ; CPU:$D5BC PRG:15BC A5 40 sta ZpC7,x ; CPU:$D5BE PRG:15BE 95 C7 rts ; CPU:$D5C0 PRG:15C0 60 ; ----------------------------------------------------------------------------- ; Routine: CheckFlipperPressed ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckFlipperPressed: ldx #$04 ; CPU:$D5C1 PRG:15C1 A2 04 ; ----------------------------------------------------------------------------- ; Routine: SubCD5C3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD5C3: cmp $DAD5,x ; CPU:$D5C3 PRG:15C3 DD D5 DA bcs SubCD5CB ; CPU:$D5C6 PRG:15C6 B0 03 dex ; CPU:$D5C8 PRG:15C8 CA bpl SubCD5C3 ; CPU:$D5C9 PRG:15C9 10 F8 ; ----------------------------------------------------------------------------- ; Routine: SubCD5CB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD5CB: lda $DADA,x ; CPU:$D5CB PRG:15CB BD DA DA sta Zp25 ; CPU:$D5CE PRG:15CE 85 25 rts ; CPU:$D5D0 PRG:15D0 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateFlipperState ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateFlipperState: ldx Zp3A ; CPU:$D5D1 PRG:15D1 A6 3A lda #$00 ; CPU:$D5D3 PRG:15D3 A9 00 sta ZpC7,x ; CPU:$D5D5 PRG:15D5 95 C7 ; ----------------------------------------------------------------------------- ; Routine: SubCD5D7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD5D7: jsr UpdateSoundEngine ; CPU:$D5D7 PRG:15D7 20 30 DE ldx Zp3B ; CPU:$D5DA PRG:15DA A6 3B lda Zp09 ; CPU:$D5DC PRG:15DC A5 09 sec ; CPU:$D5DE PRG:15DE 38 sbc $D9E6,x ; CPU:$D5DF PRG:15DF FD E6 D9 cmp #$28 ; CPU:$D5E2 PRG:15E2 C9 28 bcs SubCD5F0 ; CPU:$D5E4 PRG:15E4 B0 0A lda Zp07 ; CPU:$D5E6 PRG:15E6 A5 07 sec ; CPU:$D5E8 PRG:15E8 38 sbc $D9E0,x ; CPU:$D5E9 PRG:15E9 FD E0 D9 cmp #$20 ; CPU:$D5EC PRG:15EC C9 20 bcc SubCD5F1 ; CPU:$D5EE PRG:15EE 90 01 ; ----------------------------------------------------------------------------- ; Routine: SubCD5F0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD5F0: rts ; CPU:$D5F0 PRG:15F0 60 ; ----------------------------------------------------------------------------- ; Routine: SubCD5F1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD5F1: lda #$00 ; CPU:$D5F1 PRG:15F1 A9 00 sta Zp3C ; CPU:$D5F3 PRG:15F3 85 3C ; ----------------------------------------------------------------------------- ; Routine: UpdateFlipperSprites_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateFlipperSprites_3: jsr UpdateSoundEngine ; CPU:$D5F5 PRG:15F5 20 30 DE lda Zp3A ; CPU:$D5F8 PRG:15F8 A5 3A asl a ; CPU:$D5FA PRG:15FA 0A adc Zp3C ; CPU:$D5FB PRG:15FB 65 3C sta Zp3D ; CPU:$D5FD PRG:15FD 85 3D ldy Zp3C ; CPU:$D5FF PRG:15FF A4 3C ldx Zp3A ; CPU:$D601 PRG:1601 A6 3A lda ZpC0,x ; CPU:$D603 PRG:1603 B5 C0 adc $DA7E,y ; CPU:$D605 PRG:1605 79 7E DA sta Zp3E ; CPU:$D608 PRG:1608 85 3E ldx Zp3B ; CPU:$D60A PRG:160A A6 3B tay ; CPU:$D60C PRG:160C A8 lda Zp07 ; CPU:$D60D PRG:160D A5 07 sec ; CPU:$D60F PRG:160F 38 sbc $D9E0,x ; CPU:$D610 PRG:1610 FD E0 D9 ldx Zp3A ; CPU:$D613 PRG:1613 A6 3A beq SubCD61A ; CPU:$D615 PRG:1615 F0 03 sec ; CPU:$D617 PRG:1617 38 sbc #$1F ; CPU:$D618 PRG:1618 E9 1F ; ----------------------------------------------------------------------------- ; Routine: SubCD61A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD61A: sta Zp08 ; CPU:$D61A PRG:161A 85 08 sta Zp0F ; CPU:$D61C PRG:161C 85 0F ldx Zp3B ; CPU:$D61E PRG:161E A6 3B lda Zp09 ; CPU:$D620 PRG:1620 A5 09 sec ; CPU:$D622 PRG:1622 38 sbc $D9EA,x ; CPU:$D623 PRG:1623 FD EA D9 sec ; CPU:$D626 PRG:1626 38 sbc $D9EE,y ; CPU:$D627 PRG:1627 F9 EE D9 sta Zp10 ; CPU:$D62A PRG:162A 85 10 sta Zp11 ; CPU:$D62C PRG:162C 85 11 ldx Zp3E ; CPU:$D62E PRG:162E A6 3E sec ; CPU:$D630 PRG:1630 38 ldy Zp3A ; CPU:$D631 PRG:1631 A4 3A bne SubCD63A ; CPU:$D633 PRG:1633 D0 05 lda $DA1E,x ; CPU:$D635 PRG:1635 BD 1E DA bcs SubCD63F ; CPU:$D638 PRG:1638 B0 05 ; ----------------------------------------------------------------------------- ; Routine: SubCD63A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD63A: lda #$00 ; CPU:$D63A PRG:163A A9 00 sbc $DA1E,x ; CPU:$D63C PRG:163C FD 1E DA ; ----------------------------------------------------------------------------- ; Routine: SubCD63F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD63F: sta Zp0E ; CPU:$D63F PRG:163F 85 0E lda $DA4E,x ; CPU:$D641 PRG:1641 BD 4E DA sta Zp06 ; CPU:$D644 PRG:1644 85 06 jsr UpdateBumperState5 ; CPU:$D646 PRG:1646 20 E3 DC jsr UpdateBumperState16 ; CPU:$D649 PRG:1649 20 F1 DD jsr UpdateBumperHit4 ; CPU:$D64C PRG:164C 20 BE DD jsr UpdateBumperState5 ; CPU:$D64F PRG:164F 20 E3 DC lda Zp06 ; CPU:$D652 PRG:1652 A5 06 sec ; CPU:$D654 PRG:1654 38 sbc Zp0A ; CPU:$D655 PRG:1655 E5 0A sta Zp06 ; CPU:$D657 PRG:1657 85 06 lda Zp07 ; CPU:$D659 PRG:1659 A5 07 sbc Zp0B ; CPU:$D65B PRG:165B E5 0B sta Zp07 ; CPU:$D65D PRG:165D 85 07 jsr UpdateBumperState ; CPU:$D65F PRG:165F 20 C8 DB lda Zp06 ; CPU:$D662 PRG:1662 A5 06 cmp #$E0 ; CPU:$D664 PRG:1664 C9 E0 lda Zp07 ; CPU:$D666 PRG:1666 A5 07 sbc #$00 ; CPU:$D668 PRG:1668 E9 00 bcc SubCD678 ; CPU:$D66A PRG:166A 90 0C ; ----------------------------------------------------------------------------- ; Routine: SubCD66C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD66C: inc Zp3C ; CPU:$D66C PRG:166C E6 3C lda Zp3C ; CPU:$D66E PRG:166E A5 3C cmp #$02 ; CPU:$D670 PRG:1670 C9 02 bcs SubCD677 ; CPU:$D672 PRG:1672 B0 03 jmp UpdateFlipperSprites_3 ; CPU:$D674 PRG:1674 4C F5 D5 ; ----------------------------------------------------------------------------- ; Routine: SubCD677 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD677: rts ; CPU:$D677 PRG:1677 60 ; ----------------------------------------------------------------------------- ; Routine: SubCD678 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD678: jsr UpdateBallDirection ; CPU:$D678 PRG:1678 20 39 D7 sta Zp30 ; CPU:$D67B PRG:167B 85 30 lda Zp0F ; CPU:$D67D PRG:167D A5 0F sta Zp06 ; CPU:$D67F PRG:167F 85 06 lda Zp11 ; CPU:$D681 PRG:1681 A5 11 sta Zp08 ; CPU:$D683 PRG:1683 85 08 jsr UpdateBumperHit2 ; CPU:$D685 PRG:1685 20 3E DC sec ; CPU:$D688 PRG:1688 38 sbc Zp30 ; CPU:$D689 PRG:1689 E5 30 cmp #$81 ; CPU:$D68B PRG:168B C9 81 bcs SubCD66C ; CPU:$D68D PRG:168D B0 DD lda Zp0F ; CPU:$D68F PRG:168F A5 0F bpl SubCD69A ; CPU:$D691 PRG:1691 10 07 sta Zp06 ; CPU:$D693 PRG:1693 85 06 lda #$00 ; CPU:$D695 PRG:1695 A9 00 sec ; CPU:$D697 PRG:1697 38 sbc Zp06 ; CPU:$D698 PRG:1698 E5 06 ; ----------------------------------------------------------------------------- ; Routine: SubCD69A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD69A: tax ; CPU:$D69A PRG:169A AA lda $DAB2,x ; CPU:$D69B PRG:169B BD B2 DA sta Zp3F ; CPU:$D69E PRG:169E 85 3F lda Zp3C ; CPU:$D6A0 PRG:16A0 A5 3C sta Zp25 ; CPU:$D6A2 PRG:16A2 85 25 lda #$01 ; CPU:$D6A4 PRG:16A4 A9 01 sta Zp31 ; CPU:$D6A6 PRG:16A6 85 31 ; ----------------------------------------------------------------------------- ; Routine: UpdateBallVelocity ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBallVelocity: ldx Zp3A ; CPU:$D6A8 PRG:16A8 A6 3A lda ZpC2,x ; CPU:$D6AA PRG:16AA B5 C2 sta Zp40 ; CPU:$D6AC PRG:16AC 85 40 bne SubCD6CB ; CPU:$D6AE PRG:16AE D0 1B jsr UpdateFlipperSound ; CPU:$D6B0 PRG:16B0 20 E0 D0 bcs SubCD70F ; CPU:$D6B3 PRG:16B3 B0 5A jsr UpdateBallPosition_3 ; CPU:$D6B5 PRG:16B5 20 59 D1 jsr CheckBallSpeed ; CPU:$D6B8 PRG:16B8 20 30 D7 lda Zp31 ; CPU:$D6BB PRG:16BB A5 31 cmp #$02 ; CPU:$D6BD PRG:16BD C9 02 bne SubCD6C3 ; CPU:$D6BF PRG:16BF D0 02 lsr Zp36 ; CPU:$D6C1 PRG:16C1 46 36 ; ----------------------------------------------------------------------------- ; Routine: SubCD6C3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD6C3: lsr Zp36 ; CPU:$D6C3 PRG:16C3 46 36 jsr CheckBallPocket ; CPU:$D6C5 PRG:16C5 20 E9 D2 jmp CheckBallPosition ; CPU:$D6C8 PRG:16C8 4C 59 D3 ; ----------------------------------------------------------------------------- ; Routine: SubCD6CB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD6CB: jsr UpdateSoundChannel2_E96A_1 ; CPU:$D6CB PRG:16CB 20 63 DE jsr UpdateBumperHit2 ; CPU:$D6CE PRG:16CE 20 3E DC sta Zp34 ; CPU:$D6D1 PRG:16D1 85 34 lda Zp30 ; CPU:$D6D3 PRG:16D3 A5 30 sec ; CPU:$D6D5 PRG:16D5 38 sbc Zp34 ; CPU:$D6D6 PRG:16D6 E5 34 sta Zp33 ; CPU:$D6D8 PRG:16D8 85 33 jsr UpdateSoundChannel2_E96A_1 ; CPU:$D6DA PRG:16DA 20 63 DE jsr UpdateBumperState4 ; CPU:$D6DD PRG:16DD 20 AA DC sta Zp35 ; CPU:$D6E0 PRG:16E0 85 35 jsr UpdateBallPosition2 ; CPU:$D6E2 PRG:16E2 20 5B D1 jsr CheckBallSpeed ; CPU:$D6E5 PRG:16E5 20 30 D7 lda Zp36 ; CPU:$D6E8 PRG:16E8 A5 36 lda Zp33 ; CPU:$D6EA PRG:16EA A5 33 bpl SubCD6F5 ; CPU:$D6EC PRG:16EC 10 07 lda #$00 ; CPU:$D6EE PRG:16EE A9 00 sec ; CPU:$D6F0 PRG:16F0 38 sbc Zp36 ; CPU:$D6F1 PRG:16F1 E5 36 sta Zp36 ; CPU:$D6F3 PRG:16F3 85 36 ; ----------------------------------------------------------------------------- ; Routine: SubCD6F5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD6F5: lda Zp40 ; CPU:$D6F5 PRG:16F5 A5 40 and #$02 ; CPU:$D6F7 PRG:16F7 29 02 ora Zp3C ; CPU:$D6F9 PRG:16F9 05 3C tay ; CPU:$D6FB PRG:16FB A8 lda Zp3F ; CPU:$D6FC PRG:16FC A5 3F ldx $DADE,y ; CPU:$D6FE PRG:16FE BE DE DA bmi SubCD710 ; CPU:$D701 PRG:1701 30 0D clc ; CPU:$D703 PRG:1703 18 adc Zp36 ; CPU:$D704 PRG:1704 65 36 bvc SubCD70C ; CPU:$D706 PRG:1706 50 04 lda #$7F ; CPU:$D708 PRG:1708 A9 7F bne SubCD71F ; CPU:$D70A PRG:170A D0 13 ; ----------------------------------------------------------------------------- ; Routine: SubCD70C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD70C: bpl SubCD71F ; CPU:$D70C PRG:170C 10 11 ; ----------------------------------------------------------------------------- ; Routine: SubCD70E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD70E: sec ; CPU:$D70E PRG:170E 38 ; ----------------------------------------------------------------------------- ; Routine: SubCD70F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD70F: rts ; CPU:$D70F PRG:170F 60 ; ----------------------------------------------------------------------------- ; Routine: SubCD710 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD710: sta ZpE3 ; CPU:$D710 PRG:1710 85 E3 lda Zp36 ; CPU:$D712 PRG:1712 A5 36 sec ; CPU:$D714 PRG:1714 38 sbc ZpE3 ; CPU:$D715 PRG:1715 E5 E3 bvs SubCD70E ; CPU:$D717 PRG:1717 70 F5 bmi SubCD70E ; CPU:$D719 PRG:1719 30 F3 lda #$00 ; CPU:$D71B PRG:171B A9 00 beq SubCD728 ; CPU:$D71D PRG:171D F0 09 ; ----------------------------------------------------------------------------- ; Routine: SubCD71F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD71F: ldx Zp31 ; CPU:$D71F PRG:171F A6 31 cpx #$02 ; CPU:$D721 PRG:1721 E0 02 bne SubCD726 ; CPU:$D723 PRG:1723 D0 01 lsr a ; CPU:$D725 PRG:1725 4A ; ----------------------------------------------------------------------------- ; Routine: SubCD726 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD726: adc Zp3F ; CPU:$D726 PRG:1726 65 3F ; ----------------------------------------------------------------------------- ; Routine: SubCD728 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD728: sta Zp36 ; CPU:$D728 PRG:1728 85 36 jsr CheckBallPocket ; CPU:$D72A PRG:172A 20 E9 D2 jmp UpdateSoundChannel3_E9ED_1 ; CPU:$D72D PRG:172D 4C 75 DE ; ----------------------------------------------------------------------------- ; Routine: CheckBallSpeed ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckBallSpeed: lda Zp35 ; CPU:$D730 PRG:1730 A5 35 cmp #$0F ; CPU:$D732 PRG:1732 C9 0F bcc SubCD738 ; CPU:$D734 PRG:1734 90 02 lsr Zp37 ; CPU:$D736 PRG:1736 46 37 ; ----------------------------------------------------------------------------- ; Routine: SubCD738 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD738: rts ; CPU:$D738 PRG:1738 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBallDirection ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBallDirection: ldx Zp3E ; CPU:$D739 PRG:1739 A6 3E sec ; CPU:$D73B PRG:173B 38 lda Zp3A ; CPU:$D73C PRG:173C A5 3A bne SubCD744 ; CPU:$D73E PRG:173E D0 04 lda $DA82,x ; CPU:$D740 PRG:1740 BD 82 DA rts ; CPU:$D743 PRG:1743 60 ; ----------------------------------------------------------------------------- ; Routine: SubCD744 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCD744: lda #$00 ; CPU:$D744 PRG:1744 A9 00 sec ; CPU:$D746 PRG:1746 38 sbc $DA82,x ; CPU:$D747 PRG:1747 FD 82 DA rts ; CPU:$D74A PRG:174A 60 ; ---- data $D74B-$DBB5 (1131 bytes) ---- ; referenced by `lda $DB94,x` at $CC81 (operand $DB94 falls inside this region) ; referenced by `lda $DB95,x` at $CC88 (operand $DB95 falls inside this region) ; referenced by `lda $DBA8,y` at $CC98 (operand $DBA8 falls inside this region) ; referenced by `lda $DBAE,x` at $CCA2 (operand $DBAE falls inside this region) ; referenced by `lda $DBB2,x` at $CCA7 (operand $DBB2 falls inside this region) ; referenced by `lda $DBAA,x` at $CCE9 (operand $DBAA falls inside this region) ; ... and 83 further references from decoded code .byte $00, $20, $40, $01, $21, $41, $02, $22, $42, $00, $06, $0E, $12, $16, $1A, $1E ; CPU:$D74B PRG:174B 00 20 40 01 21 41 02 22 42 00 06 0E 12 16 1A 1E .byte $22, $26, $2A, $2E, $32, $3A, $05, $09, $06, $08, $07, $07, $03, $0B, $04, $0A ; CPU:$D75B PRG:175B 22 26 2A 2E 32 3A 05 09 06 08 07 07 03 0B 04 0A .byte $08, $06, $09, $05, $02, $0C, $0A, $04, $01, $0D, $0B, $03, $01, $0E, $0B, $02 ; CPU:$D76B PRG:176B 08 06 09 05 02 0C 0A 04 01 0D 0B 03 01 0E 0B 02 .byte $00, $0F, $0C, $01, $00, $10, $0C, $00, $00, $11, $0C, $1F, $01, $12, $0B, $1E ; CPU:$D77B PRG:177B 00 0F 0C 01 00 10 0C 00 00 11 0C 1F 01 12 0B 1E .byte $01, $13, $0B, $1D, $02, $14, $0A, $1C, $03, $15, $04, $16, $08, $1A, $09, $1B ; CPU:$D78B PRG:178B 01 13 0B 1D 02 14 0A 1C 03 15 04 16 08 1A 09 1B .byte $05, $17, $06, $18, $07, $19, $00, $03, $06, $02, $01, $03, $00, $02, $06, $06 ; CPU:$D79B PRG:179B 05 17 06 18 07 19 00 03 06 02 01 03 00 02 06 06 .byte $05, $05, $04, $03, $02, $01, $00, $FF, $FE, $FD, $FC, $FB, $FB, $FA, $FA, $FA ; CPU:$D7AB PRG:17AB 05 05 04 03 02 01 00 FF FE FD FC FB FB FA FA FA .byte $FB, $FB, $FC, $FD, $FE, $FF, $00, $01, $02, $03, $04, $05, $05, $06, $06, $06 ; CPU:$D7BB PRG:17BB FB FB FC FD FE FF 00 01 02 03 04 05 05 06 06 06 .byte $05, $05, $04, $03, $02, $01, $00, $00, $FF, $01, $FF, $01, $00, $00, $00, $80 ; CPU:$D7CB PRG:17CB 05 05 04 03 02 01 00 00 FF 01 FF 01 00 00 00 80 .byte $40, $C0, $80, $40, $20, $10, $08, $04, $02, $01, $01, $FF, $E0, $20, $00, $FF ; CPU:$D7DB PRG:17DB 40 C0 80 40 20 10 08 04 02 01 01 FF E0 20 00 FF .byte $FF, $00, $FD, $46, $6D, $93, $B9, $DE, $02, $1F, $D7, $D8, $D8, $D8, $D8, $D8 ; CPU:$D7EB PRG:17EB FF 00 FD 46 6D 93 B9 DE 02 1F D7 D8 D8 D8 D8 D8 .byte $D9, $D8, $07, $18, $20, $40, $40, $80, $80, $80, $40, $40, $20, $18, $07, $00 ; CPU:$D7FB PRG:17FB D9 D8 07 18 20 40 40 80 80 80 40 40 20 18 07 00 .byte $C0, $20, $10, $10, $08, $08, $08, $10, $10, $20, $C0, $00, $00, $00, $00, $00 ; CPU:$D80B PRG:180B C0 20 10 10 08 08 08 10 10 20 C0 00 00 00 00 00 .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $01, $01, $00, $00, $00, $00 ; CPU:$D81B PRG:181B 00 00 00 00 00 00 00 00 00 01 01 01 00 00 00 00 .byte $00, $0E, $31, $40, $80, $80, $00, $00, $00, $80, $80, $40, $31, $0E, $00, $80 ; CPU:$D82B PRG:182B 00 0E 31 40 80 80 00 00 00 80 80 40 31 0E 00 80 .byte $40, $20, $20, $10, $10, $10, $20, $20, $40, $80, $00, $03, $0C, $10, $20, $20 ; CPU:$D83B PRG:183B 40 20 20 10 10 10 20 20 40 80 00 03 0C 10 20 20 .byte $40, $40, $40, $20, $20, $10, $0C, $03, $80, $60, $10, $08, $08, $04, $04, $04 ; CPU:$D84B PRG:184B 40 40 40 20 20 10 0C 03 80 60 10 08 08 04 04 04 .byte $08, $08, $10, $60, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$D85B PRG:185B 08 08 10 60 80 00 00 00 00 00 00 00 00 00 00 00 .byte $00, $00, $01, $06, $08, $10, $10, $20, $20, $20, $10, $10, $08, $06, $01, $C0 ; CPU:$D86B PRG:186B 00 00 01 06 08 10 10 20 20 20 10 10 08 06 01 C0 .byte $30, $08, $04, $04, $02, $02, $02, $04, $04, $08, $30, $C0, $00, $00, $00, $00 ; CPU:$D87B PRG:187B 30 08 04 04 02 02 02 04 04 08 30 C0 00 00 00 00 .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $03, $04, $08, $08, $10, $10, $10 ; CPU:$D88B PRG:188B 00 00 00 00 00 00 00 00 00 03 04 08 08 10 10 10 .byte $08, $08, $04, $03, $00, $E0, $18, $04, $02, $02, $01, $01, $01, $02, $02, $04 ; CPU:$D89B PRG:189B 08 08 04 03 00 E0 18 04 02 02 01 01 01 02 02 04 .byte $18, $E0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01 ; CPU:$D8AB PRG:18AB 18 E0 00 00 00 00 00 00 00 00 00 00 00 00 00 01 .byte $02, $04, $04, $08, $08, $08, $04, $04, $02, $01, $00, $70, $8C, $02, $01, $01 ; CPU:$D8BB PRG:18BB 02 04 04 08 08 08 04 04 02 01 00 70 8C 02 01 01 .byte $00, $00, $00, $01, $01, $02, $8C, $70, $00, $00, $00, $00, $00, $80, $80, $80 ; CPU:$D8CB PRG:18CB 00 00 00 01 01 02 8C 70 00 00 00 00 00 80 80 80 .byte $00, $00, $00, $00, $00, $01, $02, $02, $04, $04, $04, $02, $02, $01, $00, $00 ; CPU:$D8DB PRG:18DB 00 00 00 00 00 01 02 02 04 04 04 02 02 01 00 00 .byte $38, $C6, $01, $00, $00, $00, $00, $00, $00, $00, $01, $C6, $38, $00, $00, $00 ; CPU:$D8EB PRG:18EB 38 C6 01 00 00 00 00 00 00 00 01 C6 38 00 00 00 .byte $80, $80, $40, $40, $40, $80, $80, $00, $00, $00, $01, $01, $02, $02, $02, $01 ; CPU:$D8FB PRG:18FB 80 80 40 40 40 80 80 00 00 00 01 01 02 02 02 01 .byte $01, $00, $00, $00, $1C, $63, $80, $00, $00, $00, $00, $00, $00, $00, $80, $63 ; CPU:$D90B PRG:190B 01 00 00 00 1C 63 80 00 00 00 00 00 00 00 80 63 .byte $1C, $00, $00, $80, $40, $40, $20, $20, $20, $40, $40, $80, $00, $00, $20, $13 ; CPU:$D91B PRG:191B 1C 00 00 80 40 40 20 20 20 40 40 80 00 00 20 13 .byte $0D, $0A, $08, $07, $06, $05, $05, $04, $04, $03, $03, $03, $03, $03, $02, $02 ; CPU:$D92B PRG:192B 0D 0A 08 07 06 05 05 04 04 03 03 03 03 03 02 02 .byte $02, $02, $02, $02, $02, $02, $02, $02, $02, $01, $36, $41, $4A, $4D, $53, $61 ; CPU:$D93B PRG:193B 02 02 02 02 02 02 02 02 02 01 36 41 4A 4D 53 61 .byte $6A, $73, $76, $81, $8A, $8D, $93, $A1, $AA, $B3, $B6, $C1, $CA, $CD, $D3, $E1 ; CPU:$D94B PRG:194B 6A 73 76 81 8A 8D 93 A1 AA B3 B6 C1 CA CD D3 E1 .byte $EA, $F3, $F6, $01, $0A, $0D, $13, $21, $2A, $33, $14, $0C, $0C, $12, $1A, $12 ; CPU:$D95B PRG:195B EA F3 F6 01 0A 0D 13 21 2A 33 14 0C 0C 12 1A 12 .byte $0C, $0C, $40, $47, $50, $56, $60, $6A, $70, $79, $80, $87, $90, $96, $A0, $AA ; CPU:$D96B PRG:196B 0C 0C 40 47 50 56 60 6A 70 79 80 87 90 96 A0 AA .byte $B0, $B9, $C0, $C7, $D0, $D6, $E0, $EA, $F0, $F9, $00, $07, $10, $16, $20, $2A ; CPU:$D97B PRG:197B B0 B9 C0 C7 D0 D6 E0 EA F0 F9 00 07 10 16 20 2A .byte $30, $39, $00, $06, $0E, $2A, $2B, $2C, $2D, $2E, $00, $BE, $C2, $C9, $BC, $C0 ; CPU:$D98B PRG:198B 30 39 00 06 0E 2A 2B 2C 2D 2E 00 BE C2 C9 BC C0 .byte $C5, $2A, $00, $DC, $A1, $E5, $E9, $A4, $6C, $E8, $EC, $00, $7E, $96, $FF, $FF ; CPU:$D99B PRG:199B C5 2A 00 DC A1 E5 E9 A4 6C E8 EC 00 7E 96 FF FF .byte $8A, $A2, $FF, $FF, $F0, $FC, $5F, $B9, $C1, $10, $10, $16, $8C, $98, $19, $04 ; CPU:$D9AB PRG:19AB 8A A2 FF FF F0 FC 5F B9 C1 10 10 16 8C 98 19 04 .byte $04, $06, $C0, $40, $60, $10, $07, $0A, $0F, $14, $19, $1E, $23, $28, $2D, $32 ; CPU:$D9BB PRG:19BB 04 06 C0 40 60 10 07 0A 0F 14 19 1E 23 28 2D 32 .byte $37, $06, $06, $00, $00, $00, $C9, $CC, $D6, $E3, $E3, $0A, $00, $46, $46, $46 ; CPU:$D9CB PRG:19CB 37 06 06 00 00 00 C9 CC D6 E3 E3 0A 00 46 46 46 .byte $1F, $1F, $3F, $3F, $3F, $68, $98, $68, $98, $00, $00, $B8, $B8, $B0, $B0, $C0 ; CPU:$D9DB PRG:19DB 1F 1F 3F 3F 3F 68 98 68 98 00 00 B8 B8 B0 B0 C0 .byte $C0, $B8, $B8, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07, $07 ; CPU:$D9EB PRG:19EB C0 B8 B8 07 07 07 07 07 07 07 07 07 07 07 07 07 .byte $07, $07, $08, $08, $08, $08, $08, $08, $08, $09, $09, $10, $10, $11, $11, $11 ; CPU:$D9FB PRG:19FB 07 07 08 08 08 08 08 08 08 09 09 10 10 11 11 11 .byte $11, $11, $11, $11, $11, $12, $12, $12, $12, $12, $12, $12, $12, $12, $12, $12 ; CPU:$DA0B PRG:1A0B 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 .byte $12, $12, $12, $1C, $1D, $1D, $1D, $1E, $1E, $1E, $1E, $1F, $1F, $1F, $1F, $1F ; CPU:$DA1B PRG:1A1B 12 12 12 1C 1D 1D 1D 1E 1E 1E 1E 1F 1F 1F 1F 1F .byte $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1E, $1E, $1E, $1E, $1F, $1F, $1F ; CPU:$DA2B PRG:1A2B 1F 1F 1F 1F 1F 1F 1F 1F 1F 1E 1E 1E 1E 1F 1F 1F .byte $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1E, $1E, $1E, $1E, $1D ; CPU:$DA3B PRG:1A3B 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1E 1E 1E 1E 1D .byte $1D, $1D, $1C, $11, $10, $0F, $0E, $0C, $0B, $0A, $09, $08, $07, $06, $05, $04 ; CPU:$DA4B PRG:1A4B 1D 1D 1C 11 10 0F 0E 0C 0B 0A 09 08 07 06 05 04 .byte $03, $02, $00, $FF, $FE, $FD, $FC, $FB, $FA, $F8, $F7, $09, $08, $06, $05, $04 ; CPU:$DA5B PRG:1A5B 03 02 00 FF FE FD FC FB FA F8 F7 09 08 06 05 04 .byte $03, $02, $01, $00, $FE, $FD, $FC, $FB, $FA, $F9, $F8, $F7, $F6, $F5, $F4, $F3 ; CPU:$DA6B PRG:1A6B 03 02 01 00 FE FD FC FB FA F9 F8 F7 F6 F5 F4 F3 .byte $F2, $F1, $F0, $00, $18, $30, $48, $ED, $EE, $F0, $F1, $F3, $F4, $F5, $F7, $F8 ; CPU:$DA7B PRG:1A7B F2 F1 F0 00 18 30 48 ED EE F0 F1 F3 F4 F5 F7 F8 .byte $F9, $FB, $FC, $FD, $FF, $00, $03, $04, $05, $06, $08, $09, $0A, $0D, $0E, $78 ; CPU:$DA8B PRG:1A8B F9 FB FC FD FF 00 03 04 05 06 08 09 0A 0D 0E 78 .byte $79, $7C, $7D, $7E, $80, $81, $82, $83, $86, $87, $89, $8A, $8B, $8D, $8E, $8F ; CPU:$DA9B PRG:1A9B 79 7C 7D 7E 80 81 82 83 86 87 89 8A 8B 8D 8E 8F .byte $91, $92, $93, $95, $96, $98, $99, $04, $08, $0C, $10, $14, $18, $1C, $20, $22 ; CPU:$DAAB PRG:1AAB 91 92 93 95 96 98 99 04 08 0C 10 14 18 1C 20 22 .byte $24, $26, $28, $2A, $2C, $2E, $30, $32, $32, $34, $34, $36, $36, $38, $38, $3A ; CPU:$DABB PRG:1ABB 24 26 28 2A 2C 2E 30 32 32 34 34 36 36 38 38 3A .byte $3A, $3C, $3C, $3E, $3E, $3E, $3E, $3E, $3E, $3E, $00, $20, $60, $A0, $E0, $00 ; CPU:$DACB PRG:1ACB 3A 3C 3C 3E 3E 3E 3E 3E 3E 3E 00 20 60 A0 E0 00 .byte $02, $01, $03, $00, $FF, $FF, $00, $05, $0B, $3F, $27, $63, $AD, $FF, $37, $90 ; CPU:$DADB PRG:1ADB 02 01 03 00 FF FF 00 05 0B 3F 27 63 AD FF 37 90 .byte $19, $A0, $B0, $FF, $52, $62, $72, $82, $FF, $42, $68, $66, $BE, $FF, $3A, $A0 ; CPU:$DAEB PRG:1AEB 19 A0 B0 FF 52 62 72 82 FF 42 68 66 BE FF 3A A0 .byte $2E, $A3, $B3, $FF, $5D, $6D, $7D, $8D, $FF, $00, $05, $08, $0B, $FF, $0E, $15 ; CPU:$DAFB PRG:1AFB 2E A3 B3 FF 5D 6D 7D 8D FF 00 05 08 0B FF 0E 15 .byte $1C, $1F, $24, $FF, $29, $29, $29, $29, $FF, $78, $88, $98, $A8, $FF, $48, $60 ; CPU:$DB0B PRG:1B0B 1C 1F 24 FF 29 29 29 29 FF 78 88 98 A8 FF 48 60 .byte $FF, $C8, $D4, $FF, $CA, $D7, $FF, $68, $78, $88, $98, $A8, $B8, $FF, $78, $80 ; CPU:$DB1B PRG:1B1B FF C8 D4 FF CA D7 FF 68 78 88 98 A8 B8 FF 78 80 .byte $8C, $9C, $A0, $A8, $FF, $CA, $D6, $FF, $54, $61, $BE, $CB, $FF, $48, $54, $CB ; CPU:$DB2B PRG:1B2B 8C 9C A0 A8 FF CA D6 FF 54 61 BE CB FF 48 54 CB .byte $D7, $FF, $83, $8E, $93, $9E, $A3, $AE, $FF, $00, $01, $01, $01, $00, $00, $02 ; CPU:$DB3B PRG:1B3B D7 FF 83 8E 93 9E A3 AE FF 00 01 01 01 00 00 02 .byte $00, $00, $03, $00, $00, $04, $00, $00, $05, $05, $05, $05, $05, $00, $00, $06 ; CPU:$DB4B PRG:1B4B 00 00 03 00 00 04 00 00 05 05 05 05 05 00 00 06 .byte $00, $06, $00, $06, $00, $00, $07, $00, $00, $08, $00, $08, $00, $00, $09, $00 ; CPU:$DB5B PRG:1B5B 00 06 00 06 00 00 07 00 00 08 00 08 00 00 09 00 .byte $09, $00, $00, $0A, $00, $0A, $00, $0A, $00, $A5, $B5, $D6, $E4, $19, $3B, $E7 ; CPU:$DB6B PRG:1B6B 09 00 00 0A 00 0A 00 0A 00 A5 B5 D6 E4 19 3B E7 .byte $48, $55, $5D, $CD, $CD, $CD, $CD, $CE, $CE, $CD, $CE, $CE, $CE, $1E, $37, $1E ; CPU:$DB7B PRG:1B7B 48 55 5D CD CD CD CD CE CE CD CE CE CE 1E 37 1E .byte $27, $2A, $32, $3A, $43, $4B, $54, $5D, $65, $00, $14, $01, $14, $02, $14, $03 ; CPU:$DB8B PRG:1B8B 27 2A 32 3A 43 4B 54 5D 65 00 14 01 14 02 14 03 .byte $14, $04, $78, $80, $03, $0A, $02, $0A, $01, $0A, $00, $01, $FF, $00, $02, $00 ; CPU:$DB9B PRG:1B9B 14 04 78 80 03 0A 02 0A 01 0A 00 01 FF 00 02 00 .byte $01, $00, $03, $D0, $D0, $98, $E2, $B3, $1F, $A0, $99 ; CPU:$DBAB PRG:1BAB 01 00 03 D0 D0 98 E2 B3 1F A0 99 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumper ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumper: ldx #$02 ; CPU:$DBB6 PRG:1BB6 A2 02 ; ----------------------------------------------------------------------------- ; Routine: SubCDBB8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDBB8: lda Zp0A,x ; CPU:$DBB8 PRG:1BB8 B5 0A eor #$80 ; CPU:$DBBA PRG:1BBA 49 80 asl a ; CPU:$DBBC PRG:1BBC 0A sta Zp12 ; CPU:$DBBD PRG:1BBD 85 12 sbc Zp12 ; CPU:$DBBF PRG:1BBF E5 12 sta Zp0B,x ; CPU:$DBC1 PRG:1BC1 95 0B dex ; CPU:$DBC3 PRG:1BC3 CA dex ; CPU:$DBC4 PRG:1BC4 CA bpl SubCDBB8 ; CPU:$DBC5 PRG:1BC5 10 F1 rts ; CPU:$DBC7 PRG:1BC7 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState: ldx #$00 ; CPU:$DBC8 PRG:1BC8 A2 00 bit $02A2 ; CPU:$DBCA PRG:1BCA 2C A2 02 ; ----------------------------------------------------------------------------- ; Routine: SubCDBCD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDBCD: lda Zp07,x ; CPU:$DBCD PRG:1BCD B5 07 bpl SubCDBDE ; CPU:$DBCF PRG:1BCF 10 0D lda #$00 ; CPU:$DBD1 PRG:1BD1 A9 00 sec ; CPU:$DBD3 PRG:1BD3 38 sbc Zp06,x ; CPU:$DBD4 PRG:1BD4 F5 06 sta Zp06,x ; CPU:$DBD6 PRG:1BD6 95 06 lda #$00 ; CPU:$DBD8 PRG:1BD8 A9 00 sbc Zp07,x ; CPU:$DBDA PRG:1BDA F5 07 sta Zp07,x ; CPU:$DBDC PRG:1BDC 95 07 ; ----------------------------------------------------------------------------- ; Routine: SubCDBDE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDBDE: dex ; CPU:$DBDE PRG:1BDE CA dex ; CPU:$DBDF PRG:1BDF CA bpl SubCDBCD ; CPU:$DBE0 PRG:1BE0 10 EB rts ; CPU:$DBE2 PRG:1BE2 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperHit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperHit: lda Zp06 ; CPU:$DBE3 PRG:1BE3 A5 06 bpl SubCDBEE ; CPU:$DBE5 PRG:1BE5 10 07 lda #$00 ; CPU:$DBE7 PRG:1BE7 A9 00 sec ; CPU:$DBE9 PRG:1BE9 38 sbc Zp06 ; CPU:$DBEA PRG:1BEA E5 06 sta Zp06 ; CPU:$DBEC PRG:1BEC 85 06 ; ----------------------------------------------------------------------------- ; Routine: SubCDBEE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDBEE: lda Zp08 ; CPU:$DBEE PRG:1BEE A5 08 bpl SubCDBF9 ; CPU:$DBF0 PRG:1BF0 10 07 lda #$00 ; CPU:$DBF2 PRG:1BF2 A9 00 sec ; CPU:$DBF4 PRG:1BF4 38 sbc Zp08 ; CPU:$DBF5 PRG:1BF5 E5 08 sta Zp08 ; CPU:$DBF7 PRG:1BF7 85 08 ; ----------------------------------------------------------------------------- ; Routine: SubCDBF9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDBF9: rts ; CPU:$DBF9 PRG:1BF9 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperSprites ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperSprites: ldx #$02 ; CPU:$DBFA PRG:1BFA A2 02 ; ----------------------------------------------------------------------------- ; Routine: SubCDBFC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDBFC: ldy Zp06,x ; CPU:$DBFC PRG:1BFC B4 06 lda $0300,y ; CPU:$DBFE PRG:1BFE B9 00 03 sta Zp06,x ; CPU:$DC01 PRG:1C01 95 06 lda $DE87,y ; CPU:$DC03 PRG:1C03 B9 87 DE sta Zp07,x ; CPU:$DC06 PRG:1C06 95 07 dex ; CPU:$DC08 PRG:1C08 CA dex ; CPU:$DC09 PRG:1C09 CA bpl SubCDBFC ; CPU:$DC0A PRG:1C0A 10 F0 rts ; CPU:$DC0C PRG:1C0C 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState2: ldx #$80 ; CPU:$DC0D PRG:1C0D A2 80 stx Zp12 ; CPU:$DC0F PRG:1C0F 86 12 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState3: lsr Zp12 ; CPU:$DC11 PRG:1C11 46 12 lda $0300,x ; CPU:$DC13 PRG:1C13 BD 00 03 sec ; CPU:$DC16 PRG:1C16 38 sbc Zp06 ; CPU:$DC17 PRG:1C17 E5 06 sta Zp13 ; CPU:$DC19 PRG:1C19 85 13 lda $DE87,x ; CPU:$DC1B PRG:1C1B BD 87 DE sbc Zp07 ; CPU:$DC1E PRG:1C1E E5 07 ora Zp13 ; CPU:$DC20 PRG:1C20 05 13 beq SubCDC37 ; CPU:$DC22 PRG:1C22 F0 13 lda Zp12 ; CPU:$DC24 PRG:1C24 A5 12 beq SubCDC34 ; CPU:$DC26 PRG:1C26 F0 0C txa ; CPU:$DC28 PRG:1C28 8A bcs SubCDC2E ; CPU:$DC29 PRG:1C29 B0 03 adc Zp12 ; CPU:$DC2B PRG:1C2B 65 12 ; ---- data $DC2D-$DC2D (1 bytes) ---- .byte $2C ; CPU:$DC2D PRG:1C2D 2C ; ----------------------------------------------------------------------------- ; Routine: SubCDC2E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDC2E: sbc Zp12 ; CPU:$DC2E PRG:1C2E E5 12 tax ; CPU:$DC30 PRG:1C30 AA jmp UpdateBumperState3 ; CPU:$DC31 PRG:1C31 4C 11 DC ; ----------------------------------------------------------------------------- ; Routine: SubCDC34 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDC34: bcc SubCDC37 ; CPU:$DC34 PRG:1C34 90 01 dex ; CPU:$DC36 PRG:1C36 CA ; ----------------------------------------------------------------------------- ; Routine: SubCDC37 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDC37: stx Zp06 ; CPU:$DC37 PRG:1C37 86 06 lda #$00 ; CPU:$DC39 PRG:1C39 A9 00 sta Zp07 ; CPU:$DC3B PRG:1C3B 85 07 rts ; CPU:$DC3D PRG:1C3D 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperHit2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperHit2: lda Zp06 ; CPU:$DC3E PRG:1C3E A5 06 asl a ; CPU:$DC40 PRG:1C40 0A lda Zp08 ; CPU:$DC41 PRG:1C41 A5 08 rol a ; CPU:$DC43 PRG:1C43 2A rol a ; CPU:$DC44 PRG:1C44 2A and #$03 ; CPU:$DC45 PRG:1C45 29 03 pha ; CPU:$DC47 PRG:1C47 48 jsr UpdateBumperHit ; CPU:$DC48 PRG:1C48 20 E3 DB ldy #$00 ; CPU:$DC4B PRG:1C4B A0 00 lda Zp06 ; CPU:$DC4D PRG:1C4D A5 06 cmp Zp08 ; CPU:$DC4F PRG:1C4F C5 08 bcc SubCDC5A ; CPU:$DC51 PRG:1C51 90 07 ldx Zp08 ; CPU:$DC53 PRG:1C53 A6 08 sta Zp08 ; CPU:$DC55 PRG:1C55 85 08 stx Zp06 ; CPU:$DC57 PRG:1C57 86 06 dey ; CPU:$DC59 PRG:1C59 88 ; ----------------------------------------------------------------------------- ; Routine: SubCDC5A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDC5A: sty Zp14 ; CPU:$DC5A PRG:1C5A 84 14 lda Zp08 ; CPU:$DC5C PRG:1C5C A5 08 bne SubCDC64 ; CPU:$DC5E PRG:1C5E D0 04 pla ; CPU:$DC60 PRG:1C60 68 lda #$40 ; CPU:$DC61 PRG:1C61 A9 40 rts ; CPU:$DC63 PRG:1C63 60 ; ----------------------------------------------------------------------------- ; Routine: SubCDC64 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDC64: cmp Zp06 ; CPU:$DC64 PRG:1C64 C5 06 bne SubCDC6C ; CPU:$DC66 PRG:1C66 D0 04 lda #$20 ; CPU:$DC68 PRG:1C68 A9 20 bne SubCDC8E ; CPU:$DC6A PRG:1C6A D0 22 ; ----------------------------------------------------------------------------- ; Routine: SubCDC6C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDC6C: jsr UpdateBumperState7 ; CPU:$DC6C PRG:1C6C 20 5D DD lda Zp06 ; CPU:$DC6F PRG:1C6F A5 06 and #$C0 ; CPU:$DC71 PRG:1C71 29 C0 lsr a ; CPU:$DC73 PRG:1C73 4A lsr a ; CPU:$DC74 PRG:1C74 4A lsr a ; CPU:$DC75 PRG:1C75 4A lsr a ; CPU:$DC76 PRG:1C76 4A tax ; CPU:$DC77 PRG:1C77 AA lda Zp06 ; CPU:$DC78 PRG:1C78 A5 06 ; ----------------------------------------------------------------------------- ; Routine: SubCDC7A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDC7A: cmp $DF87,x ; CPU:$DC7A PRG:1C7A DD 87 DF bcc SubCDC82 ; CPU:$DC7D PRG:1C7D 90 03 inx ; CPU:$DC7F PRG:1C7F E8 bne SubCDC7A ; CPU:$DC80 PRG:1C80 D0 F8 ; ----------------------------------------------------------------------------- ; Routine: SubCDC82 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDC82: txa ; CPU:$DC82 PRG:1C82 8A ldx Zp14 ; CPU:$DC83 PRG:1C83 A6 14 bne SubCDC8E ; CPU:$DC85 PRG:1C85 D0 07 sta Zp12 ; CPU:$DC87 PRG:1C87 85 12 lda #$40 ; CPU:$DC89 PRG:1C89 A9 40 sec ; CPU:$DC8B PRG:1C8B 38 sbc Zp12 ; CPU:$DC8C PRG:1C8C E5 12 ; ----------------------------------------------------------------------------- ; Routine: SubCDC8E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDC8E: sta Zp12 ; CPU:$DC8E PRG:1C8E 85 12 pla ; CPU:$DC90 PRG:1C90 68 tax ; CPU:$DC91 PRG:1C91 AA lda $DCA2,x ; CPU:$DC92 PRG:1C92 BD A2 DC ldy $DCA6,x ; CPU:$DC95 PRG:1C95 BC A6 DC bne SubCDC9E ; CPU:$DC98 PRG:1C98 D0 04 clc ; CPU:$DC9A PRG:1C9A 18 adc Zp12 ; CPU:$DC9B PRG:1C9B 65 12 rts ; CPU:$DC9D PRG:1C9D 60 ; ----------------------------------------------------------------------------- ; Routine: SubCDC9E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDC9E: sec ; CPU:$DC9E PRG:1C9E 38 sbc Zp12 ; CPU:$DC9F PRG:1C9F E5 12 rts ; CPU:$DCA1 PRG:1CA1 60 ; ---- data $DCA2-$DCA9 (8 bytes) ---- ; referenced by `lda $DCA2,x` at $DC92 (operand $DCA2 falls inside this region) ; referenced by `ldy $DCA6,x` at $DC95 (operand $DCA6 falls inside this region) .byte $00, $00, $80, $80, $FF, $00, $00, $FF ; CPU:$DCA2 PRG:1CA2 00 00 80 80 FF 00 00 FF ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState4: jsr UpdateBumperHit ; CPU:$DCAA PRG:1CAA 20 E3 DB jsr UpdateBumperSprites ; CPU:$DCAD PRG:1CAD 20 FA DB lda Zp06 ; CPU:$DCB0 PRG:1CB0 A5 06 clc ; CPU:$DCB2 PRG:1CB2 18 adc Zp08 ; CPU:$DCB3 PRG:1CB3 65 08 sta Zp06 ; CPU:$DCB5 PRG:1CB5 85 06 lda Zp07 ; CPU:$DCB7 PRG:1CB7 A5 07 adc Zp09 ; CPU:$DCB9 PRG:1CB9 65 09 sta Zp07 ; CPU:$DCBB PRG:1CBB 85 07 jsr UpdateBumperState2 ; CPU:$DCBD PRG:1CBD 20 0D DC lda Zp06 ; CPU:$DCC0 PRG:1CC0 A5 06 bpl SubCDCC8 ; CPU:$DCC2 PRG:1CC2 10 04 lda #$7F ; CPU:$DCC4 PRG:1CC4 A9 7F sta Zp06 ; CPU:$DCC6 PRG:1CC6 85 06 ; ----------------------------------------------------------------------------- ; Routine: SubCDCC8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDCC8: rts ; CPU:$DCC8 PRG:1CC8 60 ; ----------------------------------------------------------------------------- ; Routine: SubCDCC9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDCC9: ldx #$02 ; CPU:$DCC9 PRG:1CC9 A2 02 ; ----------------------------------------------------------------------------- ; Routine: SubCDCCB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDCCB: lda Zp06,x ; CPU:$DCCB PRG:1CCB B5 06 clc ; CPU:$DCCD PRG:1CCD 18 adc Zp0A,x ; CPU:$DCCE PRG:1CCE 75 0A sta Zp06,x ; CPU:$DCD0 PRG:1CD0 95 06 lda Zp07,x ; CPU:$DCD2 PRG:1CD2 B5 07 adc Zp0B,x ; CPU:$DCD4 PRG:1CD4 75 0B sta Zp07,x ; CPU:$DCD6 PRG:1CD6 95 07 dex ; CPU:$DCD8 PRG:1CD8 CA dex ; CPU:$DCD9 PRG:1CD9 CA bpl SubCDCCB ; CPU:$DCDA PRG:1CDA 10 EF rts ; CPU:$DCDC PRG:1CDC 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperChain ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperChain: lda #$00 ; CPU:$DCDD PRG:1CDD A9 00 sta Zp12 ; CPU:$DCDF PRG:1CDF 85 12 beq UpdateBumperState6 ; CPU:$DCE1 PRG:1CE1 F0 09 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState5: lda Zp06 ; CPU:$DCE3 PRG:1CE3 A5 06 eor Zp08 ; CPU:$DCE5 PRG:1CE5 45 08 sta Zp12 ; CPU:$DCE7 PRG:1CE7 85 12 jsr UpdateBumperHit ; CPU:$DCE9 PRG:1CE9 20 E3 DB ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState6: lda Zp08 ; CPU:$DCEC PRG:1CEC A5 08 cmp Zp06 ; CPU:$DCEE PRG:1CEE C5 06 bcc SubCDCF9 ; CPU:$DCF0 PRG:1CF0 90 07 ldx Zp06 ; CPU:$DCF2 PRG:1CF2 A6 06 sta Zp06 ; CPU:$DCF4 PRG:1CF4 85 06 stx Zp08 ; CPU:$DCF6 PRG:1CF6 86 08 txa ; CPU:$DCF8 PRG:1CF8 8A ; ----------------------------------------------------------------------------- ; Routine: SubCDCF9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDCF9: ldx #$08 ; CPU:$DCF9 PRG:1CF9 A2 08 ; ----------------------------------------------------------------------------- ; Routine: SubCDCFB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDCFB: asl a ; CPU:$DCFB PRG:1CFB 0A bcs SubCDD05 ; CPU:$DCFC PRG:1CFC B0 07 dex ; CPU:$DCFE PRG:1CFE CA bne SubCDCFB ; CPU:$DCFF PRG:1CFF D0 FA sta Zp07 ; CPU:$DD01 PRG:1D01 85 07 beq SubCDD1E ; CPU:$DD03 PRG:1D03 F0 19 ; ----------------------------------------------------------------------------- ; Routine: SubCDD05 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD05: sta Zp08 ; CPU:$DD05 PRG:1D05 85 08 lda #$00 ; CPU:$DD07 PRG:1D07 A9 00 sta Zp07 ; CPU:$DD09 PRG:1D09 85 07 beq SubCDD14 ; CPU:$DD0B PRG:1D0B F0 07 ; ----------------------------------------------------------------------------- ; Routine: SubCDD0D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD0D: asl a ; CPU:$DD0D PRG:1D0D 0A rol Zp07 ; CPU:$DD0E PRG:1D0E 26 07 asl Zp08 ; CPU:$DD10 PRG:1D10 06 08 bcc SubCDD1B ; CPU:$DD12 PRG:1D12 90 07 ; ----------------------------------------------------------------------------- ; Routine: SubCDD14 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD14: clc ; CPU:$DD14 PRG:1D14 18 adc Zp06 ; CPU:$DD15 PRG:1D15 65 06 bcc SubCDD1B ; CPU:$DD17 PRG:1D17 90 02 inc Zp07 ; CPU:$DD19 PRG:1D19 E6 07 ; ----------------------------------------------------------------------------- ; Routine: SubCDD1B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD1B: dex ; CPU:$DD1B PRG:1D1B CA bne SubCDD0D ; CPU:$DD1C PRG:1D1C D0 EF ; ----------------------------------------------------------------------------- ; Routine: SubCDD1E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD1E: sta Zp06 ; CPU:$DD1E PRG:1D1E 85 06 lda Zp12 ; CPU:$DD20 PRG:1D20 A5 12 bpl SubCDD31 ; CPU:$DD22 PRG:1D22 10 0D lda #$00 ; CPU:$DD24 PRG:1D24 A9 00 sec ; CPU:$DD26 PRG:1D26 38 sbc Zp06 ; CPU:$DD27 PRG:1D27 E5 06 sta Zp06 ; CPU:$DD29 PRG:1D29 85 06 lda #$00 ; CPU:$DD2B PRG:1D2B A9 00 sbc Zp07 ; CPU:$DD2D PRG:1D2D E5 07 sta Zp07 ; CPU:$DD2F PRG:1D2F 85 07 ; ----------------------------------------------------------------------------- ; Routine: SubCDD31 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD31: rts ; CPU:$DD31 PRG:1D31 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperChain2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperChain2: lda Zp06 ; CPU:$DD32 PRG:1D32 A5 06 eor Zp09 ; CPU:$DD34 PRG:1D34 45 09 sta Zp12 ; CPU:$DD36 PRG:1D36 85 12 lda Zp06 ; CPU:$DD38 PRG:1D38 A5 06 bpl SubCDD43 ; CPU:$DD3A PRG:1D3A 10 07 lda #$00 ; CPU:$DD3C PRG:1D3C A9 00 sec ; CPU:$DD3E PRG:1D3E 38 sbc Zp06 ; CPU:$DD3F PRG:1D3F E5 06 sta Zp06 ; CPU:$DD41 PRG:1D41 85 06 ; ----------------------------------------------------------------------------- ; Routine: SubCDD43 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD43: lda Zp09 ; CPU:$DD43 PRG:1D43 A5 09 bpl SubCDD4E ; CPU:$DD45 PRG:1D45 10 07 lda #$00 ; CPU:$DD47 PRG:1D47 A9 00 sec ; CPU:$DD49 PRG:1D49 38 sbc Zp08 ; CPU:$DD4A PRG:1D4A E5 08 sta Zp08 ; CPU:$DD4C PRG:1D4C 85 08 ; ----------------------------------------------------------------------------- ; Routine: SubCDD4E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD4E: jsr UpdateBumperState6 ; CPU:$DD4E PRG:1D4E 20 EC DC ldy #$00 ; CPU:$DD51 PRG:1D51 A0 00 lda Zp07 ; CPU:$DD53 PRG:1D53 A5 07 sta Zp06 ; CPU:$DD55 PRG:1D55 85 06 bpl SubCDD5A ; CPU:$DD57 PRG:1D57 10 01 dey ; CPU:$DD59 PRG:1D59 88 ; ----------------------------------------------------------------------------- ; Routine: SubCDD5A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD5A: sty Zp07 ; CPU:$DD5A PRG:1D5A 84 07 rts ; CPU:$DD5C PRG:1D5C 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState7: lda Zp06 ; CPU:$DD5D PRG:1D5D A5 06 ldx #$00 ; CPU:$DD5F PRG:1D5F A2 00 stx Zp06 ; CPU:$DD61 PRG:1D61 86 06 ldx #$08 ; CPU:$DD63 PRG:1D63 A2 08 ; ----------------------------------------------------------------------------- ; Routine: SubCDD65 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD65: asl a ; CPU:$DD65 PRG:1D65 0A bcs SubCDD6C ; CPU:$DD66 PRG:1D66 B0 04 cmp Zp08 ; CPU:$DD68 PRG:1D68 C5 08 bcc SubCDD6F ; CPU:$DD6A PRG:1D6A 90 03 ; ----------------------------------------------------------------------------- ; Routine: SubCDD6C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD6C: sbc Zp08 ; CPU:$DD6C PRG:1D6C E5 08 sec ; CPU:$DD6E PRG:1D6E 38 ; ----------------------------------------------------------------------------- ; Routine: SubCDD6F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD6F: rol Zp06 ; CPU:$DD6F PRG:1D6F 26 06 dex ; CPU:$DD71 PRG:1D71 CA bne SubCDD65 ; CPU:$DD72 PRG:1D72 D0 F1 rts ; CPU:$DD74 PRG:1D74 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState8: sec ; CPU:$DD75 PRG:1D75 38 sbc #$40 ; CPU:$DD76 PRG:1D76 E9 40 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState9: and #$7F ; CPU:$DD78 PRG:1D78 29 7F cmp #$40 ; CPU:$DD7A PRG:1D7A C9 40 bcc SubCDD84 ; CPU:$DD7C PRG:1D7C 90 06 sta Zp12 ; CPU:$DD7E PRG:1D7E 85 12 lda #$7F ; CPU:$DD80 PRG:1D80 A9 7F sbc Zp12 ; CPU:$DD82 PRG:1D82 E5 12 ; ----------------------------------------------------------------------------- ; Routine: SubCDD84 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDD84: tax ; CPU:$DD84 PRG:1D84 AA lda $DFA8,x ; CPU:$DD85 PRG:1D85 BD A8 DF sta Zp08 ; CPU:$DD88 PRG:1D88 85 08 ldy #$00 ; CPU:$DD8A PRG:1D8A A0 00 sty Zp09 ; CPU:$DD8C PRG:1D8C 84 09 rts ; CPU:$DD8E PRG:1D8E 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState10 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState10: sec ; CPU:$DD8F PRG:1D8F 38 sbc #$40 ; CPU:$DD90 PRG:1D90 E9 40 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState11 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState11: pha ; CPU:$DD92 PRG:1D92 48 jsr UpdateBumperState9 ; CPU:$DD93 PRG:1D93 20 78 DD pla ; CPU:$DD96 PRG:1D96 68 bmi SubCDDA2 ; CPU:$DD97 PRG:1D97 30 09 lda #$00 ; CPU:$DD99 PRG:1D99 A9 00 sec ; CPU:$DD9B PRG:1D9B 38 sbc Zp08 ; CPU:$DD9C PRG:1D9C E5 08 sta Zp08 ; CPU:$DD9E PRG:1D9E 85 08 dec Zp09 ; CPU:$DDA0 PRG:1DA0 C6 09 ; ----------------------------------------------------------------------------- ; Routine: SubCDDA2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDDA2: rts ; CPU:$DDA2 PRG:1DA2 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState12 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState12: lda Zp06 ; CPU:$DDA3 PRG:1DA3 A5 06 sta Zp0A ; CPU:$DDA5 PRG:1DA5 85 0A lda Zp08 ; CPU:$DDA7 PRG:1DA7 A5 08 sta Zp0C ; CPU:$DDA9 PRG:1DA9 85 0C rts ; CPU:$DDAB PRG:1DAB 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState13 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState13: lda Zp06 ; CPU:$DDAC PRG:1DAC A5 06 sta Zp0E ; CPU:$DDAE PRG:1DAE 85 0E lda Zp08 ; CPU:$DDB0 PRG:1DB0 A5 08 sta Zp10 ; CPU:$DDB2 PRG:1DB2 85 10 rts ; CPU:$DDB4 PRG:1DB4 60 ; ----------------------------------------------------------------------------- ; Routine: SubCDDB5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDDB5: lda Zp0A ; CPU:$DDB5 PRG:1DB5 A5 0A sta Zp06 ; CPU:$DDB7 PRG:1DB7 85 06 lda Zp0C ; CPU:$DDB9 PRG:1DB9 A5 0C sta Zp08 ; CPU:$DDBB PRG:1DBB 85 08 rts ; CPU:$DDBD PRG:1DBD 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperHit4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperHit4: lda Zp0E ; CPU:$DDBE PRG:1DBE A5 0E sta Zp06 ; CPU:$DDC0 PRG:1DC0 85 06 lda Zp10 ; CPU:$DDC2 PRG:1DC2 A5 10 sta Zp08 ; CPU:$DDC4 PRG:1DC4 85 08 rts ; CPU:$DDC6 PRG:1DC6 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState15 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState15: lda Zp0A ; CPU:$DDC7 PRG:1DC7 A5 0A ; ----------------------------------------------------------------------------- ; Routine: SubCDDC9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDDC9: ldx Zp0B ; CPU:$DDC9 PRG:1DC9 A6 0B sta Zp06 ; CPU:$DDCB PRG:1DCB 85 06 stx Zp07 ; CPU:$DDCD PRG:1DCD 86 07 rts ; CPU:$DDCF PRG:1DCF 60 ; ----------------------------------------------------------------------------- ; Routine: SubCDDD0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDDD0: lda Zp0E ; CPU:$DDD0 PRG:1DD0 A5 0E ldx Zp0F ; CPU:$DDD2 PRG:1DD2 A6 0F sta Zp06 ; CPU:$DDD4 PRG:1DD4 85 06 stx Zp07 ; CPU:$DDD6 PRG:1DD6 86 07 rts ; CPU:$DDD8 PRG:1DD8 60 ; ----------------------------------------------------------------------------- ; Routine: SubCDDD9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDDD9: jsr UpdateBumperState15 ; CPU:$DDD9 PRG:1DD9 20 C7 DD lda Zp0C ; CPU:$DDDC PRG:1DDC A5 0C ldx Zp0D ; CPU:$DDDE PRG:1DDE A6 0D sta Zp08 ; CPU:$DDE0 PRG:1DE0 85 08 stx Zp09 ; CPU:$DDE2 PRG:1DE2 86 09 rts ; CPU:$DDE4 PRG:1DE4 60 ; ---- data $DDE5-$DDF0 (12 bytes) ---- .byte $20, $D0, $DD, $A5, $10, $A6, $11, $85, $08, $86, $09, $60 ; CPU:$DDE5 PRG:1DE5 20 D0 DD A5 10 A6 11 85 08 86 09 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBumperState16 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBumperState16: lda Zp06 ; CPU:$DDF1 PRG:1DF1 A5 06 ldx Zp07 ; CPU:$DDF3 PRG:1DF3 A6 07 sta Zp0A ; CPU:$DDF5 PRG:1DF5 85 0A stx Zp0B ; CPU:$DDF7 PRG:1DF7 86 0B rts ; CPU:$DDF9 PRG:1DF9 60 ; ----------------------------------------------------------------------------- ; Routine: SubCDDFA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDDFA: lda Zp0E ; CPU:$DDFA PRG:1DFA A5 0E ldx Zp0F ; CPU:$DDFC PRG:1DFC A6 0F sta Zp0A ; CPU:$DDFE PRG:1DFE 85 0A stx Zp0B ; CPU:$DE00 PRG:1E00 86 0B rts ; CPU:$DE02 PRG:1E02 60 ; ---- data $DE03-$DE1A (24 bytes) ---- .byte $20, $F1, $DD, $A5, $08, $A6, $09, $85, $0C, $86, $0D, $60, $20, $FA, $DD, $A5 ; CPU:$DE03 PRG:1E03 20 F1 DD A5 08 A6 09 85 0C 86 0D 60 20 FA DD A5 .byte $10, $A6, $11, $85, $0C, $86, $0D, $60 ; CPU:$DE13 PRG:1E13 10 A6 11 85 0C 86 0D 60 ; ----------------------------------------------------------------------------- ; Routine: SubCDE1B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDE1B: lda Zp06 ; CPU:$DE1B PRG:1E1B A5 06 ldx Zp07 ; CPU:$DE1D PRG:1E1D A6 07 sta Zp0E ; CPU:$DE1F PRG:1E1F 85 0E stx Zp0F ; CPU:$DE21 PRG:1E21 86 0F rts ; CPU:$DE23 PRG:1E23 60 ; ---- data $DE24-$DE2F (12 bytes) ---- .byte $20, $1B, $DE, $A5, $08, $A6, $09, $85, $10, $86, $11, $60 ; CPU:$DE24 PRG:1E24 20 1B DE A5 08 A6 09 85 10 86 11 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundEngine ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundEngine: lda Zp15 ; CPU:$DE30 PRG:1E30 A5 15 sta Zp06 ; CPU:$DE32 PRG:1E32 85 06 lda Zp16 ; CPU:$DE34 PRG:1E34 A5 16 sta Zp07 ; CPU:$DE36 PRG:1E36 85 07 lda Zp17 ; CPU:$DE38 PRG:1E38 A5 17 sta Zp08 ; CPU:$DE3A PRG:1E3A 85 08 lda Zp18 ; CPU:$DE3C PRG:1E3C A5 18 sta Zp09 ; CPU:$DE3E PRG:1E3E 85 09 rts ; CPU:$DE40 PRG:1E40 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannel ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannel: lda Zp06 ; CPU:$DE41 PRG:1E41 A5 06 sta Zp15 ; CPU:$DE43 PRG:1E43 85 15 lda Zp07 ; CPU:$DE45 PRG:1E45 A5 07 sta Zp16 ; CPU:$DE47 PRG:1E47 85 16 lda Zp08 ; CPU:$DE49 PRG:1E49 A5 08 sta Zp17 ; CPU:$DE4B PRG:1E4B 85 17 lda Zp09 ; CPU:$DE4D PRG:1E4D A5 09 sta Zp18 ; CPU:$DE4F PRG:1E4F 85 18 rts ; CPU:$DE51 PRG:1E51 60 ; ----------------------------------------------------------------------------- ; Routine: SubCDE52 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDE52: lda Zp0A ; CPU:$DE52 PRG:1E52 A5 0A sta Zp15 ; CPU:$DE54 PRG:1E54 85 15 lda Zp0B ; CPU:$DE56 PRG:1E56 A5 0B sta Zp16 ; CPU:$DE58 PRG:1E58 85 16 lda Zp0C ; CPU:$DE5A PRG:1E5A A5 0C sta Zp17 ; CPU:$DE5C PRG:1E5C 85 17 lda Zp0D ; CPU:$DE5E PRG:1E5E A5 0D sta Zp18 ; CPU:$DE60 PRG:1E60 85 18 rts ; CPU:$DE62 PRG:1E62 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannel2_E96A_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannel2_E96A_1: lda Zp19 ; CPU:$DE63 PRG:1E63 A5 19 sta Zp06 ; CPU:$DE65 PRG:1E65 85 06 lda Zp1A ; CPU:$DE67 PRG:1E67 A5 1A sta Zp08 ; CPU:$DE69 PRG:1E69 85 08 rts ; CPU:$DE6B PRG:1E6B 60 ; ----------------------------------------------------------------------------- ; Routine: SubCDE6C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDE6C: lda Zp19 ; CPU:$DE6C PRG:1E6C A5 19 sta Zp0A ; CPU:$DE6E PRG:1E6E 85 0A lda Zp1A ; CPU:$DE70 PRG:1E70 A5 1A sta Zp0C ; CPU:$DE72 PRG:1E72 85 0C rts ; CPU:$DE74 PRG:1E74 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannel3_E9ED_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannel3_E9ED_1: lda Zp06 ; CPU:$DE75 PRG:1E75 A5 06 sta Zp19 ; CPU:$DE77 PRG:1E77 85 19 lda Zp08 ; CPU:$DE79 PRG:1E79 A5 08 sta Zp1A ; CPU:$DE7B PRG:1E7B 85 1A rts ; CPU:$DE7D PRG:1E7D 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannel4_EAD1_1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannel4_EAD1_1: lda Zp0A ; CPU:$DE7E PRG:1E7E A5 0A sta Zp19 ; CPU:$DE80 PRG:1E80 85 19 lda Zp0C ; CPU:$DE82 PRG:1E82 A5 0C sta Zp1A ; CPU:$DE84 PRG:1E84 85 1A rts ; CPU:$DE86 PRG:1E86 60 ; ---- data $DE87-$DFE7 (353 bytes) ---- ; referenced by `sbc $DE87,x` at $D348 (operand $DE87 falls inside this region) ; referenced by `lda $DE87,y` at $DC03 (operand $DE87 falls inside this region) ; referenced by `lda $DE87,x` at $DC1B (operand $DE87 falls inside this region) ; referenced by `cmp $DF87,x` at $DC7A (operand $DF87 falls inside this region) ; referenced by `lda $DFA8,x` at $DD85 (operand $DFA8 falls inside this region) .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$DE87 PRG:1E87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .byte $01, $01, $01, $01, $01, $01, $01, $02, $02, $02, $02, $02, $03, $03, $03, $03 ; CPU:$DE97 PRG:1E97 01 01 01 01 01 01 01 02 02 02 02 02 03 03 03 03 .byte $04, $04, $04, $04, $05, $05, $05, $05, $06, $06, $06, $07, $07, $07, $08, $08 ; CPU:$DEA7 PRG:1EA7 04 04 04 04 05 05 05 05 06 06 06 07 07 07 08 08 .byte $09, $09, $09, $0A, $0A, $0A, $0B, $0B, $0C, $0C, $0D, $0D, $0E, $0E, $0F, $0F ; CPU:$DEB7 PRG:1EB7 09 09 09 0A 0A 0A 0B 0B 0C 0C 0D 0D 0E 0E 0F 0F .byte $10, $10, $11, $11, $12, $12, $13, $13, $14, $14, $15, $15, $16, $17, $17, $18 ; CPU:$DEC7 PRG:1EC7 10 10 11 11 12 12 13 13 14 14 15 15 16 17 17 18 .byte $19, $19, $1A, $1A, $1B, $1C, $1C, $1D, $1E, $1E, $1F, $20, $21, $21, $22, $23 ; CPU:$DED7 PRG:1ED7 19 19 1A 1A 1B 1C 1C 1D 1E 1E 1F 20 21 21 22 23 .byte $24, $24, $25, $26, $27, $27, $28, $29, $2A, $2B, $2B, $2C, $2D, $2E, $2F, $30 ; CPU:$DEE7 PRG:1EE7 24 24 25 26 27 27 28 29 2A 2B 2B 2C 2D 2E 2F 30 .byte $31, $31, $32, $33, $34, $35, $36, $37, $38, $39, $3A, $3B, $3C, $3D, $3E, $3F ; CPU:$DEF7 PRG:1EF7 31 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F .byte $40, $41, $42, $43, $44, $45, $46, $47, $48, $49, $4A, $4B, $4C, $4D, $4E, $4F ; CPU:$DF07 PRG:1F07 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F .byte $51, $52, $53, $54, $55, $56, $57, $59, $5A, $5B, $5C, $5D, $5F, $60, $61, $62 ; CPU:$DF17 PRG:1F17 51 52 53 54 55 56 57 59 5A 5B 5C 5D 5F 60 61 62 .byte $64, $65, $66, $67, $69, $6A, $6B, $6C, $6E, $6F, $70, $72, $73, $74, $76, $77 ; CPU:$DF27 PRG:1F27 64 65 66 67 69 6A 6B 6C 6E 6F 70 72 73 74 76 77 .byte $79, $7A, $7B, $7D, $7E, $7F, $81, $82, $84, $85, $87, $88, $8A, $8B, $8D, $8E ; CPU:$DF37 PRG:1F37 79 7A 7B 7D 7E 7F 81 82 84 85 87 88 8A 8B 8D 8E .byte $90, $91, $93, $94, $96, $97, $99, $9A, $9C, $9D, $9F, $A0, $A2, $A4, $A5, $A7 ; CPU:$DF47 PRG:1F47 90 91 93 94 96 97 99 9A 9C 9D 9F A0 A2 A4 A5 A7 .byte $A9, $AA, $AC, $AD, $AF, $B1, $B2, $B4, $B6, $B7, $B9, $BB, $BD, $BE, $C0, $C2 ; CPU:$DF57 PRG:1F57 A9 AA AC AD AF B1 B2 B4 B6 B7 B9 BB BD BE C0 C2 .byte $C4, $C5, $C7, $C9, $CB, $CC, $CE, $D0, $D2, $D4, $D5, $D7, $D9, $DB, $DD, $DF ; CPU:$DF67 PRG:1F67 C4 C5 C7 C9 CB CC CE D0 D2 D4 D5 D7 D9 DB DD DF .byte $E1, $E2, $E4, $E6, $E8, $EA, $EC, $EE, $F0, $F2, $F4, $F6, $F8, $FA, $FC, $FE ; CPU:$DF77 PRG:1F77 E1 E2 E4 E6 E8 EA EC EE F0 F2 F4 F6 F8 FA FC FE .byte $04, $0A, $10, $17, $1D, $23, $2A, $30, $37, $3D, $44, $4B, $52, $59, $60, $67 ; CPU:$DF87 PRG:1F87 04 0A 10 17 1D 23 2A 30 37 3D 44 4B 52 59 60 67 .byte $6E, $76, $7D, $85, $8D, $96, $9E, $A7, $B0, $BA, $C3, $CD, $D8, $E3, $EE, $FA ; CPU:$DF97 PRG:1F97 6E 76 7D 85 8D 96 9E A7 B0 BA C3 CD D8 E3 EE FA .byte $FF, $00, $06, $0D, $13, $19, $1F, $26, $2C, $32, $38, $3E, $44, $4A, $50, $56 ; CPU:$DFA7 PRG:1FA7 FF 00 06 0D 13 19 1F 26 2C 32 38 3E 44 4A 50 56 .byte $5C, $62, $68, $6D, $73, $79, $7E, $84, $89, $8E, $93, $98, $9D, $A2, $A7, $AC ; CPU:$DFB7 PRG:1FB7 5C 62 68 6D 73 79 7E 84 89 8E 93 98 9D A2 A7 AC .byte $B1, $B5, $B9, $BE, $C2, $C6, $CA, $CE, $D1, $D5, $D8, $DC, $DF, $E2, $E5, $E7 ; CPU:$DFC7 PRG:1FC7 B1 B5 B9 BE C2 C6 CA CE D1 D5 D8 DC DF E2 E5 E7 .byte $EA, $ED, $EF, $F1, $F3, $F5, $F7, $F8, $FA, $FB, $FC, $FD, $FE, $FF, $FF, $FF ; CPU:$DFD7 PRG:1FD7 EA ED EF F1 F3 F5 F7 F8 FA FB FC FD FE FF FF FF .byte $FF ; CPU:$DFE7 PRG:1FE7 FF ; ----------------------------------------------------------------------------- ; Routine: SubCDFE8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDFE8: ldx #$DB ; CPU:$DFE8 PRG:1FE8 A2 DB ; ----------------------------------------------------------------------------- ; Routine: SubCDFEA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCDFEA: pha ; CPU:$DFEA PRG:1FEA 48 lda Zp06 ; CPU:$DFEB PRG:1FEB A5 06 pha ; CPU:$DFED PRG:1FED 48 and #$07 ; CPU:$DFEE PRG:1FEE 29 07 sta ZpB4 ; CPU:$DFF0 PRG:1FF0 85 B4 pla ; CPU:$DFF2 PRG:1FF2 68 lsr a ; CPU:$DFF3 PRG:1FF3 4A lsr a ; CPU:$DFF4 PRG:1FF4 4A lsr a ; CPU:$DFF5 PRG:1FF5 4A sta ZpB2 ; CPU:$DFF6 PRG:1FF6 85 B2 lda Zp08 ; CPU:$DFF8 PRG:1FF8 A5 08 pha ; CPU:$DFFA PRG:1FFA 48 and #$07 ; CPU:$DFFB PRG:1FFB 29 07 sta ZpB5 ; CPU:$DFFD PRG:1FFD 85 B5 pla ; CPU:$DFFF PRG:1FFF 68 lsr a ; CPU:$E000 PRG:2000 4A lsr a ; CPU:$E001 PRG:2001 4A lsr a ; CPU:$E002 PRG:2002 4A sta ZpB3 ; CPU:$E003 PRG:2003 85 B3 bit Zp48 ; CPU:$E005 PRG:2005 24 48 tya ; CPU:$E007 PRG:2007 98 pha ; CPU:$E008 PRG:2008 48 ldy #$04 ; CPU:$E009 PRG:2009 A0 04 lda ZpB3 ; CPU:$E00B PRG:200B A5 B3 asl a ; CPU:$E00D PRG:200D 0A asl a ; CPU:$E00E PRG:200E 0A asl a ; CPU:$E00F PRG:200F 0A asl a ; CPU:$E010 PRG:2010 0A bcc SubCE015 ; CPU:$E011 PRG:2011 90 02 iny ; CPU:$E013 PRG:2013 C8 iny ; CPU:$E014 PRG:2014 C8 ; ----------------------------------------------------------------------------- ; Routine: SubCE015 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE015: asl a ; CPU:$E015 PRG:2015 0A bcc SubCE019 ; CPU:$E016 PRG:2016 90 01 iny ; CPU:$E018 PRG:2018 C8 ; ----------------------------------------------------------------------------- ; Routine: SubCE019 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE019: sty Zp01,x ; CPU:$E019 PRG:2019 94 01 ora ZpB2 ; CPU:$E01B PRG:201B 05 B2 sta Zp00,x ; CPU:$E01D PRG:201D 95 00 pla ; CPU:$E01F PRG:201F 68 tay ; CPU:$E020 PRG:2020 A8 pla ; CPU:$E021 PRG:2021 68 rts ; CPU:$E022 PRG:2022 60 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlank_E023Loop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlank_E023Loop: ldx #$78 ; CPU:$E023 PRG:2023 A2 78 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlank_E023_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlank_E023_3: jsr WaitPPUReady ; CPU:$E025 PRG:2025 20 35 E0 dex ; CPU:$E028 PRG:2028 CA bne WaitVBlank_E023_3 ; CPU:$E029 PRG:2029 D0 FA rts ; CPU:$E02B PRG:202B 60 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlank_E0232 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlank_E0232: lda #$00 ; CPU:$E02C PRG:202C A9 00 sta Zp02 ; CPU:$E02E PRG:202E 85 02 ; ----------------------------------------------------------------------------- ; Routine: SubCE030 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE030: lda Zp02 ; CPU:$E030 PRG:2030 A5 02 beq SubCE030 ; CPU:$E032 PRG:2032 F0 FC rts ; CPU:$E034 PRG:2034 60 ; ----------------------------------------------------------------------------- ; Routine: WaitPPUReady ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitPPUReady: lda PPUSTATUS ; CPU:$E035 PRG:2035 AD 02 20 bmi WaitPPUReady ; CPU:$E038 PRG:2038 30 FB ; ----------------------------------------------------------------------------- ; Routine: SubCE03A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE03A: lda PPUSTATUS ; CPU:$E03A PRG:203A AD 02 20 bpl SubCE03A ; CPU:$E03D PRG:203D 10 FB lda #$00 ; CPU:$E03F PRG:203F A9 00 ; ----------------------------------------------------------------------------- ; Routine: SubCE041 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE041: adc #$01 ; CPU:$E041 PRG:2041 69 01 bne SubCE041 ; CPU:$E043 PRG:2043 D0 FC rts ; CPU:$E045 PRG:2045 60 ; ----------------------------------------------------------------------------- ; Routine: WaitFrame ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitFrame: ldx #$00 ; CPU:$E046 PRG:2046 A2 00 ; ---- data $E048-$E048 (1 bytes) ---- .byte $2C ; CPU:$E048 PRG:2048 2C ; ----------------------------------------------------------------------------- ; Routine: InitPPU ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitPPU: ldx ZpBE ; CPU:$E049 PRG:2049 A6 BE lda #$01 ; CPU:$E04B PRG:204B A9 01 sta JOY1 ; CPU:$E04D PRG:204D 8D 16 40 lda #$00 ; CPU:$E050 PRG:2050 A9 00 sta JOY1 ; CPU:$E052 PRG:2052 8D 16 40 sta ZpB6 ; CPU:$E055 PRG:2055 85 B6 ldy #$07 ; CPU:$E057 PRG:2057 A0 07 ; ----------------------------------------------------------------------------- ; Routine: SubCE059 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE059: lda JOY1,x ; CPU:$E059 PRG:2059 BD 16 40 and #$01 ; CPU:$E05C PRG:205C 29 01 lsr a ; CPU:$E05E PRG:205E 4A rol ZpB6 ; CPU:$E05F PRG:205F 26 B6 dey ; CPU:$E061 PRG:2061 88 bpl SubCE059 ; CPU:$E062 PRG:2062 10 F5 lda Zp04 ; CPU:$E064 PRG:2064 A5 04 bne SubCE06B ; CPU:$E066 PRG:2066 D0 03 lda ZpB6 ; CPU:$E068 PRG:2068 A5 B6 rts ; CPU:$E06A PRG:206A 60 ; ----------------------------------------------------------------------------- ; Routine: SubCE06B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE06B: dec ZpB7 ; CPU:$E06B PRG:206B C6 B7 bne SubCE092 ; CPU:$E06D PRG:206D D0 23 lda ZpBF ; CPU:$E06F PRG:206F A5 BF cmp #$02 ; CPU:$E071 PRG:2071 C9 02 beq SubCE082 ; CPU:$E073 PRG:2073 F0 0D jsr UpdateSoundEngine ; CPU:$E075 PRG:2075 20 30 DE lda Zp09 ; CPU:$E078 PRG:2078 A5 09 cmp #$88 ; CPU:$E07A PRG:207A C9 88 bcs SubCE082 ; CPU:$E07C PRG:207C B0 04 lda #$00 ; CPU:$E07E PRG:207E A9 00 beq SubCE087 ; CPU:$E080 PRG:2080 F0 05 ; ----------------------------------------------------------------------------- ; Routine: SubCE082 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE082: jsr UpdateGameMode ; CPU:$E082 PRG:2082 20 E2 E3 and #$83 ; CPU:$E085 PRG:2085 29 83 ; ----------------------------------------------------------------------------- ; Routine: SubCE087 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE087: sta ZpB8 ; CPU:$E087 PRG:2087 85 B8 jsr UpdateGameMode ; CPU:$E089 PRG:2089 20 E2 E3 and #$1F ; CPU:$E08C PRG:208C 29 1F sta ZpB7 ; CPU:$E08E PRG:208E 85 B7 inc ZpB7 ; CPU:$E090 PRG:2090 E6 B7 ; ----------------------------------------------------------------------------- ; Routine: SubCE092 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE092: lda ZpB6 ; CPU:$E092 PRG:2092 A5 B6 and #$30 ; CPU:$E094 PRG:2094 29 30 ora ZpB8 ; CPU:$E096 PRG:2096 05 B8 sta ZpB6 ; CPU:$E098 PRG:2098 85 B6 rts ; CPU:$E09A PRG:209A 60 ; ----------------------------------------------------------------------------- ; Routine: InitSprites ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSprites: ldx #$00 ; CPU:$E09B PRG:209B A2 00 ; ----------------------------------------------------------------------------- ; Routine: SubCE09D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE09D: lda #$24 ; CPU:$E09D PRG:209D A9 24 sta $0400,x ; CPU:$E09F PRG:209F 9D 00 04 sta $0500,x ; CPU:$E0A2 PRG:20A2 9D 00 05 sta $0600,x ; CPU:$E0A5 PRG:20A5 9D 00 06 sta $06E0,x ; CPU:$E0A8 PRG:20A8 9D E0 06 dex ; CPU:$E0AB PRG:20AB CA bne SubCE09D ; CPU:$E0AC PRG:20AC D0 EF ldx #$20 ; CPU:$E0AE PRG:20AE A2 20 lda #$00 ; CPU:$E0B0 PRG:20B0 A9 00 jsr WritePPU ; CPU:$E0B2 PRG:20B2 20 EF E0 lda #$24 ; CPU:$E0B5 PRG:20B5 A9 24 ldy #$03 ; CPU:$E0B7 PRG:20B7 A0 03 ldx #$C0 ; CPU:$E0B9 PRG:20B9 A2 C0 ; ----------------------------------------------------------------------------- ; Routine: SubCE0BB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE0BB: sta PPUDATA ; CPU:$E0BB PRG:20BB 8D 07 20 dex ; CPU:$E0BE PRG:20BE CA bne SubCE0BB ; CPU:$E0BF PRG:20BF D0 FA dey ; CPU:$E0C1 PRG:20C1 88 bpl SubCE0BB ; CPU:$E0C2 PRG:20C2 10 F7 lda Zp00 ; CPU:$E0C4 PRG:20C4 A5 00 ora #$04 ; CPU:$E0C6 PRG:20C6 09 04 sta PPUCTRL ; CPU:$E0C8 PRG:20C8 8D 00 20 ldx #$20 ; CPU:$E0CB PRG:20CB A2 20 lda #$08 ; CPU:$E0CD PRG:20CD A9 08 ldy #$30 ; CPU:$E0CF PRG:20CF A0 30 jsr DrawSprite ; CPU:$E0D1 PRG:20D1 20 E3 E0 ldx #$20 ; CPU:$E0D4 PRG:20D4 A2 20 lda #$1D ; CPU:$E0D6 PRG:20D6 A9 1D ldy #$49 ; CPU:$E0D8 PRG:20D8 A0 49 jsr DrawSprite ; CPU:$E0DA PRG:20DA 20 E3 E0 lda Zp00 ; CPU:$E0DD PRG:20DD A5 00 sta PPUCTRL ; CPU:$E0DF PRG:20DF 8D 00 20 rts ; CPU:$E0E2 PRG:20E2 60 ; ----------------------------------------------------------------------------- ; Routine: DrawSprite ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawSprite: jsr WritePPU ; CPU:$E0E3 PRG:20E3 20 EF E0 ldx #$1E ; CPU:$E0E6 PRG:20E6 A2 1E ; ----------------------------------------------------------------------------- ; Routine: SubCE0E8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE0E8: sty PPUDATA ; CPU:$E0E8 PRG:20E8 8C 07 20 dex ; CPU:$E0EB PRG:20EB CA bne SubCE0E8 ; CPU:$E0EC PRG:20EC D0 FA rts ; CPU:$E0EE PRG:20EE 60 ; ----------------------------------------------------------------------------- ; Routine: WritePPU ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WritePPU: stx PPUADDR ; CPU:$E0EF PRG:20EF 8E 06 20 sta PPUADDR ; CPU:$E0F2 PRG:20F2 8D 06 20 rts ; CPU:$E0F5 PRG:20F5 60 ; ----------------------------------------------------------------------------- ; Routine: WritePPU2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WritePPU2: jsr WritePPU ; CPU:$E0F6 PRG:20F6 20 EF E0 sty PPUDATA ; CPU:$E0F9 PRG:20F9 8C 07 20 rts ; CPU:$E0FC PRG:20FC 60 ; ----------------------------------------------------------------------------- ; Routine: InitGame ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGame: jsr UpdateBallPhysics ; CPU:$E0FD PRG:20FD 20 A6 E2 jsr InitSound ; CPU:$E100 PRG:2100 20 8A E2 jsr CheckGameState ; CPU:$E103 PRG:2103 20 03 E4 lda ZpBF ; CPU:$E106 PRG:2106 A5 BF asl a ; CPU:$E108 PRG:2108 0A tax ; CPU:$E109 PRG:2109 AA lda $E2CA,x ; CPU:$E10A PRG:210A BD CA E2 sta ZpDD ; CPU:$E10D PRG:210D 85 DD lda $E2CB,x ; CPU:$E10F PRG:210F BD CB E2 sta ZpDE ; CPU:$E112 PRG:2112 85 DE lda $E2D0,x ; CPU:$E114 PRG:2114 BD D0 E2 sta ZpDF ; CPU:$E117 PRG:2117 85 DF lda $E2D1,x ; CPU:$E119 PRG:2119 BD D1 E2 sta ZpE0 ; CPU:$E11C PRG:211C 85 E0 lda $E2E2,x ; CPU:$E11E PRG:211E BD E2 E2 sta ZpE1 ; CPU:$E121 PRG:2121 85 E1 lda $E2E3,x ; CPU:$E123 PRG:2123 BD E3 E2 sta ZpE2 ; CPU:$E126 PRG:2126 85 E2 ldy #$00 ; CPU:$E128 PRG:2128 A0 00 lda #$1E ; CPU:$E12A PRG:212A A9 1E sta ZpE7 ; CPU:$E12C PRG:212C 85 E7 lda #$08 ; CPU:$E12E PRG:212E A9 08 sta ZpDB ; CPU:$E130 PRG:2130 85 DB lda #$04 ; CPU:$E132 PRG:2132 A9 04 sta ZpDC ; CPU:$E134 PRG:2134 85 DC ; ----------------------------------------------------------------------------- ; Routine: SubCE136 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE136: lda #$30 ; CPU:$E136 PRG:2136 A9 30 sta (ZpDB),y ; CPU:$E138 PRG:2138 91 DB inc ZpDB ; CPU:$E13A PRG:213A E6 DB lda #$14 ; CPU:$E13C PRG:213C A9 14 sta ZpE6 ; CPU:$E13E PRG:213E 85 E6 lda ZpDC ; CPU:$E140 PRG:2140 A5 DC clc ; CPU:$E142 PRG:2142 18 adc #$1C ; CPU:$E143 PRG:2143 69 1C tax ; CPU:$E145 PRG:2145 AA lda ZpDB ; CPU:$E146 PRG:2146 A5 DB jsr WritePPU ; CPU:$E148 PRG:2148 20 EF E0 ; ----------------------------------------------------------------------------- ; Routine: SubCE14B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE14B: lda (ZpDD),y ; CPU:$E14B PRG:214B B1 DD cmp #$15 ; CPU:$E14D PRG:214D C9 15 bcs SubCE170 ; CPU:$E14F PRG:214F B0 1F sta ZpE3 ; CPU:$E151 PRG:2151 85 E3 inc ZpDD ; CPU:$E153 PRG:2153 E6 DD bne SubCE159 ; CPU:$E155 PRG:2155 D0 02 inc ZpDE ; CPU:$E157 PRG:2157 E6 DE ; ----------------------------------------------------------------------------- ; Routine: SubCE159 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE159: lda (ZpDD),y ; CPU:$E159 PRG:2159 B1 DD ; ----------------------------------------------------------------------------- ; Routine: SubCE15B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE15B: sta PPUDATA ; CPU:$E15B PRG:215B 8D 07 20 sta (ZpDB),y ; CPU:$E15E PRG:215E 91 DB inc ZpDB ; CPU:$E160 PRG:2160 E6 DB bne SubCE166 ; CPU:$E162 PRG:2162 D0 02 inc ZpDC ; CPU:$E164 PRG:2164 E6 DC ; ----------------------------------------------------------------------------- ; Routine: SubCE166 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE166: dec ZpE6 ; CPU:$E166 PRG:2166 C6 E6 dec ZpE3 ; CPU:$E168 PRG:2168 C6 E3 bne SubCE15B ; CPU:$E16A PRG:216A D0 EF inc ZpE6 ; CPU:$E16C PRG:216C E6 E6 bne SubCE17B ; CPU:$E16E PRG:216E D0 0B ; ----------------------------------------------------------------------------- ; Routine: SubCE170 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE170: sta PPUDATA ; CPU:$E170 PRG:2170 8D 07 20 sta (ZpDB),y ; CPU:$E173 PRG:2173 91 DB inc ZpDB ; CPU:$E175 PRG:2175 E6 DB bne SubCE17B ; CPU:$E177 PRG:2177 D0 02 inc ZpDC ; CPU:$E179 PRG:2179 E6 DC ; ----------------------------------------------------------------------------- ; Routine: SubCE17B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE17B: inc ZpDD ; CPU:$E17B PRG:217B E6 DD bne SubCE181 ; CPU:$E17D PRG:217D D0 02 inc ZpDE ; CPU:$E17F PRG:217F E6 DE ; ----------------------------------------------------------------------------- ; Routine: SubCE181 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE181: dec ZpE6 ; CPU:$E181 PRG:2181 C6 E6 bne SubCE14B ; CPU:$E183 PRG:2183 D0 C6 lda #$49 ; CPU:$E185 PRG:2185 A9 49 sta (ZpDB),y ; CPU:$E187 PRG:2187 91 DB lda ZpDB ; CPU:$E189 PRG:2189 A5 DB clc ; CPU:$E18B PRG:218B 18 adc #$0B ; CPU:$E18C PRG:218C 69 0B sta ZpDB ; CPU:$E18E PRG:218E 85 DB bcc SubCE194 ; CPU:$E190 PRG:2190 90 02 inc ZpDC ; CPU:$E192 PRG:2192 E6 DC ; ----------------------------------------------------------------------------- ; Routine: SubCE194 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE194: dec ZpE7 ; CPU:$E194 PRG:2194 C6 E7 bne SubCE136 ; CPU:$E196 PRG:2196 D0 9E ldx #$23 ; CPU:$E198 PRG:2198 A2 23 lda #$C0 ; CPU:$E19A PRG:219A A9 C0 jsr WritePPU ; CPU:$E19C PRG:219C 20 EF E0 ; ----------------------------------------------------------------------------- ; Routine: SubCE19F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE19F: lda (ZpDF),y ; CPU:$E19F PRG:219F B1 DF sta PPUDATA ; CPU:$E1A1 PRG:21A1 8D 07 20 iny ; CPU:$E1A4 PRG:21A4 C8 cpy #$40 ; CPU:$E1A5 PRG:21A5 C0 40 bne SubCE19F ; CPU:$E1A7 PRG:21A7 D0 F6 ldy #$1F ; CPU:$E1A9 PRG:21A9 A0 1F jsr InitSprites2 ; CPU:$E1AB PRG:21AB 20 93 E2 lda #$FF ; CPU:$E1AE PRG:21AE A9 FF sta ZpC4 ; CPU:$E1B0 PRG:21B0 85 C4 sta ZpC5 ; CPU:$E1B2 PRG:21B2 85 C5 lda ZpBF ; CPU:$E1B4 PRG:21B4 A5 BF cmp #$02 ; CPU:$E1B6 PRG:21B6 C9 02 bne SubCE1CC ; CPU:$E1B8 PRG:21B8 D0 12 ldx #$20 ; CPU:$E1BA PRG:21BA A2 20 lda #$4D ; CPU:$E1BC PRG:21BC A9 4D jsr WritePPU ; CPU:$E1BE PRG:21BE 20 EF E0 ldx #$0B ; CPU:$E1C1 PRG:21C1 A2 0B ; ----------------------------------------------------------------------------- ; Routine: SubCE1C3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE1C3: lda $E2B8,x ; CPU:$E1C3 PRG:21C3 BD B8 E2 sta PPUDATA ; CPU:$E1C6 PRG:21C6 8D 07 20 dex ; CPU:$E1C9 PRG:21C9 CA bpl SubCE1C3 ; CPU:$E1CA PRG:21CA 10 F7 ; ----------------------------------------------------------------------------- ; Routine: SubCE1CC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE1CC: lda ZpBF ; CPU:$E1CC PRG:21CC A5 BF asl a ; CPU:$E1CE PRG:21CE 0A tax ; CPU:$E1CF PRG:21CF AA lda $E2D6,x ; CPU:$E1D0 PRG:21D0 BD D6 E2 sta ZpDB ; CPU:$E1D3 PRG:21D3 85 DB lda $E2D7,x ; CPU:$E1D5 PRG:21D5 BD D7 E2 sta ZpDC ; CPU:$E1D8 PRG:21D8 85 DC lda $E2DC,x ; CPU:$E1DA PRG:21DA BD DC E2 sta ZpDD ; CPU:$E1DD PRG:21DD 85 DD lda $E2DD,x ; CPU:$E1DF PRG:21DF BD DD E2 sta ZpDE ; CPU:$E1E2 PRG:21E2 85 DE ldx #$64 ; CPU:$E1E4 PRG:21E4 A2 64 ldy #$00 ; CPU:$E1E6 PRG:21E6 A0 00 ; ----------------------------------------------------------------------------- ; Routine: SubCE1E8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE1E8: lda (ZpDB),y ; CPU:$E1E8 PRG:21E8 B1 DB cmp #$FE ; CPU:$E1EA PRG:21EA C9 FE beq SubCE1F7 ; CPU:$E1EC PRG:21EC F0 09 sta $0200,x ; CPU:$E1EE PRG:21EE 9D 00 02 iny ; CPU:$E1F1 PRG:21F1 C8 inx ; CPU:$E1F2 PRG:21F2 E8 cpx #$2C ; CPU:$E1F3 PRG:21F3 E0 2C bne SubCE1E8 ; CPU:$E1F5 PRG:21F5 D0 F1 ; ----------------------------------------------------------------------------- ; Routine: SubCE1F7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE1F7: jsr UpdateMusicChannel21 ; CPU:$E1F7 PRG:21F7 20 3F F0 lda ZpBF ; CPU:$E1FA PRG:21FA A5 BF cmp #$01 ; CPU:$E1FC PRG:21FC C9 01 bne SubCE21E ; CPU:$E1FE PRG:21FE D0 1E ldx #$04 ; CPU:$E200 PRG:2200 A2 04 ; ----------------------------------------------------------------------------- ; Routine: SubCE202 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE202: lda $0128 ; CPU:$E202 PRG:2202 AD 28 01 and $D7DD,x ; CPU:$E205 PRG:2205 3D DD D7 beq SubCE20D ; CPU:$E208 PRG:2208 F0 03 jsr UpdateMusicChannel18 ; CPU:$E20A PRG:220A 20 79 EF ; ----------------------------------------------------------------------------- ; Routine: SubCE20D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE20D: dex ; CPU:$E20D PRG:220D CA bpl SubCE202 ; CPU:$E20E PRG:220E 10 F2 lda $012B ; CPU:$E210 PRG:2210 AD 2B 01 sta $012C ; CPU:$E213 PRG:2213 8D 2C 01 jsr UpdateMusicChannel28 ; CPU:$E216 PRG:2216 20 FB F1 lda $0133 ; CPU:$E219 PRG:2219 AD 33 01 sta ZpF0 ; CPU:$E21C PRG:221C 85 F0 ; ----------------------------------------------------------------------------- ; Routine: SubCE21E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE21E: lda ZpBF ; CPU:$E21E PRG:221E A5 BF bne SubCE22D ; CPU:$E220 PRG:2220 D0 0B jsr UpdateMusicChannel25 ; CPU:$E222 PRG:2222 20 E7 F0 lda ZpCF ; CPU:$E225 PRG:2225 A5 CF and #$7F ; CPU:$E227 PRG:2227 29 7F tay ; CPU:$E229 PRG:2229 A8 jsr UpdateMusicChannel23 ; CPU:$E22A PRG:222A 20 C4 F0 ; ----------------------------------------------------------------------------- ; Routine: SubCE22D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE22D: lda ZpBF ; CPU:$E22D PRG:222D A5 BF cmp #$02 ; CPU:$E22F PRG:222F C9 02 bne SubCE236 ; CPU:$E231 PRG:2231 D0 03 jsr UpdateSoundChannels ; CPU:$E233 PRG:2233 20 2F EA ; ----------------------------------------------------------------------------- ; Routine: SubCE236 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE236: ldy #$00 ; CPU:$E236 PRG:2236 A0 00 sty $014B ; CPU:$E238 PRG:2238 8C 4B 01 ; ----------------------------------------------------------------------------- ; Routine: SubCE23B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE23B: lda (ZpDD),y ; CPU:$E23B PRG:223B B1 DD beq SubCE25D ; CPU:$E23D PRG:223D F0 1E sta ZpE3 ; CPU:$E23F PRG:223F 85 E3 iny ; CPU:$E241 PRG:2241 C8 lda (ZpDD),y ; CPU:$E242 PRG:2242 B1 DD sta ZpDF ; CPU:$E244 PRG:2244 85 DF iny ; CPU:$E246 PRG:2246 C8 lda (ZpDD),y ; CPU:$E247 PRG:2247 B1 DD sta ZpE0 ; CPU:$E249 PRG:2249 85 E0 iny ; CPU:$E24B PRG:224B C8 sty ZpE4 ; CPU:$E24C PRG:224C 84 E4 lda #$24 ; CPU:$E24E PRG:224E A9 24 ldy #$00 ; CPU:$E250 PRG:2250 A0 00 ; ----------------------------------------------------------------------------- ; Routine: SubCE252 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE252: sta (ZpDF),y ; CPU:$E252 PRG:2252 91 DF iny ; CPU:$E254 PRG:2254 C8 cpy ZpE3 ; CPU:$E255 PRG:2255 C4 E3 bne SubCE252 ; CPU:$E257 PRG:2257 D0 F9 ldy ZpE4 ; CPU:$E259 PRG:2259 A4 E4 bne SubCE23B ; CPU:$E25B PRG:225B D0 DE ; ----------------------------------------------------------------------------- ; Routine: SubCE25D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE25D: iny ; CPU:$E25D PRG:225D C8 lda (ZpDD),y ; CPU:$E25E PRG:225E B1 DD cmp #$FF ; CPU:$E260 PRG:2260 C9 FF beq UpdateBallTrajectory_E278_3 ; CPU:$E262 PRG:2262 F0 14 sta ZpE3 ; CPU:$E264 PRG:2264 85 E3 iny ; CPU:$E266 PRG:2266 C8 lda (ZpDD),y ; CPU:$E267 PRG:2267 B1 DD sta ZpDF ; CPU:$E269 PRG:2269 85 DF iny ; CPU:$E26B PRG:226B C8 lda (ZpDD),y ; CPU:$E26C PRG:226C B1 DD sta ZpE0 ; CPU:$E26E PRG:226E 85 E0 ldx #$00 ; CPU:$E270 PRG:2270 A2 00 lda ZpE3 ; CPU:$E272 PRG:2272 A5 E3 sta (ZpDF,x) ; CPU:$E274 PRG:2274 81 DF bne SubCE25D ; CPU:$E276 PRG:2276 D0 E5 ; ----------------------------------------------------------------------------- ; Routine: UpdateBallTrajectory_E278_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBallTrajectory_E278_3: inc $0153 ; CPU:$E278 PRG:2278 EE 53 01 lda Zp00 ; CPU:$E27B PRG:227B A5 00 ora #$80 ; CPU:$E27D PRG:227D 09 80 sta Zp00 ; CPU:$E27F PRG:227F 85 00 sta PPUCTRL ; CPU:$E281 PRG:2281 8D 00 20 ; ----------------------------------------------------------------------------- ; Routine: SubCE284 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE284: lda $0153 ; CPU:$E284 PRG:2284 AD 53 01 bne SubCE284 ; CPU:$E287 PRG:2287 D0 FB rts ; CPU:$E289 PRG:2289 60 ; ----------------------------------------------------------------------------- ; Routine: InitSound ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSound: lda #$12 ; CPU:$E28A PRG:228A A9 12 sta $0154 ; CPU:$E28C PRG:228C 8D 54 01 sta $0155 ; CPU:$E28F PRG:228F 8D 55 01 rts ; CPU:$E292 PRG:2292 60 ; ----------------------------------------------------------------------------- ; Routine: InitSprites2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSprites2: jsr WaitPPUReady ; CPU:$E293 PRG:2293 20 35 E0 ldx #$3F ; CPU:$E296 PRG:2296 A2 3F lda #$00 ; CPU:$E298 PRG:2298 A9 00 jsr WritePPU ; CPU:$E29A PRG:229A 20 EF E0 ; ----------------------------------------------------------------------------- ; Routine: SubCE29D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE29D: lda (ZpE1),y ; CPU:$E29D PRG:229D B1 E1 sta PPUDATA ; CPU:$E29F PRG:229F 8D 07 20 dey ; CPU:$E2A2 PRG:22A2 88 bpl SubCE29D ; CPU:$E2A3 PRG:22A3 10 F8 rts ; CPU:$E2A5 PRG:22A5 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateBallPhysics ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateBallPhysics: jsr WaitPPUReady ; CPU:$E2A6 PRG:22A6 20 35 E0 lda #$00 ; CPU:$E2A9 PRG:22A9 A9 00 sta PPUMASK ; CPU:$E2AB PRG:22AB 8D 01 20 lda Zp00 ; CPU:$E2AE PRG:22AE A5 00 and #$7F ; CPU:$E2B0 PRG:22B0 29 7F sta Zp00 ; CPU:$E2B2 PRG:22B2 85 00 sta PPUCTRL ; CPU:$E2B4 PRG:22B4 8D 00 20 rts ; CPU:$E2B7 PRG:22B7 60 ; ---- data $E2B8-$E3E1 (298 bytes) ---- ; referenced by `lda $E3B2,x` at $C223 (operand $E3B2 falls inside this region) ; referenced by `lda $E2CA,x` at $E10A (operand $E2CA falls inside this region) ; referenced by `lda $E2CB,x` at $E10F (operand $E2CB falls inside this region) ; referenced by `lda $E2D0,x` at $E114 (operand $E2D0 falls inside this region) ; referenced by `lda $E2D1,x` at $E119 (operand $E2D1 falls inside this region) ; referenced by `lda $E2E2,x` at $E11E (operand $E2E2 falls inside this region) ; ... and 9 further references from decoded code .byte $12, $22, $0A, $1D, $1C, $24, $24, $1C, $1E, $17, $18, $0B, $0B, $EA, $06, $04 ; CPU:$E2B8 PRG:22B8 12 22 0A 1D 1C 24 24 1C 1E 17 18 0B 0B EA 06 04 .byte $04, $07, $86, $C5, $EC, $C7, $3A, $CA, $E4, $C6, $65, $C9, $3E, $CB, $24, $C7 ; CPU:$E2C8 PRG:22C8 04 07 86 C5 EC C7 3A CA E4 C6 65 C9 3E CB 24 C7 .byte $A5, $C9, $7E, $CB, $E8, $E2, $2F, $E3, $6A, $E3, $A2, $E3, $A2, $E3, $C2, $E3 ; CPU:$E2D8 PRG:22D8 A5 C9 7E CB E8 E2 2F E3 6A E3 A2 E3 A2 E3 C2 E3 .byte $02, $91, $04, $06, $AF, $04, $06, $CF, $04, $02, $37, $05, $06, $CF, $06, $00 ; CPU:$E2E8 PRG:22E8 02 91 04 06 AF 04 06 CF 04 02 37 05 06 CF 06 00 .byte $20, $8C, $04, $21, $98, $04, $22, $19, $06, $23, $4E, $05, $2B, $97, $05, $2B ; CPU:$E2F8 PRG:22F8 20 8C 04 21 98 04 22 19 06 23 4E 05 2B 97 05 2B .byte $B7, $05, $2B, $D7, $05, $2A, $6C, $05, $2A, $0A, $06, $2A, $2A, $06, $2A, $4A ; CPU:$E308 PRG:2308 B7 05 2B D7 05 2A 6C 05 2A 0A 06 2A 2A 06 2A 4A .byte $06, $2A, $6A, $06, $2C, $CE, $04, $2D, $D5, $04, $E6, $2D, $07, $E7, $36, $07 ; CPU:$E318 PRG:2318 06 2A 6A 06 2C CE 04 2D D5 04 E6 2D 07 E7 36 07 .byte $88, $EE, $00, $01, $49, $01, $FF, $0A, $6D, $04, $0A, $8D, $04, $0A, $AD, $04 ; CPU:$E328 PRG:2328 88 EE 00 01 49 01 FF 0A 6D 04 0A 8D 04 0A AD 04 .byte $03, $17, $05, $00, $31, $3A, $07, $2A, $7A, $05, $2A, $9A, $05, $2A, $BA, $05 ; CPU:$E338 PRG:2338 03 17 05 00 31 3A 07 2A 7A 05 2A 9A 05 2A BA 05 .byte $2A, $E9, $04, $2A, $09, $05, $2A, $29, $05, $2A, $49, $05, $2A, $69, $05, $2A ; CPU:$E348 PRG:2348 2A E9 04 2A 09 05 2A 29 05 2A 49 05 2A 69 05 2A .byte $89, $05, $2A, $A9, $05, $72, $2A, $06, $73, $39, $06, $E6, $0D, $07, $E7, $16 ; CPU:$E358 PRG:2358 89 05 2A A9 05 72 2A 06 73 39 06 E6 0D 07 E7 16 .byte $07, $FF, $06, $50, $05, $06, $70, $05, $06, $90, $05, $06, $B0, $05, $06, $D0 ; CPU:$E368 PRG:2368 07 FF 06 50 05 06 70 05 06 90 05 06 B0 05 06 D0 .byte $05, $06, $F0, $05, $06, $10, $06, $06, $30, $06, $14, $A9, $06, $00, $DB, $F0 ; CPU:$E378 PRG:2378 05 06 F0 05 06 10 06 06 30 06 14 A9 06 00 DB F0 .byte $04, $DB, $F1, $04, $DB, $F2, $04, $DB, $F3, $04, $DB, $F4, $04, $DB, $F5, $04 ; CPU:$E388 PRG:2388 04 DB F1 04 DB F2 04 DB F3 04 DB F4 04 DB F5 04 .byte $03, $8E, $02, $43, $9A, $02, $00, $AE, $02, $FF, $25, $12, $30, $0F, $27, $07 ; CPU:$E398 PRG:2398 03 8E 02 43 9A 02 00 AE 02 FF 25 12 30 0F 27 07 .byte $21, $0F, $37, $30, $25, $0F, $21, $10, $30, $0F, $30, $25, $2A, $0F, $30, $27 ; CPU:$E3A8 PRG:23A8 21 0F 37 30 25 0F 21 10 30 0F 30 25 2A 0F 30 27 .byte $12, $0F, $30, $10, $12, $0F, $30, $21, $12, $0F, $27, $16, $30, $0F, $36, $07 ; CPU:$E3B8 PRG:23B8 12 0F 30 10 12 0F 30 21 12 0F 27 16 30 0F 36 07 .byte $25, $0F, $12, $16, $27, $0F, $21, $10, $30, $0F, $30, $30, $30, $0F, $30, $25 ; CPU:$E3C8 PRG:23C8 25 0F 12 16 27 0F 21 10 30 0F 30 30 30 0F 30 25 .byte $26, $0F, $30, $21, $12, $0F, $30, $27, $2A, $0F ; CPU:$E3D8 PRG:23D8 26 0F 30 21 12 0F 30 27 2A 0F ; ----------------------------------------------------------------------------- ; Routine: UpdateGameMode ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateGameMode: txa ; CPU:$E3E2 PRG:23E2 8A pha ; CPU:$E3E3 PRG:23E3 48 ldx #$0B ; CPU:$E3E4 PRG:23E4 A2 0B ; ----------------------------------------------------------------------------- ; Routine: SubCE3E6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE3E6: asl ZpBA ; CPU:$E3E6 PRG:23E6 06 BA rol ZpBB ; CPU:$E3E8 PRG:23E8 26 BB rol a ; CPU:$E3EA PRG:23EA 2A rol a ; CPU:$E3EB PRG:23EB 2A eor ZpBA ; CPU:$E3EC PRG:23EC 45 BA rol a ; CPU:$E3EE PRG:23EE 2A eor ZpBA ; CPU:$E3EF PRG:23EF 45 BA lsr a ; CPU:$E3F1 PRG:23F1 4A lsr a ; CPU:$E3F2 PRG:23F2 4A eor #$FF ; CPU:$E3F3 PRG:23F3 49 FF and #$01 ; CPU:$E3F5 PRG:23F5 29 01 ora ZpBA ; CPU:$E3F7 PRG:23F7 05 BA sta ZpBA ; CPU:$E3F9 PRG:23F9 85 BA dex ; CPU:$E3FB PRG:23FB CA bne SubCE3E6 ; CPU:$E3FC PRG:23FC D0 E8 pla ; CPU:$E3FE PRG:23FE 68 tax ; CPU:$E3FF PRG:23FF AA lda ZpBA ; CPU:$E400 PRG:2400 A5 BA rts ; CPU:$E402 PRG:2402 60 ; ----------------------------------------------------------------------------- ; Routine: CheckGameState ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckGameState: ldx #$00 ; CPU:$E403 PRG:2403 A2 00 lda #$F0 ; CPU:$E405 PRG:2405 A9 F0 ; ----------------------------------------------------------------------------- ; Routine: SubCE407 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE407: sta $0200,x ; CPU:$E407 PRG:2407 9D 00 02 dex ; CPU:$E40A PRG:240A CA bne SubCE407 ; CPU:$E40B PRG:240B D0 FA rts ; CPU:$E40D PRG:240D 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateDisplay ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateDisplay: ldx Zp1B ; CPU:$E40E PRG:240E A6 1B lda $E482,x ; CPU:$E410 PRG:2410 BD 82 E4 beq SubCE45B ; CPU:$E413 PRG:2413 F0 46 ldy $E487,x ; CPU:$E415 PRG:2415 BC 87 E4 sty $022D ; CPU:$E418 PRG:2418 8C 2D 02 iny ; CPU:$E41B PRG:241B C8 sty $0231 ; CPU:$E41C PRG:241C 8C 31 02 sty $0239 ; CPU:$E41F PRG:241F 8C 39 02 iny ; CPU:$E422 PRG:2422 C8 sty $0235 ; CPU:$E423 PRG:2423 8C 35 02 lda Zp16 ; CPU:$E426 PRG:2426 A5 16 tay ; CPU:$E428 PRG:2428 A8 sec ; CPU:$E429 PRG:2429 38 sbc #$07 ; CPU:$E42A PRG:242A E9 07 sta $022F ; CPU:$E42C PRG:242C 8D 2F 02 sta $0237 ; CPU:$E42F PRG:242F 8D 37 02 iny ; CPU:$E432 PRG:2432 C8 sty $0233 ; CPU:$E433 PRG:2433 8C 33 02 sty $023B ; CPU:$E436 PRG:2436 8C 3B 02 lda Zp18 ; CPU:$E439 PRG:2439 A5 18 sta $0234 ; CPU:$E43B PRG:243B 8D 34 02 sta $0238 ; CPU:$E43E PRG:243E 8D 38 02 sec ; CPU:$E441 PRG:2441 38 sbc #$08 ; CPU:$E442 PRG:2442 E9 08 sta $022C ; CPU:$E444 PRG:2444 8D 2C 02 sta $0230 ; CPU:$E447 PRG:2447 8D 30 02 lda #$00 ; CPU:$E44A PRG:244A A9 00 sta $022E ; CPU:$E44C PRG:244C 8D 2E 02 sta $0232 ; CPU:$E44F PRG:244F 8D 32 02 sta $0236 ; CPU:$E452 PRG:2452 8D 36 02 lda #$80 ; CPU:$E455 PRG:2455 A9 80 sta $023A ; CPU:$E457 PRG:2457 8D 3A 02 rts ; CPU:$E45A PRG:245A 60 ; ----------------------------------------------------------------------------- ; Routine: SubCE45B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE45B: lda $E487,x ; CPU:$E45B PRG:245B BD 87 E4 sta $022D ; CPU:$E45E PRG:245E 8D 2D 02 lda Zp16 ; CPU:$E461 PRG:2461 A5 16 sec ; CPU:$E463 PRG:2463 38 sbc #$03 ; CPU:$E464 PRG:2464 E9 03 sta $022F ; CPU:$E466 PRG:2466 8D 2F 02 lda Zp18 ; CPU:$E469 PRG:2469 A5 18 sec ; CPU:$E46B PRG:246B 38 sbc #$04 ; CPU:$E46C PRG:246C E9 04 sta $022C ; CPU:$E46E PRG:246E 8D 2C 02 lda #$00 ; CPU:$E471 PRG:2471 A9 00 sta $022E ; CPU:$E473 PRG:2473 8D 2E 02 lda #$F0 ; CPU:$E476 PRG:2476 A9 F0 sta $0230 ; CPU:$E478 PRG:2478 8D 30 02 sta $0234 ; CPU:$E47B PRG:247B 8D 34 02 sta $0238 ; CPU:$E47E PRG:247E 8D 38 02 rts ; CPU:$E481 PRG:2481 60 ; ---- data $E482-$E48B (10 bytes) ---- ; referenced by `lda $E482,x` at $E410 (operand $E482 falls inside this region) ; referenced by `ldy $E487,x` at $E415 (operand $E487 falls inside this region) ; referenced by `lda $E487,x` at $E45B (operand $E487 falls inside this region) .byte $03, $03, $00, $00, $00, $90, $93, $96, $97, $98 ; CPU:$E482 PRG:2482 03 03 00 00 00 90 93 96 97 98 ; ----------------------------------------------------------------------------- ; Routine: UpdateSprites_C34B3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSprites_C34B3: ldx #$0C ; CPU:$E48C PRG:248C A2 0C lda #$F0 ; CPU:$E48E PRG:248E A9 F0 ; ----------------------------------------------------------------------------- ; Routine: SubCE490 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE490: sta $022C,x ; CPU:$E490 PRG:2490 9D 2C 02 dex ; CPU:$E493 PRG:2493 CA bpl SubCE490 ; CPU:$E494 PRG:2494 10 FA rts ; CPU:$E496 PRG:2496 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateDisplay3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateDisplay3: lda ZpC0 ; CPU:$E497 PRG:2497 A5 C0 lsr a ; CPU:$E499 PRG:2499 4A lsr a ; CPU:$E49A PRG:249A 4A lsr a ; CPU:$E49B PRG:249B 4A cmp ZpC4 ; CPU:$E49C PRG:249C C5 C4 beq PlaySound ; CPU:$E49E PRG:249E F0 66 sta ZpC4 ; CPU:$E4A0 PRG:24A0 85 C4 tax ; CPU:$E4A2 PRG:24A2 AA inc ZpC6 ; CPU:$E4A3 PRG:24A3 E6 C6 ldy ZpBF ; CPU:$E4A5 PRG:24A5 A4 BF lda #$70 ; CPU:$E4A7 PRG:24A7 A9 70 sta $023F ; CPU:$E4A9 PRG:24A9 8D 3F 02 lda #$78 ; CPU:$E4AC PRG:24AC A9 78 sta $0243 ; CPU:$E4AE PRG:24AE 8D 43 02 lda $E590,x ; CPU:$E4B1 PRG:24B1 BD 90 E5 sta $0247 ; CPU:$E4B4 PRG:24B4 8D 47 02 lda $E593,x ; CPU:$E4B7 PRG:24B7 BD 93 E5 sta $024B ; CPU:$E4BA PRG:24BA 8D 4B 02 lda $E596,x ; CPU:$E4BD PRG:24BD BD 96 E5 sta $024F ; CPU:$E4C0 PRG:24C0 8D 4F 02 lda $E5A2,y ; CPU:$E4C3 PRG:24C3 B9 A2 E5 sta ZpE3 ; CPU:$E4C6 PRG:24C6 85 E3 clc ; CPU:$E4C8 PRG:24C8 18 lda $E5A4,x ; CPU:$E4C9 PRG:24C9 BD A4 E5 adc ZpE3 ; CPU:$E4CC PRG:24CC 65 E3 sta $023C ; CPU:$E4CE PRG:24CE 8D 3C 02 lda $E5A7,x ; CPU:$E4D1 PRG:24D1 BD A7 E5 adc ZpE3 ; CPU:$E4D4 PRG:24D4 65 E3 sta $0240 ; CPU:$E4D6 PRG:24D6 8D 40 02 lda $E5AA,x ; CPU:$E4D9 PRG:24D9 BD AA E5 adc ZpE3 ; CPU:$E4DC PRG:24DC 65 E3 sta $0244 ; CPU:$E4DE PRG:24DE 8D 44 02 lda $E5AD,x ; CPU:$E4E1 PRG:24E1 BD AD E5 adc ZpE3 ; CPU:$E4E4 PRG:24E4 65 E3 sta $0248 ; CPU:$E4E6 PRG:24E6 8D 48 02 lda $E5B0,x ; CPU:$E4E9 PRG:24E9 BD B0 E5 adc ZpE3 ; CPU:$E4EC PRG:24EC 65 E3 sta $024C ; CPU:$E4EE PRG:24EE 8D 4C 02 ldy $E5B3,x ; CPU:$E4F1 PRG:24F1 BC B3 E5 ldx #$10 ; CPU:$E4F4 PRG:24F4 A2 10 ; ----------------------------------------------------------------------------- ; Routine: SubCE4F6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE4F6: tya ; CPU:$E4F6 PRG:24F6 98 sta $023D,x ; CPU:$E4F7 PRG:24F7 9D 3D 02 dey ; CPU:$E4FA PRG:24FA 88 lda #$00 ; CPU:$E4FB PRG:24FB A9 00 sta $023E,x ; CPU:$E4FD PRG:24FD 9D 3E 02 dex ; CPU:$E500 PRG:2500 CA dex ; CPU:$E501 PRG:2501 CA dex ; CPU:$E502 PRG:2502 CA dex ; CPU:$E503 PRG:2503 CA bpl SubCE4F6 ; CPU:$E504 PRG:2504 10 F0 ; ----------------------------------------------------------------------------- ; Routine: PlaySound ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySound: lda ZpC1 ; CPU:$E506 PRG:2506 A5 C1 lsr a ; CPU:$E508 PRG:2508 4A lsr a ; CPU:$E509 PRG:2509 4A lsr a ; CPU:$E50A PRG:250A 4A cmp ZpC5 ; CPU:$E50B PRG:250B C5 C5 beq SubCE575 ; CPU:$E50D PRG:250D F0 66 sta ZpC5 ; CPU:$E50F PRG:250F 85 C5 tax ; CPU:$E511 PRG:2511 AA inc ZpC6 ; CPU:$E512 PRG:2512 E6 C6 ldy ZpBF ; CPU:$E514 PRG:2514 A4 BF lda #$A8 ; CPU:$E516 PRG:2516 A9 A8 sta $0253 ; CPU:$E518 PRG:2518 8D 53 02 lda #$A0 ; CPU:$E51B PRG:251B A9 A0 sta $0257 ; CPU:$E51D PRG:251D 8D 57 02 lda $E599,x ; CPU:$E520 PRG:2520 BD 99 E5 sta $025B ; CPU:$E523 PRG:2523 8D 5B 02 lda $E59C,x ; CPU:$E526 PRG:2526 BD 9C E5 sta $025F ; CPU:$E529 PRG:2529 8D 5F 02 lda $E59F,x ; CPU:$E52C PRG:252C BD 9F E5 sta $0263 ; CPU:$E52F PRG:252F 8D 63 02 lda $E5A2,y ; CPU:$E532 PRG:2532 B9 A2 E5 sta ZpE3 ; CPU:$E535 PRG:2535 85 E3 clc ; CPU:$E537 PRG:2537 18 lda $E5A4,x ; CPU:$E538 PRG:2538 BD A4 E5 adc ZpE3 ; CPU:$E53B PRG:253B 65 E3 sta $0250 ; CPU:$E53D PRG:253D 8D 50 02 lda $E5A7,x ; CPU:$E540 PRG:2540 BD A7 E5 adc ZpE3 ; CPU:$E543 PRG:2543 65 E3 sta $0254 ; CPU:$E545 PRG:2545 8D 54 02 lda $E5AA,x ; CPU:$E548 PRG:2548 BD AA E5 adc ZpE3 ; CPU:$E54B PRG:254B 65 E3 sta $0258 ; CPU:$E54D PRG:254D 8D 58 02 lda $E5AD,x ; CPU:$E550 PRG:2550 BD AD E5 adc ZpE3 ; CPU:$E553 PRG:2553 65 E3 sta $025C ; CPU:$E555 PRG:2555 8D 5C 02 lda $E5B0,x ; CPU:$E558 PRG:2558 BD B0 E5 adc ZpE3 ; CPU:$E55B PRG:255B 65 E3 sta $0260 ; CPU:$E55D PRG:255D 8D 60 02 ldy $E5B3,x ; CPU:$E560 PRG:2560 BC B3 E5 ldx #$10 ; CPU:$E563 PRG:2563 A2 10 ; ----------------------------------------------------------------------------- ; Routine: SubCE565 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE565: tya ; CPU:$E565 PRG:2565 98 sta $0251,x ; CPU:$E566 PRG:2566 9D 51 02 dey ; CPU:$E569 PRG:2569 88 lda #$40 ; CPU:$E56A PRG:256A A9 40 sta $0252,x ; CPU:$E56C PRG:256C 9D 52 02 dex ; CPU:$E56F PRG:256F CA dex ; CPU:$E570 PRG:2570 CA dex ; CPU:$E571 PRG:2571 CA dex ; CPU:$E572 PRG:2572 CA bpl SubCE565 ; CPU:$E573 PRG:2573 10 F0 ; ----------------------------------------------------------------------------- ; Routine: SubCE575 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE575: rts ; CPU:$E575 PRG:2575 60 ; ---- data $E576-$E5B5 (64 bytes) ---- ; referenced by `lda $E590,x` at $E4B1 (operand $E590 falls inside this region) ; referenced by `lda $E593,x` at $E4B7 (operand $E593 falls inside this region) ; referenced by `lda $E596,x` at $E4BD (operand $E596 falls inside this region) ; referenced by `lda $E5A2,y` at $E4C3 (operand $E5A2 falls inside this region) ; referenced by `lda $E5A4,x` at $E4C9 (operand $E5A4 falls inside this region) ; referenced by `lda $E5A7,x` at $E4D1 (operand $E5A7 falls inside this region) ; ... and 24 further references from decoded code .byte $23, $22, $0D, $ED, $23, $22, $16, $F6, $24, $24, $F6, $E6, $D6, $F7, $E7, $D7 ; CPU:$E576 PRG:2576 23 22 0D ED 23 22 16 F6 24 24 F6 E6 D6 F7 E7 D7 .byte $F8, $24, $24, $F9, $FE, $FC, $FA, $FF, $FD, $FB, $70, $80, $80, $78, $70, $70 ; CPU:$E586 PRG:2586 F8 24 24 F9 FE FC FA FF FD FB 70 80 80 78 70 70 .byte $80, $FF, $78, $A8, $98, $98, $A0, $A8, $A8, $98, $FF, $A0, $08, $00, $BF, $BF ; CPU:$E596 PRG:2596 80 FF 78 A8 98 98 A0 A8 A8 98 FF A0 08 00 BF BF .byte $B7, $C3, $BF, $B7, $C7, $BF, $B5, $CB, $C7, $BF, $CB, $F0, $BF, $C4, $C9, $CD ; CPU:$E5A6 PRG:25A6 B7 C3 BF B7 C7 BF B5 CB C7 BF CB F0 BF C4 C9 CD ; ----------------------------------------------------------------------------- ; Routine: SubCE5B6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE5B6: lda ZpC6 ; CPU:$E5B6 PRG:25B6 A5 C6 beq SubCE608 ; CPU:$E5B8 PRG:25B8 F0 4E lda #$00 ; CPU:$E5BA PRG:25BA A9 00 sta ZpC6 ; CPU:$E5BC PRG:25BC 85 C6 lda Zp00 ; CPU:$E5BE PRG:25BE A5 00 ora #$04 ; CPU:$E5C0 PRG:25C0 09 04 sta PPUCTRL ; CPU:$E5C2 PRG:25C2 8D 00 20 ldy ZpBF ; CPU:$E5C5 PRG:25C5 A4 BF ldx $E576,y ; CPU:$E5C7 PRG:25C7 BE 76 E5 lda $E578,y ; CPU:$E5CA PRG:25CA B9 78 E5 jsr WritePPU ; CPU:$E5CD PRG:25CD 20 EF E0 ldx ZpC4 ; CPU:$E5D0 PRG:25D0 A6 C4 lda $E57E,x ; CPU:$E5D2 PRG:25D2 BD 7E E5 sta PPUDATA ; CPU:$E5D5 PRG:25D5 8D 07 20 lda $E581,x ; CPU:$E5D8 PRG:25D8 BD 81 E5 sta PPUDATA ; CPU:$E5DB PRG:25DB 8D 07 20 lda $E584,x ; CPU:$E5DE PRG:25DE BD 84 E5 sta PPUDATA ; CPU:$E5E1 PRG:25E1 8D 07 20 ldy ZpBF ; CPU:$E5E4 PRG:25E4 A4 BF ldx $E57A,y ; CPU:$E5E6 PRG:25E6 BE 7A E5 lda $E57C,y ; CPU:$E5E9 PRG:25E9 B9 7C E5 jsr WritePPU ; CPU:$E5EC PRG:25EC 20 EF E0 ldx ZpC5 ; CPU:$E5EF PRG:25EF A6 C5 lda $E587,x ; CPU:$E5F1 PRG:25F1 BD 87 E5 sta PPUDATA ; CPU:$E5F4 PRG:25F4 8D 07 20 lda $E58A,x ; CPU:$E5F7 PRG:25F7 BD 8A E5 sta PPUDATA ; CPU:$E5FA PRG:25FA 8D 07 20 lda $E58D,x ; CPU:$E5FD PRG:25FD BD 8D E5 sta PPUDATA ; CPU:$E600 PRG:2600 8D 07 20 lda Zp00 ; CPU:$E603 PRG:2603 A5 00 sta PPUCTRL ; CPU:$E605 PRG:2605 8D 00 20 ; ----------------------------------------------------------------------------- ; Routine: SubCE608 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE608: rts ; CPU:$E608 PRG:2608 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicEngine ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicEngine: lda ZpC0 ; CPU:$E609 PRG:2609 A5 C0 beq SubCE615 ; CPU:$E60B PRG:260B F0 08 cmp #$17 ; CPU:$E60D PRG:260D C9 17 beq SubCE615 ; CPU:$E60F PRG:260F F0 04 cmp #$0F ; CPU:$E611 PRG:2611 C9 0F bne SubCE645 ; CPU:$E613 PRG:2613 D0 30 ; ----------------------------------------------------------------------------- ; Routine: SubCE615 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE615: lda #$00 ; CPU:$E615 PRG:2615 A9 00 sta ZpC2 ; CPU:$E617 PRG:2617 85 C2 lda ZpB6 ; CPU:$E619 PRG:2619 A5 B6 and #$0F ; CPU:$E61B PRG:261B 29 0F beq SubCE639 ; CPU:$E61D PRG:261D F0 1A inc ZpC2 ; CPU:$E61F PRG:261F E6 C2 inc ZpC0 ; CPU:$E621 PRG:2621 E6 C0 lda ZpC0 ; CPU:$E623 PRG:2623 A5 C0 cmp #$01 ; CPU:$E625 PRG:2625 C9 01 bne SubCE62F ; CPU:$E627 PRG:2627 D0 06 lda #$20 ; CPU:$E629 PRG:2629 A9 20 sta ZpFF ; CPU:$E62B PRG:262B 85 FF bne SubCE64C ; CPU:$E62D PRG:262D D0 1D ; ----------------------------------------------------------------------------- ; Routine: SubCE62F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE62F: cmp #$18 ; CPU:$E62F PRG:262F C9 18 bcc SubCE64C ; CPU:$E631 PRG:2631 90 19 dec ZpC0 ; CPU:$E633 PRG:2633 C6 C0 dec ZpC2 ; CPU:$E635 PRG:2635 C6 C2 beq SubCE64C ; CPU:$E637 PRG:2637 F0 13 ; ----------------------------------------------------------------------------- ; Routine: SubCE639 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE639: dec ZpC2 ; CPU:$E639 PRG:2639 C6 C2 dec ZpC0 ; CPU:$E63B PRG:263B C6 C0 bpl SubCE64C ; CPU:$E63D PRG:263D 10 0D inc ZpC0 ; CPU:$E63F PRG:263F E6 C0 inc ZpC2 ; CPU:$E641 PRG:2641 E6 C2 beq SubCE64C ; CPU:$E643 PRG:2643 F0 07 ; ----------------------------------------------------------------------------- ; Routine: SubCE645 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE645: clc ; CPU:$E645 PRG:2645 18 lda ZpC0 ; CPU:$E646 PRG:2646 A5 C0 adc ZpC2 ; CPU:$E648 PRG:2648 65 C2 sta ZpC0 ; CPU:$E64A PRG:264A 85 C0 ; ----------------------------------------------------------------------------- ; Routine: SubCE64C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE64C: lda ZpC1 ; CPU:$E64C PRG:264C A5 C1 beq SubCE658 ; CPU:$E64E PRG:264E F0 08 cmp #$17 ; CPU:$E650 PRG:2650 C9 17 beq SubCE658 ; CPU:$E652 PRG:2652 F0 04 cmp #$0F ; CPU:$E654 PRG:2654 C9 0F bne SubCE687 ; CPU:$E656 PRG:2656 D0 2F ; ----------------------------------------------------------------------------- ; Routine: SubCE658 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE658: lda #$00 ; CPU:$E658 PRG:2658 A9 00 sta ZpC3 ; CPU:$E65A PRG:265A 85 C3 lda ZpB6 ; CPU:$E65C PRG:265C A5 B6 and #$C0 ; CPU:$E65E PRG:265E 29 C0 beq SubCE67C ; CPU:$E660 PRG:2660 F0 1A inc ZpC3 ; CPU:$E662 PRG:2662 E6 C3 inc ZpC1 ; CPU:$E664 PRG:2664 E6 C1 lda ZpC1 ; CPU:$E666 PRG:2666 A5 C1 cmp #$01 ; CPU:$E668 PRG:2668 C9 01 bne SubCE672 ; CPU:$E66A PRG:266A D0 06 lda #$20 ; CPU:$E66C PRG:266C A9 20 sta ZpFF ; CPU:$E66E PRG:266E 85 FF bne SubCE686 ; CPU:$E670 PRG:2670 D0 14 ; ----------------------------------------------------------------------------- ; Routine: SubCE672 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE672: cmp #$18 ; CPU:$E672 PRG:2672 C9 18 bcc SubCE686 ; CPU:$E674 PRG:2674 90 10 dec ZpC1 ; CPU:$E676 PRG:2676 C6 C1 dec ZpC3 ; CPU:$E678 PRG:2678 C6 C3 beq SubCE686 ; CPU:$E67A PRG:267A F0 0A ; ----------------------------------------------------------------------------- ; Routine: SubCE67C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE67C: dec ZpC3 ; CPU:$E67C PRG:267C C6 C3 dec ZpC1 ; CPU:$E67E PRG:267E C6 C1 bpl SubCE686 ; CPU:$E680 PRG:2680 10 04 inc ZpC1 ; CPU:$E682 PRG:2682 E6 C1 inc ZpC3 ; CPU:$E684 PRG:2684 E6 C3 ; ----------------------------------------------------------------------------- ; Routine: SubCE686 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE686: rts ; CPU:$E686 PRG:2686 60 ; ----------------------------------------------------------------------------- ; Routine: SubCE687 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE687: clc ; CPU:$E687 PRG:2687 18 lda ZpC1 ; CPU:$E688 PRG:2688 A5 C1 adc ZpC3 ; CPU:$E68A PRG:268A 65 C3 sta ZpC1 ; CPU:$E68C PRG:268C 85 C1 rts ; CPU:$E68E PRG:268E 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel: lda $0134 ; CPU:$E68F PRG:268F AD 34 01 beq SubCE6A1 ; CPU:$E692 PRG:2692 F0 0D lda Zp05 ; CPU:$E694 PRG:2694 A5 05 and #$3F ; CPU:$E696 PRG:2696 29 3F bne SubCE6A1 ; CPU:$E698 PRG:2698 D0 07 dec $0134 ; CPU:$E69A PRG:269A CE 34 01 bne SubCE6A1 ; CPU:$E69D PRG:269D D0 02 dec ZpF0 ; CPU:$E69F PRG:269F C6 F0 ; ----------------------------------------------------------------------------- ; Routine: SubCE6A1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE6A1: lda ZpD1 ; CPU:$E6A1 PRG:26A1 A5 D1 beq SubCE70B ; CPU:$E6A3 PRG:26A3 F0 66 bpl SubCE6B4 ; CPU:$E6A5 PRG:26A5 10 0D lda #$07 ; CPU:$E6A7 PRG:26A7 A9 07 sta $0127 ; CPU:$E6A9 PRG:26A9 8D 27 01 lda #$08 ; CPU:$E6AC PRG:26AC A9 08 sta ZpFF ; CPU:$E6AE PRG:26AE 85 FF dec ZpF0 ; CPU:$E6B0 PRG:26B0 C6 F0 bne SubCE70B ; CPU:$E6B2 PRG:26B2 D0 57 ; ----------------------------------------------------------------------------- ; Routine: SubCE6B4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE6B4: ldx #$04 ; CPU:$E6B4 PRG:26B4 A2 04 stx ZpFE ; CPU:$E6B6 PRG:26B6 86 FE ldx #$00 ; CPU:$E6B8 PRG:26B8 A2 00 lda ZpEE ; CPU:$E6BA PRG:26BA A5 EE cmp #$82 ; CPU:$E6BC PRG:26BC C9 82 bcc SubCE6C6 ; CPU:$E6BE PRG:26BE 90 06 inx ; CPU:$E6C0 PRG:26C0 E8 cmp #$92 ; CPU:$E6C1 PRG:26C1 C9 92 bcc SubCE6C6 ; CPU:$E6C3 PRG:26C3 90 01 inx ; CPU:$E6C5 PRG:26C5 E8 ; ----------------------------------------------------------------------------- ; Routine: SubCE6C6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE6C6: lda $E7A6,x ; CPU:$E6C6 PRG:26C6 BD A6 E7 tay ; CPU:$E6C9 PRG:26C9 A8 ora $0127 ; CPU:$E6CA PRG:26CA 0D 27 01 cmp #$FF ; CPU:$E6CD PRG:26CD C9 FF bne SubCE70B ; CPU:$E6CF PRG:26CF D0 3A tya ; CPU:$E6D1 PRG:26D1 98 ldy $0118,x ; CPU:$E6D2 PRG:26D2 BC 18 01 bne SubCE6DE ; CPU:$E6D5 PRG:26D5 D0 07 pha ; CPU:$E6D7 PRG:26D7 48 lda #$37 ; CPU:$E6D8 PRG:26D8 A9 37 jsr UpdateMusicChannel15 ; CPU:$E6DA PRG:26DA 20 3D EE pla ; CPU:$E6DD PRG:26DD 68 ; ----------------------------------------------------------------------------- ; Routine: SubCE6DE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE6DE: and $0127 ; CPU:$E6DE PRG:26DE 2D 27 01 sta $0127 ; CPU:$E6E1 PRG:26E1 8D 27 01 bne SubCE70B ; CPU:$E6E4 PRG:26E4 D0 25 ldx $0118 ; CPU:$E6E6 PRG:26E6 AE 18 01 cpx $0119 ; CPU:$E6E9 PRG:26E9 EC 19 01 bne SubCE70B ; CPU:$E6EC PRG:26EC D0 1D cpx $011A ; CPU:$E6EE PRG:26EE EC 1A 01 bne SubCE70B ; CPU:$E6F1 PRG:26F1 D0 18 txa ; CPU:$E6F3 PRG:26F3 8A bne SubCE6F9 ; CPU:$E6F4 PRG:26F4 D0 03 inc $014B ; CPU:$E6F6 PRG:26F6 EE 4B 01 ; ----------------------------------------------------------------------------- ; Routine: SubCE6F9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE6F9: lda $E78A,x ; CPU:$E6F9 PRG:26F9 BD 8A E7 sta $0134 ; CPU:$E6FC PRG:26FC 8D 34 01 lda $E787,x ; CPU:$E6FF PRG:26FF BD 87 E7 jsr UpdateMusicChannel15 ; CPU:$E702 PRG:2702 20 3D EE lda #$01 ; CPU:$E705 PRG:2705 A9 01 sta ZpFD ; CPU:$E707 PRG:2707 85 FD inc ZpF0 ; CPU:$E709 PRG:2709 E6 F0 ; ----------------------------------------------------------------------------- ; Routine: SubCE70B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE70B: lda #$00 ; CPU:$E70B PRG:270B A9 00 sta ZpD1 ; CPU:$E70D PRG:270D 85 D1 lda Zp05 ; CPU:$E70F PRG:270F A5 05 and #$03 ; CPU:$E711 PRG:2711 29 03 beq SubCE716 ; CPU:$E713 PRG:2713 F0 01 rts ; CPU:$E715 PRG:2715 60 ; ----------------------------------------------------------------------------- ; Routine: SubCE716 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE716: ldx #$02 ; CPU:$E716 PRG:2716 A2 02 ; ----------------------------------------------------------------------------- ; Routine: SubCE718 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE718: lda $0127 ; CPU:$E718 PRG:2718 AD 27 01 and $E7A9,x ; CPU:$E71B PRG:271B 3D A9 E7 beq SubCE72C ; CPU:$E71E PRG:271E F0 0C ldy $0118,x ; CPU:$E720 PRG:2720 BC 18 01 dey ; CPU:$E723 PRG:2723 88 bpl SubCE728 ; CPU:$E724 PRG:2724 10 02 ldy #$02 ; CPU:$E726 PRG:2726 A0 02 ; ----------------------------------------------------------------------------- ; Routine: SubCE728 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE728: tya ; CPU:$E728 PRG:2728 98 sta $0118,x ; CPU:$E729 PRG:2729 9D 18 01 ; ----------------------------------------------------------------------------- ; Routine: SubCE72C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE72C: dex ; CPU:$E72C PRG:272C CA bpl SubCE718 ; CPU:$E72D PRG:272D 10 E9 lda #$02 ; CPU:$E72F PRG:272F A9 02 sta ZpE7 ; CPU:$E731 PRG:2731 85 E7 ; ----------------------------------------------------------------------------- ; Routine: SubCE733 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE733: ldx ZpE7 ; CPU:$E733 PRG:2733 A6 E7 lda $0118,x ; CPU:$E735 PRG:2735 BD 18 01 ldy $E78D,x ; CPU:$E738 PRG:2738 BC 8D E7 and #$03 ; CPU:$E73B PRG:273B 29 03 beq SubCE75F ; CPU:$E73D PRG:273D F0 20 asl a ; CPU:$E73F PRG:273F 0A asl a ; CPU:$E740 PRG:2740 0A asl a ; CPU:$E741 PRG:2741 0A tax ; CPU:$E742 PRG:2742 AA lda #$04 ; CPU:$E743 PRG:2743 A9 04 sta ZpE6 ; CPU:$E745 PRG:2745 85 E6 ; ----------------------------------------------------------------------------- ; Routine: SubCE747 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE747: lda $E788,x ; CPU:$E747 PRG:2747 BD 88 E7 sta $0285,y ; CPU:$E74A PRG:274A 99 85 02 inx ; CPU:$E74D PRG:274D E8 iny ; CPU:$E74E PRG:274E C8 lda $E788,x ; CPU:$E74F PRG:274F BD 88 E7 sta $0285,y ; CPU:$E752 PRG:2752 99 85 02 inx ; CPU:$E755 PRG:2755 E8 iny ; CPU:$E756 PRG:2756 C8 iny ; CPU:$E757 PRG:2757 C8 iny ; CPU:$E758 PRG:2758 C8 dec ZpE6 ; CPU:$E759 PRG:2759 C6 E6 bne SubCE747 ; CPU:$E75B PRG:275B D0 EA beq SubCE782 ; CPU:$E75D PRG:275D F0 23 ; ----------------------------------------------------------------------------- ; Routine: SubCE75F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE75F: lda Zp05 ; CPU:$E75F PRG:275F A5 05 and #$20 ; CPU:$E761 PRG:2761 29 20 beq SubCE768 ; CPU:$E763 PRG:2763 F0 03 inx ; CPU:$E765 PRG:2765 E8 inx ; CPU:$E766 PRG:2766 E8 inx ; CPU:$E767 PRG:2767 E8 ; ----------------------------------------------------------------------------- ; Routine: SubCE768 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE768: lda $E7A0,x ; CPU:$E768 PRG:2768 BD A0 E7 tax ; CPU:$E76B PRG:276B AA lda #$04 ; CPU:$E76C PRG:276C A9 04 sta ZpE6 ; CPU:$E76E PRG:276E 85 E6 ; ----------------------------------------------------------------------------- ; Routine: SubCE770 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE770: txa ; CPU:$E770 PRG:2770 8A sta $0285,y ; CPU:$E771 PRG:2771 99 85 02 iny ; CPU:$E774 PRG:2774 C8 lda #$03 ; CPU:$E775 PRG:2775 A9 03 sta $0285,y ; CPU:$E777 PRG:2777 99 85 02 iny ; CPU:$E77A PRG:277A C8 inx ; CPU:$E77B PRG:277B E8 iny ; CPU:$E77C PRG:277C C8 iny ; CPU:$E77D PRG:277D C8 dec ZpE6 ; CPU:$E77E PRG:277E C6 E6 bne SubCE770 ; CPU:$E780 PRG:2780 D0 EE ; ----------------------------------------------------------------------------- ; Routine: SubCE782 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE782: dec ZpE7 ; CPU:$E782 PRG:2782 C6 E7 bpl SubCE733 ; CPU:$E784 PRG:2784 10 AD rts ; CPU:$E786 PRG:2786 60 ; ---- data $E787-$E7AB (37 bytes) ---- ; referenced by `lda $E7A6,x` at $E6C6 (operand $E7A6 falls inside this region) ; referenced by `lda $E78A,x` at $E6F9 (operand $E78A falls inside this region) ; referenced by `lda $E787,x` at $E6FF (operand $E787 falls inside this region) ; referenced by `and $E7A9,x` at $E71B (operand $E7A9 falls inside this region) ; referenced by `ldy $E78D,x` at $E738 (operand $E78D falls inside this region) ; referenced by `lda $E788,x` at $E747 (operand $E788 falls inside this region) ; ... and 2 further references from decoded code .byte $46, $3C, $05, $00, $06, $0E, $00, $10, $20, $81, $00, $82, $00, $84, $00, $83 ; CPU:$E787 PRG:2787 46 3C 05 00 06 0E 00 10 20 81 00 82 00 84 00 83 .byte $00, $80, $00, $80, $40, $79, $00, $85, $00, $D0, $D4, $D8, $50, $DC, $9C, $FE ; CPU:$E797 PRG:2797 00 80 00 80 40 79 00 85 00 D0 D4 D8 50 DC 9C FE .byte $FD, $FB, $01, $02, $04 ; CPU:$E7A7 PRG:27A7 FD FB 01 02 04 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel2: ldx #$1C ; CPU:$E7AC PRG:27AC A2 1C ldy #$07 ; CPU:$E7AE PRG:27AE A0 07 ; ----------------------------------------------------------------------------- ; Routine: SubCE7B0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE7B0: lda $EA60,y ; CPU:$E7B0 PRG:27B0 B9 60 EA sta $028C,x ; CPU:$E7B3 PRG:27B3 9D 8C 02 dex ; CPU:$E7B6 PRG:27B6 CA dex ; CPU:$E7B7 PRG:27B7 CA dex ; CPU:$E7B8 PRG:27B8 CA dex ; CPU:$E7B9 PRG:27B9 CA dey ; CPU:$E7BA PRG:27BA 88 bpl SubCE7B0 ; CPU:$E7BB PRG:27BB 10 F3 lda ZpEC ; CPU:$E7BD PRG:27BD A5 EC clc ; CPU:$E7BF PRG:27BF 18 adc #$70 ; CPU:$E7C0 PRG:27C0 69 70 sta $028F ; CPU:$E7C2 PRG:27C2 8D 8F 02 adc #$08 ; CPU:$E7C5 PRG:27C5 69 08 sta $0293 ; CPU:$E7C7 PRG:27C7 8D 93 02 sta $029F ; CPU:$E7CA PRG:27CA 8D 9F 02 sta $02A7 ; CPU:$E7CD PRG:27CD 8D A7 02 adc #$08 ; CPU:$E7D0 PRG:27D0 69 08 sta $0297 ; CPU:$E7D2 PRG:27D2 8D 97 02 sta $02A3 ; CPU:$E7D5 PRG:27D5 8D A3 02 sta $02AB ; CPU:$E7D8 PRG:27D8 8D AB 02 adc #$08 ; CPU:$E7DB PRG:27DB 69 08 sta $029B ; CPU:$E7DD PRG:27DD 8D 9B 02 lda ZpB6 ; CPU:$E7E0 PRG:27E0 A5 B6 and #$01 ; CPU:$E7E2 PRG:27E2 29 01 beq SubCE801 ; CPU:$E7E4 PRG:27E4 F0 1B lda #$03 ; CPU:$E7E6 PRG:27E6 A9 03 sta $011B ; CPU:$E7E8 PRG:27E8 8D 1B 01 jsr UpdateSoundEffect ; CPU:$E7EB PRG:27EB 20 50 EA inc ZpEC ; CPU:$E7EE PRG:27EE E6 EC lda ZpEC ; CPU:$E7F0 PRG:27F0 A5 EC cmp #$31 ; CPU:$E7F2 PRG:27F2 C9 31 bcs SubCE7FC ; CPU:$E7F4 PRG:27F4 B0 06 lda #$10 ; CPU:$E7F6 PRG:27F6 A9 10 sta ZpFE ; CPU:$E7F8 PRG:27F8 85 FE bne SubCE801 ; CPU:$E7FA PRG:27FA D0 05 ; ----------------------------------------------------------------------------- ; Routine: SubCE7FC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE7FC: dec ZpEC ; CPU:$E7FC PRG:27FC C6 EC jsr UpdateSoundEffect2 ; CPU:$E7FE PRG:27FE 20 58 EA ; ----------------------------------------------------------------------------- ; Routine: SubCE801 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE801: lda ZpB6 ; CPU:$E801 PRG:2801 A5 B6 and #$02 ; CPU:$E803 PRG:2803 29 02 beq SubCE81E ; CPU:$E805 PRG:2805 F0 17 lda #$00 ; CPU:$E807 PRG:2807 A9 00 sta $011B ; CPU:$E809 PRG:2809 8D 1B 01 jsr UpdateSoundEffect2 ; CPU:$E80C PRG:280C 20 58 EA dec ZpEC ; CPU:$E80F PRG:280F C6 EC bmi SubCE819 ; CPU:$E811 PRG:2811 30 06 lda #$10 ; CPU:$E813 PRG:2813 A9 10 sta ZpFE ; CPU:$E815 PRG:2815 85 FE bne SubCE81E ; CPU:$E817 PRG:2817 D0 05 ; ----------------------------------------------------------------------------- ; Routine: SubCE819 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE819: inc ZpEC ; CPU:$E819 PRG:2819 E6 EC jsr UpdateSoundEffect ; CPU:$E81B PRG:281B 20 50 EA ; ----------------------------------------------------------------------------- ; Routine: SubCE81E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE81E: lda ZpEC ; CPU:$E81E PRG:281E A5 EC lsr a ; CPU:$E820 PRG:2820 4A and #$03 ; CPU:$E821 PRG:2821 29 03 cmp #$03 ; CPU:$E823 PRG:2823 C9 03 bne SubCE829 ; CPU:$E825 PRG:2825 D0 02 lda #$01 ; CPU:$E827 PRG:2827 A9 01 ; ----------------------------------------------------------------------------- ; Routine: SubCE829 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE829: clc ; CPU:$E829 PRG:2829 18 adc $011B ; CPU:$E82A PRG:282A 6D 1B 01 tax ; CPU:$E82D PRG:282D AA lda $EA68,x ; CPU:$E82E PRG:282E BD 68 EA sta $0291 ; CPU:$E831 PRG:2831 8D 91 02 lda $EA6E,x ; CPU:$E834 PRG:2834 BD 6E EA sta $0295 ; CPU:$E837 PRG:2837 8D 95 02 lda $EA74,x ; CPU:$E83A PRG:283A BD 74 EA sta $029D ; CPU:$E83D PRG:283D 8D 9D 02 lda $EA7A,x ; CPU:$E840 PRG:2840 BD 7A EA sta $02A1 ; CPU:$E843 PRG:2843 8D A1 02 lda $EA80,x ; CPU:$E846 PRG:2846 BD 80 EA sta $02A5 ; CPU:$E849 PRG:2849 8D A5 02 lda $EA86,x ; CPU:$E84C PRG:284C BD 86 EA sta $02A9 ; CPU:$E84F PRG:284F 8D A9 02 lda #$25 ; CPU:$E852 PRG:2852 A9 25 sta $028D ; CPU:$E854 PRG:2854 8D 8D 02 sta $0299 ; CPU:$E857 PRG:2857 8D 99 02 lda #$03 ; CPU:$E85A PRG:285A A9 03 ldy $011B ; CPU:$E85C PRG:285C AC 1B 01 beq SubCE863 ; CPU:$E85F PRG:285F F0 02 lda #$43 ; CPU:$E861 PRG:2861 A9 43 ; ----------------------------------------------------------------------------- ; Routine: SubCE863 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE863: sta $0292 ; CPU:$E863 PRG:2863 8D 92 02 sta $0296 ; CPU:$E866 PRG:2866 8D 96 02 and #$FD ; CPU:$E869 PRG:2869 29 FD ldx #$0C ; CPU:$E86B PRG:286B A2 0C ; ----------------------------------------------------------------------------- ; Routine: SubCE86D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE86D: sta $029E,x ; CPU:$E86D PRG:286D 9D 9E 02 dex ; CPU:$E870 PRG:2870 CA dex ; CPU:$E871 PRG:2871 CA dex ; CPU:$E872 PRG:2872 CA dex ; CPU:$E873 PRG:2873 CA bpl SubCE86D ; CPU:$E874 PRG:2874 10 F7 ldx #$09 ; CPU:$E876 PRG:2876 A2 09 lda #$24 ; CPU:$E878 PRG:2878 A9 24 ; ----------------------------------------------------------------------------- ; Routine: SubCE87A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE87A: sta $06EE,x ; CPU:$E87A PRG:287A 9D EE 06 dex ; CPU:$E87D PRG:287D CA bpl SubCE87A ; CPU:$E87E PRG:287E 10 FA lda ZpEC ; CPU:$E880 PRG:2880 A5 EC clc ; CPU:$E882 PRG:2882 18 adc #$04 ; CPU:$E883 PRG:2883 69 04 pha ; CPU:$E885 PRG:2885 48 and #$07 ; CPU:$E886 PRG:2886 29 07 tay ; CPU:$E888 PRG:2888 A8 pla ; CPU:$E889 PRG:2889 68 lsr a ; CPU:$E88A PRG:288A 4A lsr a ; CPU:$E88B PRG:288B 4A lsr a ; CPU:$E88C PRG:288C 4A tax ; CPU:$E88D PRG:288D AA lda $EA8C,y ; CPU:$E88E PRG:288E B9 8C EA sta $06EE,x ; CPU:$E891 PRG:2891 9D EE 06 lda #$A6 ; CPU:$E894 PRG:2894 A9 A6 sta $06EF,x ; CPU:$E896 PRG:2896 9D EF 06 sta $06F0,x ; CPU:$E899 PRG:2899 9D F0 06 lda $EA94,y ; CPU:$E89C PRG:289C B9 94 EA beq SubCE8A4 ; CPU:$E89F PRG:289F F0 03 sta $06F1,x ; CPU:$E8A1 PRG:28A1 9D F1 06 ; ----------------------------------------------------------------------------- ; Routine: SubCE8A4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE8A4: lda ZpD2 ; CPU:$E8A4 PRG:28A4 A5 D2 bmi SubCE8B2 ; CPU:$E8A6 PRG:28A6 30 0A lda #$F0 ; CPU:$E8A8 PRG:28A8 A9 F0 ldx #$0C ; CPU:$E8AA PRG:28AA A2 0C ; ----------------------------------------------------------------------------- ; Routine: SubCE8AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE8AC: sta $027C,x ; CPU:$E8AC PRG:28AC 9D 7C 02 dex ; CPU:$E8AF PRG:28AF CA bpl SubCE8AC ; CPU:$E8B0 PRG:28B0 10 FA ; ----------------------------------------------------------------------------- ; Routine: SubCE8B2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE8B2: lda $011C ; CPU:$E8B2 PRG:28B2 AD 1C 01 clc ; CPU:$E8B5 PRG:28B5 18 adc #$23 ; CPU:$E8B6 PRG:28B6 69 23 sta $02B0 ; CPU:$E8B8 PRG:28B8 8D B0 02 sta $02B4 ; CPU:$E8BB PRG:28BB 8D B4 02 adc #$08 ; CPU:$E8BE PRG:28BE 69 08 sta $02B8 ; CPU:$E8C0 PRG:28C0 8D B8 02 sta $02BC ; CPU:$E8C3 PRG:28C3 8D BC 02 adc #$08 ; CPU:$E8C6 PRG:28C6 69 08 sta $02C0 ; CPU:$E8C8 PRG:28C8 8D C0 02 sta $02C4 ; CPU:$E8CB PRG:28CB 8D C4 02 ldx #$10 ; CPU:$E8CE PRG:28CE A2 10 ; ----------------------------------------------------------------------------- ; Routine: SubCE8D0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE8D0: lda ZpED ; CPU:$E8D0 PRG:28D0 A5 ED clc ; CPU:$E8D2 PRG:28D2 18 adc #$48 ; CPU:$E8D3 PRG:28D3 69 48 sta $02B3,x ; CPU:$E8D5 PRG:28D5 9D B3 02 adc #$08 ; CPU:$E8D8 PRG:28D8 69 08 sta $02B7,x ; CPU:$E8DA PRG:28DA 9D B7 02 txa ; CPU:$E8DD PRG:28DD 8A sec ; CPU:$E8DE PRG:28DE 38 sbc #$08 ; CPU:$E8DF PRG:28DF E9 08 tax ; CPU:$E8E1 PRG:28E1 AA bpl SubCE8D0 ; CPU:$E8E2 PRG:28E2 10 EC lda $011C ; CPU:$E8E4 PRG:28E4 AD 1C 01 beq SubCE8EC ; CPU:$E8E7 PRG:28E7 F0 03 jmp UpdateSoundChannel2_E96A_3 ; CPU:$E8E9 PRG:28E9 4C 6A E9 ; ----------------------------------------------------------------------------- ; Routine: SubCE8EC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE8EC: lda Zp05 ; CPU:$E8EC PRG:28EC A5 05 and #$01 ; CPU:$E8EE PRG:28EE 29 01 beq SubCE8F3 ; CPU:$E8F0 PRG:28F0 F0 01 rts ; CPU:$E8F2 PRG:28F2 60 ; ----------------------------------------------------------------------------- ; Routine: SubCE8F3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE8F3: inc $0124 ; CPU:$E8F3 PRG:28F3 EE 24 01 lda $011D ; CPU:$E8F6 PRG:28F6 AD 1D 01 beq SubCE908 ; CPU:$E8F9 PRG:28F9 F0 0D inc ZpED ; CPU:$E8FB PRG:28FB E6 ED lda ZpED ; CPU:$E8FD PRG:28FD A5 ED cmp #$70 ; CPU:$E8FF PRG:28FF C9 70 bcc SubCE908 ; CPU:$E901 PRG:2901 90 05 lda #$00 ; CPU:$E903 PRG:2903 A9 00 sta $011D ; CPU:$E905 PRG:2905 8D 1D 01 ; ----------------------------------------------------------------------------- ; Routine: SubCE908 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE908: lda $011D ; CPU:$E908 PRG:2908 AD 1D 01 bne SubCE91C ; CPU:$E90B PRG:290B D0 0F dec ZpED ; CPU:$E90D PRG:290D C6 ED lda ZpED ; CPU:$E90F PRG:290F A5 ED cmp #$20 ; CPU:$E911 PRG:2911 C9 20 bcs SubCE91C ; CPU:$E913 PRG:2913 B0 07 inc ZpED ; CPU:$E915 PRG:2915 E6 ED lda #$03 ; CPU:$E917 PRG:2917 A9 03 sta $011D ; CPU:$E919 PRG:2919 8D 1D 01 ; ----------------------------------------------------------------------------- ; Routine: SubCE91C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE91C: ldx #$02 ; CPU:$E91C PRG:291C A2 02 ; ----------------------------------------------------------------------------- ; Routine: SubCE91E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE91E: lda ZpED ; CPU:$E91E PRG:291E A5 ED cmp $EACC,x ; CPU:$E920 PRG:2920 DD CC EA bne SubCE92C ; CPU:$E923 PRG:2923 D0 07 lda $011F,x ; CPU:$E925 PRG:2925 BD 1F 01 cmp #$03 ; CPU:$E928 PRG:2928 C9 03 bcs SubCE961 ; CPU:$E92A PRG:292A B0 35 ; ----------------------------------------------------------------------------- ; Routine: SubCE92C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE92C: dex ; CPU:$E92C PRG:292C CA bpl SubCE91E ; CPU:$E92D PRG:292D 10 EF ldx #$01 ; CPU:$E92F PRG:292F A2 01 ; ----------------------------------------------------------------------------- ; Routine: SubCE931 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE931: lda ZpED ; CPU:$E931 PRG:2931 A5 ED cmp $EACF,x ; CPU:$E933 PRG:2933 DD CF EA bne SubCE94A ; CPU:$E936 PRG:2936 D0 12 clc ; CPU:$E938 PRG:2938 18 lda $011F,x ; CPU:$E939 PRG:2939 BD 1F 01 beq SubCE94A ; CPU:$E93C PRG:293C F0 0C ldy $0120,x ; CPU:$E93E PRG:293E BC 20 01 beq SubCE94A ; CPU:$E941 PRG:2941 F0 07 adc $0120,x ; CPU:$E943 PRG:2943 7D 20 01 cmp #$03 ; CPU:$E946 PRG:2946 C9 03 bcs SubCE961 ; CPU:$E948 PRG:2948 B0 17 ; ----------------------------------------------------------------------------- ; Routine: SubCE94A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE94A: dex ; CPU:$E94A PRG:294A CA bpl SubCE931 ; CPU:$E94B PRG:294B 10 E4 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundEffects ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundEffects: lda $0124 ; CPU:$E94D PRG:294D AD 24 01 lsr a ; CPU:$E950 PRG:2950 4A and #$03 ; CPU:$E951 PRG:2951 29 03 cmp #$03 ; CPU:$E953 PRG:2953 C9 03 bne SubCE959 ; CPU:$E955 PRG:2955 D0 02 lda #$01 ; CPU:$E957 PRG:2957 A9 01 ; ----------------------------------------------------------------------------- ; Routine: SubCE959 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE959: clc ; CPU:$E959 PRG:2959 18 adc $011D ; CPU:$E95A PRG:295A 6D 1D 01 tax ; CPU:$E95D PRG:295D AA jmp UpdateSoundChannel3_E9ED_3 ; CPU:$E95E PRG:295E 4C ED E9 ; ----------------------------------------------------------------------------- ; Routine: SubCE961 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE961: lda #$02 ; CPU:$E961 PRG:2961 A9 02 sta ZpFE ; CPU:$E963 PRG:2963 85 FE lda #$00 ; CPU:$E965 PRG:2965 A9 00 sta $011D ; CPU:$E967 PRG:2967 8D 1D 01 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannel2_E96A_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannel2_E96A_3: lda #$00 ; CPU:$E96A PRG:296A A9 00 sta $0123 ; CPU:$E96C PRG:296C 8D 23 01 lda $011C ; CPU:$E96F PRG:296F AD 1C 01 cmp #$94 ; CPU:$E972 PRG:2972 C9 94 bcs SubCE9DE ; CPU:$E974 PRG:2974 B0 68 cmp #$7C ; CPU:$E976 PRG:2976 C9 7C bne SubCE9E5 ; CPU:$E978 PRG:2978 D0 6B lda ZpED ; CPU:$E97A PRG:297A A5 ED cmp #$24 ; CPU:$E97C PRG:297C C9 24 bcc SubCE9A8 ; CPU:$E97E PRG:297E 90 28 cmp #$6C ; CPU:$E980 PRG:2980 C9 6C bcs SubCE9A8 ; CPU:$E982 PRG:2982 B0 24 sec ; CPU:$E984 PRG:2984 38 lda ZpED ; CPU:$E985 PRG:2985 A5 ED sbc ZpEC ; CPU:$E987 PRG:2987 E5 EC sbc #$20 ; CPU:$E989 PRG:2989 E9 20 cmp #$20 ; CPU:$E98B PRG:298B C9 20 bcs SubCE9E5 ; CPU:$E98D PRG:298D B0 56 ldx #$00 ; CPU:$E98F PRG:298F A2 00 lda ZpED ; CPU:$E991 PRG:2991 A5 ED cmp #$48 ; CPU:$E993 PRG:2993 C9 48 bcc SubCE999 ; CPU:$E995 PRG:2995 90 02 ldx #$03 ; CPU:$E997 PRG:2997 A2 03 ; ----------------------------------------------------------------------------- ; Routine: SubCE999 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE999: stx $011D ; CPU:$E999 PRG:2999 8E 1D 01 inc $0123 ; CPU:$E99C PRG:299C EE 23 01 lda Zp05 ; CPU:$E99F PRG:299F A5 05 and #$04 ; CPU:$E9A1 PRG:29A1 29 04 beq SubCE9BC ; CPU:$E9A3 PRG:29A3 F0 17 ; ----------------------------------------------------------------------------- ; Routine: SubCE9A5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE9A5: jmp UpdateSoundEffects ; CPU:$E9A5 PRG:29A5 4C 4D E9 ; ----------------------------------------------------------------------------- ; Routine: SubCE9A8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE9A8: lda $0122 ; CPU:$E9A8 PRG:29A8 AD 22 01 bne SubCE9BC ; CPU:$E9AB PRG:29AB D0 0F lda #$41 ; CPU:$E9AD PRG:29AD A9 41 sta $0122 ; CPU:$E9AF PRG:29AF 8D 22 01 jsr UpdateMusicChannel15 ; CPU:$E9B2 PRG:29B2 20 3D EE jsr UpdateMusicChannel15 ; CPU:$E9B5 PRG:29B5 20 3D EE lda #$01 ; CPU:$E9B8 PRG:29B8 A9 01 sta ZpFD ; CPU:$E9BA PRG:29BA 85 FD ; ----------------------------------------------------------------------------- ; Routine: SubCE9BC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE9BC: lda Zp05 ; CPU:$E9BC PRG:29BC A5 05 and #$03 ; CPU:$E9BE PRG:29BE 29 03 bne SubCE9A5 ; CPU:$E9C0 PRG:29C0 D0 E3 inc $0124 ; CPU:$E9C2 PRG:29C2 EE 24 01 lda $011D ; CPU:$E9C5 PRG:29C5 AD 1D 01 beq SubCE9D6 ; CPU:$E9C8 PRG:29C8 F0 0C inc ZpED ; CPU:$E9CA PRG:29CA E6 ED lda ZpED ; CPU:$E9CC PRG:29CC A5 ED cmp #$90 ; CPU:$E9CE PRG:29CE C9 90 bne SubCE9A5 ; CPU:$E9D0 PRG:29D0 D0 D3 inc $011E ; CPU:$E9D2 PRG:29D2 EE 1E 01 rts ; CPU:$E9D5 PRG:29D5 60 ; ----------------------------------------------------------------------------- ; Routine: SubCE9D6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE9D6: dec ZpED ; CPU:$E9D6 PRG:29D6 C6 ED bpl SubCE9A5 ; CPU:$E9D8 PRG:29D8 10 CB inc $011E ; CPU:$E9DA PRG:29DA EE 1E 01 rts ; CPU:$E9DD PRG:29DD 60 ; ----------------------------------------------------------------------------- ; Routine: SubCE9DE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE9DE: ldx #$07 ; CPU:$E9DE PRG:29DE A2 07 dec $011E ; CPU:$E9E0 PRG:29E0 CE 1E 01 bne UpdateSoundChannel3_E9ED_3 ; CPU:$E9E3 PRG:29E3 D0 08 ; ----------------------------------------------------------------------------- ; Routine: SubCE9E5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCE9E5: inc $011C ; CPU:$E9E5 PRG:29E5 EE 1C 01 inc $011C ; CPU:$E9E8 PRG:29E8 EE 1C 01 ldx #$06 ; CPU:$E9EB PRG:29EB A2 06 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannel3_E9ED_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannel3_E9ED_3: lda $EA9C,x ; CPU:$E9ED PRG:29ED BD 9C EA sta $02B1 ; CPU:$E9F0 PRG:29F0 8D B1 02 lda $EAA4,x ; CPU:$E9F3 PRG:29F3 BD A4 EA sta $02B5 ; CPU:$E9F6 PRG:29F6 8D B5 02 lda $EAAC,x ; CPU:$E9F9 PRG:29F9 BD AC EA sta $02B9 ; CPU:$E9FC PRG:29FC 8D B9 02 lda $EAB4,x ; CPU:$E9FF PRG:29FF BD B4 EA sta $02BD ; CPU:$EA02 PRG:2A02 8D BD 02 lda $EABC,x ; CPU:$EA05 PRG:2A05 BD BC EA sta $02C1 ; CPU:$EA08 PRG:2A08 8D C1 02 lda $EAC4,x ; CPU:$EA0B PRG:2A0B BD C4 EA sta $02C5 ; CPU:$EA0E PRG:2A0E 8D C5 02 lda #$02 ; CPU:$EA11 PRG:2A11 A9 02 ldy $011C ; CPU:$EA13 PRG:2A13 AC 1C 01 beq SubCEA1C ; CPU:$EA16 PRG:2A16 F0 04 cpy #$7C ; CPU:$EA18 PRG:2A18 C0 7C bne SubCEA23 ; CPU:$EA1A PRG:2A1A D0 07 ; ----------------------------------------------------------------------------- ; Routine: SubCEA1C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEA1C: ldy $011D ; CPU:$EA1C PRG:2A1C AC 1D 01 beq SubCEA23 ; CPU:$EA1F PRG:2A1F F0 02 lda #$42 ; CPU:$EA21 PRG:2A21 A9 42 ; ----------------------------------------------------------------------------- ; Routine: SubCEA23 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEA23: ldx #$14 ; CPU:$EA23 PRG:2A23 A2 14 ; ----------------------------------------------------------------------------- ; Routine: SubCEA25 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEA25: sta $02B2,x ; CPU:$EA25 PRG:2A25 9D B2 02 dex ; CPU:$EA28 PRG:2A28 CA dex ; CPU:$EA29 PRG:2A29 CA dex ; CPU:$EA2A PRG:2A2A CA dex ; CPU:$EA2B PRG:2A2B CA bpl SubCEA25 ; CPU:$EA2C PRG:2A2C 10 F7 rts ; CPU:$EA2E PRG:2A2E 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannels ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannels: ldx #$07 ; CPU:$EA2F PRG:2A2F A2 07 lda #$00 ; CPU:$EA31 PRG:2A31 A9 00 ; ----------------------------------------------------------------------------- ; Routine: SubCEA33 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEA33: sta $011C,x ; CPU:$EA33 PRG:2A33 9D 1C 01 dex ; CPU:$EA36 PRG:2A36 CA bpl SubCEA33 ; CPU:$EA37 PRG:2A37 10 FA lda #$20 ; CPU:$EA39 PRG:2A39 A9 20 ldx ZpED ; CPU:$EA3B PRG:2A3B A6 ED inx ; CPU:$EA3D PRG:2A3D E8 beq SubCEA42 ; CPU:$EA3E PRG:2A3E F0 02 lda #$70 ; CPU:$EA40 PRG:2A40 A9 70 ; ----------------------------------------------------------------------------- ; Routine: SubCEA42 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEA42: sta ZpED ; CPU:$EA42 PRG:2A42 85 ED ldx #$17 ; CPU:$EA44 PRG:2A44 A2 17 ; ----------------------------------------------------------------------------- ; Routine: SubCEA46 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEA46: lda $CB7E,x ; CPU:$EA46 PRG:2A46 BD 7E CB sta $0264,x ; CPU:$EA49 PRG:2A49 9D 64 02 dex ; CPU:$EA4C PRG:2A4C CA bpl SubCEA46 ; CPU:$EA4D PRG:2A4D 10 F7 rts ; CPU:$EA4F PRG:2A4F 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundEffect ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundEffect: lda $0123 ; CPU:$EA50 PRG:2A50 AD 23 01 beq SubCEA57 ; CPU:$EA53 PRG:2A53 F0 02 inc ZpED ; CPU:$EA55 PRG:2A55 E6 ED ; ----------------------------------------------------------------------------- ; Routine: SubCEA57 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEA57: rts ; CPU:$EA57 PRG:2A57 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundEffect2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundEffect2: lda $0123 ; CPU:$EA58 PRG:2A58 AD 23 01 beq SubCEA57 ; CPU:$EA5B PRG:2A5B F0 FA dec ZpED ; CPU:$EA5D PRG:2A5D C6 ED rts ; CPU:$EA5F PRG:2A5F 60 ; ---- data $EA60-$EAD0 (113 bytes) ---- ; referenced by `lda $EA60,y` at $E7B0 (operand $EA60 falls inside this region) ; referenced by `lda $EA68,x` at $E82E (operand $EA68 falls inside this region) ; referenced by `lda $EA6E,x` at $E834 (operand $EA6E falls inside this region) ; referenced by `lda $EA74,x` at $E83A (operand $EA74 falls inside this region) ; referenced by `lda $EA7A,x` at $E840 (operand $EA7A falls inside this region) ; referenced by `lda $EA80,x` at $E846 (operand $EA80 falls inside this region) ; ... and 11 further references from decoded code .byte $B7, $B7, $B7, $B7, $BF, $BF, $C7, $C7, $26, $2C, $2C, $27, $2D, $2D, $27, $2D ; CPU:$EA60 PRG:2A60 B7 B7 B7 B7 BF BF C7 C7 26 2C 2C 27 2D 2D 27 2D .byte $2D, $26, $2C, $2C, $28, $2E, $32, $29, $2F, $33, $29, $2F, $33, $28, $2E, $32 ; CPU:$EA70 PRG:2A70 2D 26 2C 2C 28 2E 32 29 2F 33 29 2F 33 28 2E 32 .byte $2A, $30, $34, $2B, $31, $35, $2B, $31, $35, $2A, $30, $34, $A6, $A7, $A8, $A9 ; CPU:$EA80 PRG:2A80 2A 30 34 2B 31 35 2B 31 35 2A 30 34 A6 A7 A8 A9 .byte $AA, $AB, $AC, $AD, $00, $DD, $DE, $DF, $E0, $E1, $E2, $E3, $00, $06, $06, $01 ; CPU:$EA90 PRG:2A90 AA AB AC AD 00 DD DE DF E0 E1 E2 E3 00 06 06 01 .byte $07, $07, $1A, $B9, $01, $07, $07, $00, $06, $06, $1B, $B9, $02, $08, $0C, $03 ; CPU:$EAA0 PRG:2AA0 07 07 1A B9 01 07 07 00 06 06 1B B9 02 08 0C 03 .byte $09, $0D, $1C, $20, $03, $09, $0D, $02, $08, $0C, $1D, $21, $04, $0A, $0E, $05 ; CPU:$EAB0 PRG:2AB0 09 0D 1C 20 03 09 0D 02 08 0C 1D 21 04 0A 0E 05 .byte $0B, $0F, $1E, $22, $05, $0B, $0F, $04, $0A, $0E, $1F, $23, $38, $48, $58, $40 ; CPU:$EAC0 PRG:2AC0 0B 0F 1E 22 05 0B 0F 04 0A 0E 1F 23 38 48 58 40 .byte $50 ; CPU:$EAD0 PRG:2AD0 50 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannel4_EAD1_3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannel4_EAD1_3: lda #$00 ; CPU:$EAD1 PRG:2AD1 A9 00 sta ZpE3 ; CPU:$EAD3 PRG:2AD3 85 E3 sta $012B ; CPU:$EAD5 PRG:2AD5 8D 2B 01 dec $012C ; CPU:$EAD8 PRG:2AD8 CE 2C 01 jsr UpdateMusicChannel33 ; CPU:$EADB PRG:2ADB 20 E8 F3 ; ----------------------------------------------------------------------------- ; Routine: SubCEADE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEADE: jsr InitPPU ; CPU:$EADE PRG:2ADE 20 49 E0 and #$C0 ; CPU:$EAE1 PRG:2AE1 29 C0 beq SubCEADE ; CPU:$EAE3 PRG:2AE3 F0 F9 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannel5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannel5: jsr WaitVBlank_E0232 ; CPU:$EAE5 PRG:2AE5 20 2C E0 jsr InitPPU ; CPU:$EAE8 PRG:2AE8 20 49 E0 and #$C0 ; CPU:$EAEB PRG:2AEB 29 C0 beq UpdateSoundChannel6 ; CPU:$EAED PRG:2AED F0 1E inc ZpE3 ; CPU:$EAEF PRG:2AEF E6 E3 lda ZpE3 ; CPU:$EAF1 PRG:2AF1 A5 E3 cmp #$14 ; CPU:$EAF3 PRG:2AF3 C9 14 bcc SubCEAF9 ; CPU:$EAF5 PRG:2AF5 90 02 dec ZpE3 ; CPU:$EAF7 PRG:2AF7 C6 E3 ; ----------------------------------------------------------------------------- ; Routine: SubCEAF9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEAF9: lda ZpE3 ; CPU:$EAF9 PRG:2AF9 A5 E3 lsr a ; CPU:$EAFB PRG:2AFB 4A lsr a ; CPU:$EAFC PRG:2AFC 4A sta $0125 ; CPU:$EAFD PRG:2AFD 8D 25 01 cmp #$01 ; CPU:$EB00 PRG:2B00 C9 01 bne SubCEB07 ; CPU:$EB02 PRG:2B02 D0 03 inc $0126 ; CPU:$EB04 PRG:2B04 EE 26 01 ; ----------------------------------------------------------------------------- ; Routine: SubCEB07 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEB07: jsr UpdateSoundChannel7 ; CPU:$EB07 PRG:2B07 20 27 EB jmp UpdateSoundChannel5 ; CPU:$EB0A PRG:2B0A 4C E5 EA ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannel6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannel6: jsr WaitVBlank_E0232 ; CPU:$EB0D PRG:2B0D 20 2C E0 dec $0125 ; CPU:$EB10 PRG:2B10 CE 25 01 bne SubCEB18 ; CPU:$EB13 PRG:2B13 D0 03 inc $0126 ; CPU:$EB15 PRG:2B15 EE 26 01 ; ----------------------------------------------------------------------------- ; Routine: SubCEB18 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEB18: bmi SubCEB20 ; CPU:$EB18 PRG:2B18 30 06 jsr UpdateSoundChannel7 ; CPU:$EB1A PRG:2B1A 20 27 EB jmp UpdateSoundChannel6 ; CPU:$EB1D PRG:2B1D 4C 0D EB ; ----------------------------------------------------------------------------- ; Routine: SubCEB20 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEB20: lda #$01 ; CPU:$EB20 PRG:2B20 A9 01 sta ZpFE ; CPU:$EB22 PRG:2B22 85 FE lda ZpE3 ; CPU:$EB24 PRG:2B24 A5 E3 rts ; CPU:$EB26 PRG:2B26 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannel7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannel7: lda #$09 ; CPU:$EB27 PRG:2B27 A9 09 sta ZpE6 ; CPU:$EB29 PRG:2B29 85 E6 ldx $0125 ; CPU:$EB2B PRG:2B2B AE 25 01 ldy $EB66,x ; CPU:$EB2E PRG:2B2E BC 66 EB ldx #$27 ; CPU:$EB31 PRG:2B31 A2 27 ; ----------------------------------------------------------------------------- ; Routine: SubCEB33 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEB33: lda ZpE6 ; CPU:$EB33 PRG:2B33 A5 E6 lsr a ; CPU:$EB35 PRG:2B35 4A lda #$D8 ; CPU:$EB36 PRG:2B36 A9 D8 bcc SubCEB3C ; CPU:$EB38 PRG:2B38 90 02 lda #$E0 ; CPU:$EB3A PRG:2B3A A9 E0 ; ----------------------------------------------------------------------------- ; Routine: SubCEB3C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEB3C: sta $0200,x ; CPU:$EB3C PRG:2B3C 9D 00 02 dex ; CPU:$EB3F PRG:2B3F CA lda #$00 ; CPU:$EB40 PRG:2B40 A9 00 sta $0200,x ; CPU:$EB42 PRG:2B42 9D 00 02 dex ; CPU:$EB45 PRG:2B45 CA lda $EB6B,y ; CPU:$EB46 PRG:2B46 B9 6B EB pha ; CPU:$EB49 PRG:2B49 48 sta $0200,x ; CPU:$EB4A PRG:2B4A 9D 00 02 dex ; CPU:$EB4D PRG:2B4D CA dey ; CPU:$EB4E PRG:2B4E 88 pla ; CPU:$EB4F PRG:2B4F 68 beq SubCEB5B ; CPU:$EB50 PRG:2B50 F0 09 lda ZpE6 ; CPU:$EB52 PRG:2B52 A5 E6 and #$FE ; CPU:$EB54 PRG:2B54 29 FE asl a ; CPU:$EB56 PRG:2B56 0A asl a ; CPU:$EB57 PRG:2B57 0A adc #$A7 ; CPU:$EB58 PRG:2B58 69 A7 ; ---- data $EB5A-$EB5A (1 bytes) ---- .byte $2C ; CPU:$EB5A PRG:2B5A 2C ; ----------------------------------------------------------------------------- ; Routine: SubCEB5B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEB5B: lda #$F0 ; CPU:$EB5B PRG:2B5B A9 F0 sta $0200,x ; CPU:$EB5D PRG:2B5D 9D 00 02 dex ; CPU:$EB60 PRG:2B60 CA dec ZpE6 ; CPU:$EB61 PRG:2B61 C6 E6 bpl SubCEB33 ; CPU:$EB63 PRG:2B63 10 CE rts ; CPU:$EB65 PRG:2B65 60 ; ---- data $EB66-$EB9C (55 bytes) ---- ; referenced by `ldy $EB66,x` at $EB2E (operand $EB66 falls inside this region) ; referenced by `lda $EB6B,y` at $EB46 (operand $EB6B falls inside this region) .byte $09, $13, $1D, $27, $31, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0 ; CPU:$EB66 PRG:2B66 09 13 1D 27 31 00 00 00 00 00 00 00 00 00 00 E0 .byte $E1, $E2, $E3, $E4, $E5, $E2, $E3, $E4, $E5, $00, $00, $E0, $E1, $E6, $E7, $E6 ; CPU:$EB76 PRG:2B76 E1 E2 E3 E4 E5 E2 E3 E4 E5 00 00 E0 E1 E6 E7 E6 .byte $E7, $E6, $E7, $00, $00, $00, $00, $E0, $E1, $E8, $E9, $EA, $EB, $00, $00, $00 ; CPU:$EB86 PRG:2B86 E7 E6 E7 00 00 00 00 E0 E1 E8 E9 EA EB 00 00 00 .byte $00, $00, $00, $EC, $ED, $E8, $E9 ; CPU:$EB96 PRG:2B96 00 00 00 EC ED E8 E9 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannel8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannel8: lda $0126 ; CPU:$EB9D PRG:2B9D AD 26 01 beq SubCEBE0 ; CPU:$EBA0 PRG:2BA0 F0 3E lda Zp00 ; CPU:$EBA2 PRG:2BA2 A5 00 ora #$04 ; CPU:$EBA4 PRG:2BA4 09 04 sta PPUCTRL ; CPU:$EBA6 PRG:2BA6 8D 00 20 ldy #$00 ; CPU:$EBA9 PRG:2BA9 A0 00 sty $0126 ; CPU:$EBAB PRG:2BAB 8C 26 01 lda $0125 ; CPU:$EBAE PRG:2BAE AD 25 01 beq SubCEBB5 ; CPU:$EBB1 PRG:2BB1 F0 02 ldy #$0C ; CPU:$EBB3 PRG:2BB3 A0 0C ; ----------------------------------------------------------------------------- ; Routine: SubCEBB5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEBB5: ldx #$22 ; CPU:$EBB5 PRG:2BB5 A2 22 lda #$9B ; CPU:$EBB7 PRG:2BB7 A9 9B jsr WritePPU ; CPU:$EBB9 PRG:2BB9 20 EF E0 ldx #$06 ; CPU:$EBBC PRG:2BBC A2 06 ; ----------------------------------------------------------------------------- ; Routine: SubCEBBE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEBBE: lda $EBE1,y ; CPU:$EBBE PRG:2BBE B9 E1 EB sta PPUDATA ; CPU:$EBC1 PRG:2BC1 8D 07 20 iny ; CPU:$EBC4 PRG:2BC4 C8 dex ; CPU:$EBC5 PRG:2BC5 CA bne SubCEBBE ; CPU:$EBC6 PRG:2BC6 D0 F6 ldx #$22 ; CPU:$EBC8 PRG:2BC8 A2 22 lda #$9C ; CPU:$EBCA PRG:2BCA A9 9C jsr WritePPU ; CPU:$EBCC PRG:2BCC 20 EF E0 ldx #$06 ; CPU:$EBCF PRG:2BCF A2 06 ; ----------------------------------------------------------------------------- ; Routine: SubCEBD1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEBD1: lda $EBE1,y ; CPU:$EBD1 PRG:2BD1 B9 E1 EB sta PPUDATA ; CPU:$EBD4 PRG:2BD4 8D 07 20 iny ; CPU:$EBD7 PRG:2BD7 C8 dex ; CPU:$EBD8 PRG:2BD8 CA bne SubCEBD1 ; CPU:$EBD9 PRG:2BD9 D0 F6 lda Zp00 ; CPU:$EBDB PRG:2BDB A5 00 sta PPUCTRL ; CPU:$EBDD PRG:2BDD 8D 00 20 ; ----------------------------------------------------------------------------- ; Routine: SubCEBE0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEBE0: rts ; CPU:$EBE0 PRG:2BE0 60 ; ---- data $EBE1-$EBF8 (24 bytes) ---- ; referenced by `lda $EBE1,y` at $EBBE (operand $EBE1 falls inside this region) ; referenced by `lda $EBE1,y` at $EBD1 (operand $EBE1 falls inside this region) .byte $C6, $CE, $CE, $CE, $CE, $CE, $C7, $CF, $CF, $CF, $CF, $CF, $5E, $62, $62, $62 ; CPU:$EBE1 PRG:2BE1 C6 CE CE CE CE CE C7 CF CF CF CF CF 5E 62 62 62 .byte $62, $62, $5F, $63, $63, $63, $63, $63 ; CPU:$EBF1 PRG:2BF1 62 62 5F 63 63 63 63 63 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundChannel9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundChannel9: lda Zp05 ; CPU:$EBF9 PRG:2BF9 A5 05 and #$03 ; CPU:$EBFB PRG:2BFB 29 03 beq SubCEBE0 ; CPU:$EBFD PRG:2BFD F0 E1 tay ; CPU:$EBFF PRG:2BFF A8 dey ; CPU:$EC00 PRG:2C00 88 lda a:$00C9,y ; CPU:$EC01 PRG:2C01 B9 C9 00 beq SubCEC4A ; CPU:$EC04 PRG:2C04 F0 44 sty ZpE8 ; CPU:$EC06 PRG:2C06 84 E8 tay ; CPU:$EC08 PRG:2C08 A8 lda #$10 ; CPU:$EC09 PRG:2C09 A9 10 sta ZpFF ; CPU:$EC0B PRG:2C0B 85 FF iny ; CPU:$EC0D PRG:2C0D C8 lda #$03 ; CPU:$EC0E PRG:2C0E A9 03 sta ZpEA ; CPU:$EC10 PRG:2C10 85 EA lda ZpBF ; CPU:$EC12 PRG:2C12 A5 BF asl a ; CPU:$EC14 PRG:2C14 0A adc ZpBF ; CPU:$EC15 PRG:2C15 65 BF ldx ZpE8 ; CPU:$EC17 PRG:2C17 A6 E8 beq SubCEC22 ; CPU:$EC19 PRG:2C19 F0 07 adc #$09 ; CPU:$EC1B PRG:2C1B 69 09 dex ; CPU:$EC1D PRG:2C1D CA beq SubCEC22 ; CPU:$EC1E PRG:2C1E F0 02 adc #$09 ; CPU:$EC20 PRG:2C20 69 09 ; ----------------------------------------------------------------------------- ; Routine: SubCEC22 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEC22: tax ; CPU:$EC22 PRG:2C22 AA ; ----------------------------------------------------------------------------- ; Routine: SubCEC23 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEC23: lda #$21 ; CPU:$EC23 PRG:2C23 A9 21 sta PPUADDR ; CPU:$EC25 PRG:2C25 8D 06 20 lda $EC65,x ; CPU:$EC28 PRG:2C28 BD 65 EC sta PPUADDR ; CPU:$EC2B PRG:2C2B 8D 06 20 lda #$04 ; CPU:$EC2E PRG:2C2E A9 04 sta ZpE9 ; CPU:$EC30 PRG:2C30 85 E9 ; ----------------------------------------------------------------------------- ; Routine: SubCEC32 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEC32: lda $EC4B,y ; CPU:$EC32 PRG:2C32 B9 4B EC sta PPUDATA ; CPU:$EC35 PRG:2C35 8D 07 20 iny ; CPU:$EC38 PRG:2C38 C8 dec ZpE9 ; CPU:$EC39 PRG:2C39 C6 E9 bne SubCEC32 ; CPU:$EC3B PRG:2C3B D0 F5 inx ; CPU:$EC3D PRG:2C3D E8 dec ZpEA ; CPU:$EC3E PRG:2C3E C6 EA bne SubCEC23 ; CPU:$EC40 PRG:2C40 D0 E1 lda $EC4B,y ; CPU:$EC42 PRG:2C42 B9 4B EC ldy ZpE8 ; CPU:$EC45 PRG:2C45 A4 E8 sta a:$00C9,y ; CPU:$EC47 PRG:2C47 99 C9 00 ; ----------------------------------------------------------------------------- ; Routine: SubCEC4A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEC4A: rts ; CPU:$EC4A PRG:2C4A 60 ; ---- data $EC4B-$EC7F (53 bytes) ---- ; referenced by `lda $EC65,x` at $EC28 (operand $EC65 falls inside this region) ; referenced by `lda $EC4B,y` at $EC32 (operand $EC4B falls inside this region) ; referenced by `lda $EC4B,y` at $EC42 (operand $EC4B falls inside this region) .byte $24, $56, $57, $24, $24, $5C, $5D, $24, $24, $A2, $A3, $24, $0C, $7F, $80, $81 ; CPU:$EC4B PRG:2C4B 24 56 57 24 24 5C 5D 24 24 A2 A3 24 0C 7F 80 81 .byte $82, $83, $84, $85, $86, $87, $88, $89, $8A, $00, $70, $90, $B0, $2D, $4D, $6D ; CPU:$EC5B PRG:2C5B 82 83 84 85 86 87 88 89 8A 00 70 90 B0 2D 4D 6D .byte $8B, $AB, $CB, $70, $90, $B0, $B0, $D0, $F0, $8B, $AB, $CB, $70, $90, $B0, $33 ; CPU:$EC6B PRG:2C6B 8B AB CB 70 90 B0 B0 D0 F0 8B AB CB 70 90 B0 33 .byte $53, $73, $97, $B7, $D7 ; CPU:$EC7B PRG:2C7B 53 73 97 B7 D7 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusic2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusic2: lda ZpCC ; CPU:$EC80 PRG:2C80 A5 CC beq SubCEC88 ; CPU:$EC82 PRG:2C82 F0 04 lda #$08 ; CPU:$EC84 PRG:2C84 A9 08 sta ZpFE ; CPU:$EC86 PRG:2C86 85 FE ; ----------------------------------------------------------------------------- ; Routine: SubCEC88 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEC88: lda #$00 ; CPU:$EC88 PRG:2C88 A9 00 sta ZpCC ; CPU:$EC8A PRG:2C8A 85 CC rts ; CPU:$EC8C PRG:2C8C 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel10 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel10: lda Zp05 ; CPU:$EC8D PRG:2C8D A5 05 and #$03 ; CPU:$EC8F PRG:2C8F 29 03 beq SubCEC94 ; CPU:$EC91 PRG:2C91 F0 01 rts ; CPU:$EC93 PRG:2C93 60 ; ----------------------------------------------------------------------------- ; Routine: SubCEC94 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEC94: lda ZpEE ; CPU:$EC94 PRG:2C94 A5 EE sta $02F7 ; CPU:$EC96 PRG:2C96 8D F7 02 clc ; CPU:$EC99 PRG:2C99 18 adc #$08 ; CPU:$EC9A PRG:2C9A 69 08 sta $02FB ; CPU:$EC9C PRG:2C9C 8D FB 02 lda ZpEF ; CPU:$EC9F PRG:2C9F A5 EF beq SubCECAF ; CPU:$ECA1 PRG:2CA1 F0 0C inc ZpEE ; CPU:$ECA3 PRG:2CA3 E6 EE lda ZpEE ; CPU:$ECA5 PRG:2CA5 A5 EE cmp #$A0 ; CPU:$ECA7 PRG:2CA7 C9 A0 bcc SubCECAF ; CPU:$ECA9 PRG:2CA9 90 04 lda #$00 ; CPU:$ECAB PRG:2CAB A9 00 sta ZpEF ; CPU:$ECAD PRG:2CAD 85 EF ; ----------------------------------------------------------------------------- ; Routine: SubCECAF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCECAF: lda ZpEF ; CPU:$ECAF PRG:2CAF A5 EF bne SubCECC5 ; CPU:$ECB1 PRG:2CB1 D0 12 lda #$00 ; CPU:$ECB3 PRG:2CB3 A9 00 sta ZpEF ; CPU:$ECB5 PRG:2CB5 85 EF dec ZpEE ; CPU:$ECB7 PRG:2CB7 C6 EE lda ZpEE ; CPU:$ECB9 PRG:2CB9 A5 EE cmp #$74 ; CPU:$ECBB PRG:2CBB C9 74 bcs SubCECC5 ; CPU:$ECBD PRG:2CBD B0 06 inc ZpEE ; CPU:$ECBF PRG:2CBF E6 EE lda #$03 ; CPU:$ECC1 PRG:2CC1 A9 03 sta ZpEF ; CPU:$ECC3 PRG:2CC3 85 EF ; ----------------------------------------------------------------------------- ; Routine: SubCECC5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCECC5: ldx #$07 ; CPU:$ECC5 PRG:2CC5 A2 07 lda #$24 ; CPU:$ECC7 PRG:2CC7 A9 24 ; ----------------------------------------------------------------------------- ; Routine: SubCECC9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCECC9: sta $062E,x ; CPU:$ECC9 PRG:2CC9 9D 2E 06 dex ; CPU:$ECCC PRG:2CCC CA bpl SubCECC9 ; CPU:$ECCD PRG:2CCD 10 FA ldx ZpEE ; CPU:$ECCF PRG:2CCF A6 EE inx ; CPU:$ECD1 PRG:2CD1 E8 txa ; CPU:$ECD2 PRG:2CD2 8A lsr a ; CPU:$ECD3 PRG:2CD3 4A lsr a ; CPU:$ECD4 PRG:2CD4 4A lsr a ; CPU:$ECD5 PRG:2CD5 4A tay ; CPU:$ECD6 PRG:2CD6 A8 txa ; CPU:$ECD7 PRG:2CD7 8A and #$07 ; CPU:$ECD8 PRG:2CD8 29 07 tax ; CPU:$ECDA PRG:2CDA AA lda $ECEE,x ; CPU:$ECDB PRG:2CDB BD EE EC sta $0620,y ; CPU:$ECDE PRG:2CDE 99 20 06 lda $ECF6,x ; CPU:$ECE1 PRG:2CE1 BD F6 EC sta $0621,y ; CPU:$ECE4 PRG:2CE4 99 21 06 lda $ECFE,x ; CPU:$ECE7 PRG:2CE7 BD FE EC sta $0622,y ; CPU:$ECEA PRG:2CEA 99 22 06 rts ; CPU:$ECED PRG:2CED 60 ; ---- data $ECEE-$ED05 (24 bytes) ---- ; referenced by `lda $ECEE,x` at $ECDB (operand $ECEE falls inside this region) ; referenced by `lda $ECF6,x` at $ECE1 (operand $ECF6 falls inside this region) ; referenced by `lda $ECFE,x` at $ECE7 (operand $ECFE falls inside this region) .byte $A6, $A7, $A8, $A9, $AA, $AB, $AC, $AD, $E2, $E3, $A6, $A6, $A6, $A6, $A6, $A6 ; CPU:$ECEE PRG:2CEE A6 A7 A8 A9 AA AB AC AD E2 E3 A6 A6 A6 A6 A6 A6 .byte $24, $24, $DD, $DE, $DF, $E0, $E1, $E2 ; CPU:$ECFE PRG:2CFE 24 24 DD DE DF E0 E1 E2 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel11 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel11: ldx ZpBD ; CPU:$ED06 PRG:2D06 A6 BD lda $EDAE,x ; CPU:$ED08 PRG:2D08 BD AE ED tax ; CPU:$ED0B PRG:2D0B AA ; ----------------------------------------------------------------------------- ; Routine: SubCED0C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCED0C: lda $ED2E,x ; CPU:$ED0C PRG:2D0C BD 2E ED sta PPUADDR ; CPU:$ED0F PRG:2D0F 8D 06 20 lda $ED3E,x ; CPU:$ED12 PRG:2D12 BD 3E ED sta PPUADDR ; CPU:$ED15 PRG:2D15 8D 06 20 ldy $ED9E,x ; CPU:$ED18 PRG:2D18 BC 9E ED lda #$08 ; CPU:$ED1B PRG:2D1B A9 08 sta ZpE3 ; CPU:$ED1D PRG:2D1D 85 E3 ; ----------------------------------------------------------------------------- ; Routine: SubCED1F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCED1F: lda $ED4E,y ; CPU:$ED1F PRG:2D1F B9 4E ED sta PPUDATA ; CPU:$ED22 PRG:2D22 8D 07 20 dey ; CPU:$ED25 PRG:2D25 88 dec ZpE3 ; CPU:$ED26 PRG:2D26 C6 E3 bpl SubCED1F ; CPU:$ED28 PRG:2D28 10 F5 dex ; CPU:$ED2A PRG:2D2A CA bpl SubCED0C ; CPU:$ED2B PRG:2D2B 10 DF rts ; CPU:$ED2D PRG:2D2D 60 ; ---- data $ED2E-$EDAF (130 bytes) ---- ; referenced by `lda $EDAE,x` at $ED08 (operand $EDAE falls inside this region) ; referenced by `lda $ED2E,x` at $ED0C (operand $ED2E falls inside this region) ; referenced by `lda $ED3E,x` at $ED12 (operand $ED3E falls inside this region) ; referenced by `ldy $ED9E,x` at $ED18 (operand $ED9E falls inside this region) ; referenced by `lda $ED4E,y` at $ED1F (operand $ED4E falls inside this region) .byte $20, $20, $20, $20, $21, $21, $21, $21, $22, $22, $23, $23, $21, $21, $22, $22 ; CPU:$ED2E PRG:2D2E 20 20 20 20 21 21 21 21 22 22 23 23 21 21 22 22 .byte $81, $A1, $C1, $E1, $41, $61, $81, $A1, $C1, $E1, $01, $21, $C1, $E1, $01, $21 ; CPU:$ED3E PRG:2D3E 81 A1 C1 E1 41 61 81 A1 C1 E1 01 21 C1 E1 01 21 .byte $30, $24, $0D, $19, $18, $1D, $0C, $24, $30, $24, $0D, $19, $1E, $01, $0C, $24 ; CPU:$ED4E PRG:2D4E 30 24 0D 19 18 1D 0C 24 30 24 0D 19 1E 01 0C 24 .byte $30, $24, $0D, $19, $1E, $02, $0C, $24, $14, $0E, $0E, $0E, $0E, $0E, $0E, $0F ; CPU:$ED5E PRG:2D5E 30 24 0D 19 1E 02 0C 24 14 0E 0E 0E 0E 0E 0E 0F .byte $16, $00, $00, $00, $00, $00, $00, $10, $1A, $13, $13, $13, $13, $13, $13, $11 ; CPU:$ED6E PRG:2D6E 16 00 00 00 00 00 00 10 1A 13 13 13 13 13 13 11 .byte $30, $0D, $15, $15, $0A, $0B, $0C, $24, $14, $0E, $0E, $0F, $24, $24, $24, $24 ; CPU:$ED7E PRG:2D7E 30 0D 15 15 0A 0B 0C 24 14 0E 0E 0F 24 24 24 24 .byte $16, $00, $00, $10, $24, $24, $24, $24, $1A, $13, $13, $11, $24, $24, $24, $24 ; CPU:$ED8E PRG:2D8E 16 00 00 10 24 24 24 24 1A 13 13 11 24 24 24 24 .byte $07, $1F, $27, $2F, $0F, $1F, $27, $2F, $37, $3F, $47, $4F, $17, $1F, $27, $2F ; CPU:$ED9E PRG:2D9E 07 1F 27 2F 0F 1F 27 2F 37 3F 47 4F 17 1F 27 2F .byte $0B, $0F ; CPU:$EDAE PRG:2DAE 0B 0F ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel12 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel12: lda $0135 ; CPU:$EDB0 PRG:2DB0 AD 35 01 bne SubCEDB6 ; CPU:$EDB3 PRG:2DB3 D0 01 rts ; CPU:$EDB5 PRG:2DB5 60 ; ----------------------------------------------------------------------------- ; Routine: SubCEDB6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEDB6: dec $0135 ; CPU:$EDB6 PRG:2DB6 CE 35 01 ldy ZpBE ; CPU:$EDB9 PRG:2DB9 A4 BE ldx #$22 ; CPU:$EDBB PRG:2DBB A2 22 lda #$2E ; CPU:$EDBD PRG:2DBD A9 2E jsr WritePPU ; CPU:$EDBF PRG:2DBF 20 EF E0 lda $0135 ; CPU:$EDC2 PRG:2DC2 AD 35 01 and #$20 ; CPU:$EDC5 PRG:2DC5 29 20 bne SubCEDD4 ; CPU:$EDC7 PRG:2DC7 D0 0B ldx #$08 ; CPU:$EDC9 PRG:2DC9 A2 08 lda #$24 ; CPU:$EDCB PRG:2DCB A9 24 ; ----------------------------------------------------------------------------- ; Routine: SubCEDCD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEDCD: sta PPUDATA ; CPU:$EDCD PRG:2DCD 8D 07 20 dex ; CPU:$EDD0 PRG:2DD0 CA bne SubCEDCD ; CPU:$EDD1 PRG:2DD1 D0 FA rts ; CPU:$EDD3 PRG:2DD3 60 ; ----------------------------------------------------------------------------- ; Routine: SubCEDD4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEDD4: ldx #$06 ; CPU:$EDD4 PRG:2DD4 A2 06 ; ----------------------------------------------------------------------------- ; Routine: SubCEDD6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEDD6: lda $EDE6,x ; CPU:$EDD6 PRG:2DD6 BD E6 ED sta PPUDATA ; CPU:$EDD9 PRG:2DD9 8D 07 20 dex ; CPU:$EDDC PRG:2DDC CA bpl SubCEDD6 ; CPU:$EDDD PRG:2DDD 10 F7 ldx ZpBE ; CPU:$EDDF PRG:2DDF A6 BE inx ; CPU:$EDE1 PRG:2DE1 E8 stx PPUDATA ; CPU:$EDE2 PRG:2DE2 8E 07 20 rts ; CPU:$EDE5 PRG:2DE5 60 ; ---- data $EDE6-$EDEC (7 bytes) ---- ; referenced by `lda $EDE6,x` at $EDD6 (operand $EDE6 falls inside this region) .byte $24, $1B, $12, $EE, $0A, $15, $19 ; CPU:$EDE6 PRG:2DE6 24 1B 12 EE 0A 15 19 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel13 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel13: lda $0156 ; CPU:$EDED PRG:2DED AD 56 01 beq SubCEE2B ; CPU:$EDF0 PRG:2DF0 F0 39 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel14 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel14: lda #$00 ; CPU:$EDF2 PRG:2DF2 A9 00 sta $0156 ; CPU:$EDF4 PRG:2DF4 8D 56 01 ldy ZpBE ; CPU:$EDF7 PRG:2DF7 A4 BE ldx $EE37,y ; CPU:$EDF9 PRG:2DF9 BE 37 EE lda $EE39,y ; CPU:$EDFC PRG:2DFC B9 39 EE jsr WritePPU ; CPU:$EDFF PRG:2DFF 20 EF E0 ldx #$05 ; CPU:$EE02 PRG:2E02 A2 05 lda $EE3B,y ; CPU:$EE04 PRG:2E04 B9 3B EE tay ; CPU:$EE07 PRG:2E07 A8 ; ----------------------------------------------------------------------------- ; Routine: SubCEE08 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEE08: lda $0100,y ; CPU:$EE08 PRG:2E08 B9 00 01 sta PPUDATA ; CPU:$EE0B PRG:2E0B 8D 07 20 iny ; CPU:$EE0E PRG:2E0E C8 dex ; CPU:$EE0F PRG:2E0F CA bne SubCEE08 ; CPU:$EE10 PRG:2E10 D0 F6 ldx #$20 ; CPU:$EE12 PRG:2E12 A2 20 lda #$C2 ; CPU:$EE14 PRG:2E14 A9 C2 jsr WritePPU ; CPU:$EE16 PRG:2E16 20 EF E0 ldx ZpBC ; CPU:$EE19 PRG:2E19 A6 BC lda $EE3B,x ; CPU:$EE1B PRG:2E1B BD 3B EE tax ; CPU:$EE1E PRG:2E1E AA ldy #$05 ; CPU:$EE1F PRG:2E1F A0 05 ; ----------------------------------------------------------------------------- ; Routine: SubCEE21 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEE21: lda $010E,x ; CPU:$EE21 PRG:2E21 BD 0E 01 sta PPUDATA ; CPU:$EE24 PRG:2E24 8D 07 20 inx ; CPU:$EE27 PRG:2E27 E8 dey ; CPU:$EE28 PRG:2E28 88 bne SubCEE21 ; CPU:$EE29 PRG:2E29 D0 F6 ; ----------------------------------------------------------------------------- ; Routine: SubCEE2B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEE2B: ldx ZpBE ; CPU:$EE2B PRG:2E2B A6 BE ldy $0151,x ; CPU:$EE2D PRG:2E2D BC 51 01 ldx #$23 ; CPU:$EE30 PRG:2E30 A2 23 lda #$07 ; CPU:$EE32 PRG:2E32 A9 07 jmp WritePPU2 ; CPU:$EE34 PRG:2E34 4C F6 E0 ; ---- data $EE37-$EE3C (6 bytes) ---- ; referenced by `ldx $EE37,y` at $EDF9 (operand $EE37 falls inside this region) ; referenced by `lda $EE39,y` at $EDFC (operand $EE39 falls inside this region) ; referenced by `lda $EE3B,y` at $EE04 (operand $EE3B falls inside this region) ; referenced by `lda $EE3B,x` at $EE1B (operand $EE3B falls inside this region) ; referenced by `ldy $EE3B,x` at $EE77 (operand $EE3B falls inside this region) ; referenced by `ldy $EE3B,x` at $EE9F (operand $EE3B falls inside this region) ; ... and 3 further references from decoded code .byte $21, $22, $82, $02, $00, $05 ; CPU:$EE37 PRG:2E37 21 22 82 02 00 05 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel15 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel15: ldx Zp04 ; CPU:$EE3D PRG:2E3D A6 04 beq SubCEE42 ; CPU:$EE3F PRG:2E3F F0 01 rts ; CPU:$EE41 PRG:2E41 60 ; ----------------------------------------------------------------------------- ; Routine: SubCEE42 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEE42: inc $0156 ; CPU:$EE42 PRG:2E42 EE 56 01 ldx $014B ; CPU:$EE45 PRG:2E45 AE 4B 01 beq UpdateMusicChannel16 ; CPU:$EE48 PRG:2E48 F0 03 jsr UpdateMusicChannel16 ; CPU:$EE4A PRG:2E4A 20 4D EE ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel16 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel16: pha ; CPU:$EE4D PRG:2E4D 48 ldx ZpBE ; CPU:$EE4E PRG:2E4E A6 BE ldy $EEDB,x ; CPU:$EE50 PRG:2E50 BC DB EE clc ; CPU:$EE53 PRG:2E53 18 adc #$04 ; CPU:$EE54 PRG:2E54 69 04 tax ; CPU:$EE56 PRG:2E56 AA lda #$05 ; CPU:$EE57 PRG:2E57 A9 05 sta ZpEB ; CPU:$EE59 PRG:2E59 85 EB ; ----------------------------------------------------------------------------- ; Routine: SubCEE5B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEE5B: lda $0100,y ; CPU:$EE5B PRG:2E5B B9 00 01 adc $EEDD,x ; CPU:$EE5E PRG:2E5E 7D DD EE cmp #$0A ; CPU:$EE61 PRG:2E61 C9 0A bcc SubCEE67 ; CPU:$EE63 PRG:2E63 90 02 sbc #$0A ; CPU:$EE65 PRG:2E65 E9 0A ; ----------------------------------------------------------------------------- ; Routine: SubCEE67 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEE67: sta $0100,y ; CPU:$EE67 PRG:2E67 99 00 01 dey ; CPU:$EE6A PRG:2E6A 88 dex ; CPU:$EE6B PRG:2E6B CA dec ZpEB ; CPU:$EE6C PRG:2E6C C6 EB bne SubCEE5B ; CPU:$EE6E PRG:2E6E D0 EB lda #$00 ; CPU:$EE70 PRG:2E70 A9 00 sta $014A ; CPU:$EE72 PRG:2E72 8D 4A 01 ldx ZpBE ; CPU:$EE75 PRG:2E75 A6 BE ldy $EE3B,x ; CPU:$EE77 PRG:2E77 BC 3B EE lda $0100,y ; CPU:$EE7A PRG:2E7A B9 00 01 cmp #$01 ; CPU:$EE7D PRG:2E7D C9 01 bne SubCEE8B ; CPU:$EE7F PRG:2E7F D0 0A lda $0101,y ; CPU:$EE81 PRG:2E81 B9 01 01 cmp #$05 ; CPU:$EE84 PRG:2E84 C9 05 bcs SubCEE8B ; CPU:$EE86 PRG:2E86 B0 03 inc $014A ; CPU:$EE88 PRG:2E88 EE 4A 01 ; ----------------------------------------------------------------------------- ; Routine: SubCEE8B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEE8B: lda $010A,x ; CPU:$EE8B PRG:2E8B BD 0A 01 bne SubCEE9D ; CPU:$EE8E PRG:2E8E D0 0D lda $0101,y ; CPU:$EE90 PRG:2E90 B9 01 01 cmp #$05 ; CPU:$EE93 PRG:2E93 C9 05 bcc SubCEE9D ; CPU:$EE95 PRG:2E95 90 06 inc $010A,x ; CPU:$EE97 PRG:2E97 FE 0A 01 inc $0151,x ; CPU:$EE9A PRG:2E9A FE 51 01 ; ----------------------------------------------------------------------------- ; Routine: SubCEE9D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEE9D: ldx ZpBE ; CPU:$EE9D PRG:2E9D A6 BE ldy $EE3B,x ; CPU:$EE9F PRG:2E9F BC 3B EE ldx ZpBC ; CPU:$EEA2 PRG:2EA2 A6 BC lda $EE3B,x ; CPU:$EEA4 PRG:2EA4 BD 3B EE tax ; CPU:$EEA7 PRG:2EA7 AA lda #$05 ; CPU:$EEA8 PRG:2EA8 A9 05 sta ZpEB ; CPU:$EEAA PRG:2EAA 85 EB ; ----------------------------------------------------------------------------- ; Routine: SubCEEAC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEEAC: lda $010E,x ; CPU:$EEAC PRG:2EAC BD 0E 01 cmp $0100,y ; CPU:$EEAF PRG:2EAF D9 00 01 bcc SubCEEBE ; CPU:$EEB2 PRG:2EB2 90 0A bne SubCEEBC ; CPU:$EEB4 PRG:2EB4 D0 06 inx ; CPU:$EEB6 PRG:2EB6 E8 iny ; CPU:$EEB7 PRG:2EB7 C8 dec ZpEB ; CPU:$EEB8 PRG:2EB8 C6 EB bne SubCEEAC ; CPU:$EEBA PRG:2EBA D0 F0 ; ----------------------------------------------------------------------------- ; Routine: SubCEEBC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEEBC: pla ; CPU:$EEBC PRG:2EBC 68 rts ; CPU:$EEBD PRG:2EBD 60 ; ----------------------------------------------------------------------------- ; Routine: SubCEEBE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEEBE: ldx ZpBE ; CPU:$EEBE PRG:2EBE A6 BE ldy $EE3B,x ; CPU:$EEC0 PRG:2EC0 BC 3B EE ldx ZpBC ; CPU:$EEC3 PRG:2EC3 A6 BC lda $EE3B,x ; CPU:$EEC5 PRG:2EC5 BD 3B EE tax ; CPU:$EEC8 PRG:2EC8 AA lda #$05 ; CPU:$EEC9 PRG:2EC9 A9 05 sta ZpEB ; CPU:$EECB PRG:2ECB 85 EB ; ----------------------------------------------------------------------------- ; Routine: SubCEECD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEECD: lda $0100,y ; CPU:$EECD PRG:2ECD B9 00 01 sta $010E,x ; CPU:$EED0 PRG:2ED0 9D 0E 01 inx ; CPU:$EED3 PRG:2ED3 E8 iny ; CPU:$EED4 PRG:2ED4 C8 dec ZpEB ; CPU:$EED5 PRG:2ED5 C6 EB bne SubCEECD ; CPU:$EED7 PRG:2ED7 D0 F4 pla ; CPU:$EED9 PRG:2ED9 68 rts ; CPU:$EEDA PRG:2EDA 60 ; ---- data $EEDB-$EF27 (77 bytes) ---- ; referenced by `ldy $EEDB,x` at $EE50 (operand $EEDB falls inside this region) ; referenced by `adc $EEDD,x` at $EE5E (operand $EEDD falls inside this region) .byte $04, $09, $00, $00, $00, $00, $01, $00, $00, $07, $07, $07, $00, $00, $00, $01 ; CPU:$EEDB PRG:2EDB 04 09 00 00 00 00 01 00 00 07 07 07 00 00 00 01 .byte $00, $00, $00, $00, $02, $00, $00, $00, $00, $03, $00, $00, $00, $00, $04, $00 ; CPU:$EEEB PRG:2EEB 00 00 00 00 02 00 00 00 00 03 00 00 00 00 04 00 .byte $00, $00, $00, $05, $00, $00, $00, $00, $06, $00, $00, $00, $00, $07, $00, $00 ; CPU:$EEFB PRG:2EFB 00 00 00 05 00 00 00 00 06 00 00 00 00 07 00 00 .byte $00, $00, $08, $00, $00, $00, $00, $09, $00, $00, $00, $01, $00, $00, $00, $00 ; CPU:$EF0B PRG:2F0B 00 00 08 00 00 00 00 09 00 00 00 01 00 00 00 00 .byte $03, $03, $03, $00, $00, $05, $00, $00, $00, $00, $00, $00, $00 ; CPU:$EF1B PRG:2F1B 03 03 03 00 00 05 00 00 00 00 00 00 00 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel17 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel17: ldx ZpBF ; CPU:$EF28 PRG:2F28 A6 BF beq SubCEF60 ; CPU:$EF2A PRG:2F2A F0 34 dex ; CPU:$EF2C PRG:2F2C CA beq SubCEF34 ; CPU:$EF2D PRG:2F2D F0 05 ; ----------------------------------------------------------------------------- ; Routine: SubCEF2F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEF2F: lda #$00 ; CPU:$EF2F PRG:2F2F A9 00 sta ZpD3 ; CPU:$EF31 PRG:2F31 85 D3 rts ; CPU:$EF33 PRG:2F33 60 ; ----------------------------------------------------------------------------- ; Routine: SubCEF34 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEF34: lda ZpD3 ; CPU:$EF34 PRG:2F34 A5 D3 beq SubCEF2F ; CPU:$EF36 PRG:2F36 F0 F7 ldx #$08 ; CPU:$EF38 PRG:2F38 A2 08 stx ZpFF ; CPU:$EF3A PRG:2F3A 86 FF ora $0128 ; CPU:$EF3C PRG:2F3C 0D 28 01 cmp $0128 ; CPU:$EF3F PRG:2F3F CD 28 01 beq SubCEF2F ; CPU:$EF42 PRG:2F42 F0 EB sta $0128 ; CPU:$EF44 PRG:2F44 8D 28 01 ldx #$00 ; CPU:$EF47 PRG:2F47 A2 00 ; ----------------------------------------------------------------------------- ; Routine: SubCEF49 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEF49: asl ZpD3 ; CPU:$EF49 PRG:2F49 06 D3 bcs SubCEF50 ; CPU:$EF4B PRG:2F4B B0 03 inx ; CPU:$EF4D PRG:2F4D E8 bne SubCEF49 ; CPU:$EF4E PRG:2F4E D0 F9 ; ----------------------------------------------------------------------------- ; Routine: SubCEF50 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEF50: jsr UpdateMusicChannel18 ; CPU:$EF50 PRG:2F50 20 79 EF lda $0128 ; CPU:$EF53 PRG:2F53 AD 28 01 cmp #$F8 ; CPU:$EF56 PRG:2F56 C9 F8 bne SubCEF5F ; CPU:$EF58 PRG:2F58 D0 05 inc ZpF0 ; CPU:$EF5A PRG:2F5A E6 F0 inc $0133 ; CPU:$EF5C PRG:2F5C EE 33 01 ; ----------------------------------------------------------------------------- ; Routine: SubCEF5F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEF5F: rts ; CPU:$EF5F PRG:2F5F 60 ; ----------------------------------------------------------------------------- ; Routine: SubCEF60 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEF60: lda ZpD3 ; CPU:$EF60 PRG:2F60 A5 D3 beq SubCEF5F ; CPU:$EF62 PRG:2F62 F0 FB lda #$00 ; CPU:$EF64 PRG:2F64 A9 00 sta ZpD3 ; CPU:$EF66 PRG:2F66 85 D3 lda #$08 ; CPU:$EF68 PRG:2F68 A9 08 sta ZpFF ; CPU:$EF6A PRG:2F6A 85 FF ldx $0130 ; CPU:$EF6C PRG:2F6C AE 30 01 cpx #$F0 ; CPU:$EF6F PRG:2F6F E0 F0 bne SubCEF5F ; CPU:$EF71 PRG:2F71 D0 EC sta $0130 ; CPU:$EF73 PRG:2F73 8D 30 01 jmp UpdateMusicChannel21 ; CPU:$EF76 PRG:2F76 4C 3F F0 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel18 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel18: lda #$20 ; CPU:$EF79 PRG:2F79 A9 20 sta PPUADDR ; CPU:$EF7B PRG:2F7B 8D 06 20 lda $EFBA,x ; CPU:$EF7E PRG:2F7E BD BA EF sta PPUADDR ; CPU:$EF81 PRG:2F81 8D 06 20 lda $EFC9,x ; CPU:$EF84 PRG:2F84 BD C9 EF sta PPUDATA ; CPU:$EF87 PRG:2F87 8D 07 20 lda #$A7 ; CPU:$EF8A PRG:2F8A A9 A7 sta PPUDATA ; CPU:$EF8C PRG:2F8C 8D 07 20 lda #$20 ; CPU:$EF8F PRG:2F8F A9 20 sta PPUADDR ; CPU:$EF91 PRG:2F91 8D 06 20 lda $EFBF,x ; CPU:$EF94 PRG:2F94 BD BF EF sta PPUADDR ; CPU:$EF97 PRG:2F97 8D 06 20 ldy #$AC ; CPU:$EF9A PRG:2F9A A0 AC sty PPUDATA ; CPU:$EF9C PRG:2F9C 8C 07 20 iny ; CPU:$EF9F PRG:2F9F C8 sty PPUDATA ; CPU:$EFA0 PRG:2FA0 8C 07 20 lda #$20 ; CPU:$EFA3 PRG:2FA3 A9 20 sta PPUADDR ; CPU:$EFA5 PRG:2FA5 8D 06 20 lda $EFC4,x ; CPU:$EFA8 PRG:2FA8 BD C4 EF sta PPUADDR ; CPU:$EFAB PRG:2FAB 8D 06 20 lda #$B0 ; CPU:$EFAE PRG:2FAE A9 B0 sta PPUDATA ; CPU:$EFB0 PRG:2FB0 8D 07 20 lda $EFCE,x ; CPU:$EFB3 PRG:2FB3 BD CE EF sta PPUDATA ; CPU:$EFB6 PRG:2FB6 8D 07 20 rts ; CPU:$EFB9 PRG:2FB9 60 ; ---- data $EFBA-$EFD2 (25 bytes) ---- ; referenced by `lda $EFBA,x` at $EF7E (operand $EFBA falls inside this region) ; referenced by `lda $EFC9,x` at $EF84 (operand $EFC9 falls inside this region) ; referenced by `lda $EFBF,x` at $EF94 (operand $EFBF falls inside this region) ; referenced by `lda $EFC4,x` at $EFA8 (operand $EFC4 falls inside this region) ; referenced by `lda $EFCE,x` at $EFB3 (operand $EFCE falls inside this region) .byte $6D, $6F, $71, $73, $75, $8D, $8F, $91, $93, $95, $AD, $AF, $B1, $B3, $B5, $A6 ; CPU:$EFBA PRG:2FBA 6D 6F 71 73 75 8D 8F 91 93 95 AD AF B1 B3 B5 A6 .byte $A8, $A9, $AA, $AB, $B1, $B2, $B3, $B4, $B5 ; CPU:$EFCA PRG:2FCA A8 A9 AA AB B1 B2 B3 B4 B5 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel19 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel19: lda ZpCE ; CPU:$EFD3 PRG:2FD3 A5 CE bne SubCEFD8 ; CPU:$EFD5 PRG:2FD5 D0 01 rts ; CPU:$EFD7 PRG:2FD7 60 ; ----------------------------------------------------------------------------- ; Routine: SubCEFD8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEFD8: lda #$04 ; CPU:$EFD8 PRG:2FD8 A9 04 sta ZpFF ; CPU:$EFDA PRG:2FDA 85 FF ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel20 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel20: ldx ZpBF ; CPU:$EFDC PRG:2FDC A6 BF lda $0130,x ; CPU:$EFDE PRG:2FDE BD 30 01 ora ZpCE ; CPU:$EFE1 PRG:2FE1 05 CE sta $0130,x ; CPU:$EFE3 PRG:2FE3 9D 30 01 sta ZpE8 ; CPU:$EFE6 PRG:2FE6 85 E8 txa ; CPU:$EFE8 PRG:2FE8 8A bne SubCF013 ; CPU:$EFE9 PRG:2FE9 D0 28 lda Zp00 ; CPU:$EFEB PRG:2FEB A5 00 ora #$04 ; CPU:$EFED PRG:2FED 09 04 sta PPUCTRL ; CPU:$EFEF PRG:2FEF 8D 00 20 ldx #$22 ; CPU:$EFF2 PRG:2FF2 A2 22 lda #$0B ; CPU:$EFF4 PRG:2FF4 A9 0B jsr WritePPU ; CPU:$EFF6 PRG:2FF6 20 EF E0 ldx #$04 ; CPU:$EFF9 PRG:2FF9 A2 04 ; ----------------------------------------------------------------------------- ; Routine: SubCEFFB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCEFFB: lda #$24 ; CPU:$EFFB PRG:2FFB A9 24 asl ZpE8 ; CPU:$EFFD PRG:2FFD 06 E8 bcs SubCF003 ; CPU:$EFFF PRG:2FFF B0 02 lda #$8B ; CPU:$F001 PRG:3001 A9 8B ; ----------------------------------------------------------------------------- ; Routine: SubCF003 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF003: sta PPUDATA ; CPU:$F003 PRG:3003 8D 07 20 dex ; CPU:$F006 PRG:3006 CA bne SubCEFFB ; CPU:$F007 PRG:3007 D0 F2 lda #$00 ; CPU:$F009 PRG:3009 A9 00 sta ZpCE ; CPU:$F00B PRG:300B 85 CE lda Zp00 ; CPU:$F00D PRG:300D A5 00 sta PPUCTRL ; CPU:$F00F PRG:300F 8D 00 20 rts ; CPU:$F012 PRG:3012 60 ; ----------------------------------------------------------------------------- ; Routine: SubCF013 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF013: ldx #$00 ; CPU:$F013 PRG:3013 A2 00 ; ----------------------------------------------------------------------------- ; Routine: SubCF015 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF015: asl ZpE8 ; CPU:$F015 PRG:3015 06 E8 bcc SubCF021 ; CPU:$F017 PRG:3017 90 08 lda #$F0 ; CPU:$F019 PRG:3019 A9 F0 sta $0290,x ; CPU:$F01B PRG:301B 9D 90 02 sta $02AC,x ; CPU:$F01E PRG:301E 9D AC 02 ; ----------------------------------------------------------------------------- ; Routine: SubCF021 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF021: inx ; CPU:$F021 PRG:3021 E8 inx ; CPU:$F022 PRG:3022 E8 inx ; CPU:$F023 PRG:3023 E8 inx ; CPU:$F024 PRG:3024 E8 cpx #$1C ; CPU:$F025 PRG:3025 E0 1C bne SubCF015 ; CPU:$F027 PRG:3027 D0 EC lda ZpCE ; CPU:$F029 PRG:3029 A5 CE beq SubCF03A ; CPU:$F02B PRG:302B F0 0D lda $0131 ; CPU:$F02D PRG:302D AD 31 01 cmp #$FE ; CPU:$F030 PRG:3030 C9 FE bne SubCF03A ; CPU:$F032 PRG:3032 D0 06 inc $012C ; CPU:$F034 PRG:3034 EE 2C 01 inc $012B ; CPU:$F037 PRG:3037 EE 2B 01 ; ----------------------------------------------------------------------------- ; Routine: SubCF03A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF03A: lda #$00 ; CPU:$F03A PRG:303A A9 00 sta ZpCE ; CPU:$F03C PRG:303C 85 CE rts ; CPU:$F03E PRG:303E 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel21 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel21: ldx ZpBF ; CPU:$F03F PRG:303F A6 BF cpx #$02 ; CPU:$F041 PRG:3041 E0 02 beq SubCF03A ; CPU:$F043 PRG:3043 F0 F5 lda $E2C4,x ; CPU:$F045 PRG:3045 BD C4 E2 sta ZpDB ; CPU:$F048 PRG:3048 85 DB lda $E2C6,x ; CPU:$F04A PRG:304A BD C6 E2 sta ZpDC ; CPU:$F04D PRG:304D 85 DC lda $0130,x ; CPU:$F04F PRG:304F BD 30 01 sta ZpE3 ; CPU:$F052 PRG:3052 85 E3 lda $E2C8,x ; CPU:$F054 PRG:3054 BD C8 E2 tax ; CPU:$F057 PRG:3057 AA ldy #$00 ; CPU:$F058 PRG:3058 A0 00 ; ----------------------------------------------------------------------------- ; Routine: SubCF05A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF05A: lda #$24 ; CPU:$F05A PRG:305A A9 24 asl ZpE3 ; CPU:$F05C PRG:305C 06 E3 bcs SubCF062 ; CPU:$F05E PRG:305E B0 02 lda #$8B ; CPU:$F060 PRG:3060 A9 8B ; ----------------------------------------------------------------------------- ; Routine: SubCF062 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF062: sta (ZpDB),y ; CPU:$F062 PRG:3062 91 DB tya ; CPU:$F064 PRG:3064 98 clc ; CPU:$F065 PRG:3065 18 adc #$20 ; CPU:$F066 PRG:3066 69 20 tay ; CPU:$F068 PRG:3068 A8 dex ; CPU:$F069 PRG:3069 CA bne SubCF05A ; CPU:$F06A PRG:306A D0 EE jmp UpdateMusicChannel20 ; CPU:$F06C PRG:306C 4C DC EF ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel22 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel22: lda Zp05 ; CPU:$F06F PRG:306F A5 05 and #$03 ; CPU:$F071 PRG:3071 29 03 beq SubCF076 ; CPU:$F073 PRG:3073 F0 01 rts ; CPU:$F075 PRG:3075 60 ; ----------------------------------------------------------------------------- ; Routine: SubCF076 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF076: lda $02FD ; CPU:$F076 PRG:3076 AD FD 02 cmp #$CF ; CPU:$F079 PRG:3079 C9 CF bne SubCF08D ; CPU:$F07B PRG:307B D0 10 lda #$F0 ; CPU:$F07D PRG:307D A9 F0 sta $02FC ; CPU:$F07F PRG:307F 8D FC 02 sta $02FD ; CPU:$F082 PRG:3082 8D FD 02 lda $0154 ; CPU:$F085 PRG:3085 AD 54 01 sta $0155 ; CPU:$F088 PRG:3088 8D 55 01 bne SubCF0A0 ; CPU:$F08B PRG:308B D0 13 ; ----------------------------------------------------------------------------- ; Routine: SubCF08D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF08D: lda $02FC ; CPU:$F08D PRG:308D AD FC 02 cmp #$F0 ; CPU:$F090 PRG:3090 C9 F0 bne SubCF0A0 ; CPU:$F092 PRG:3092 D0 0C ldx #$03 ; CPU:$F094 PRG:3094 A2 03 ; ----------------------------------------------------------------------------- ; Routine: SubCF096 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF096: lda $C7BC,x ; CPU:$F096 PRG:3096 BD BC C7 sta $02FC,x ; CPU:$F099 PRG:3099 9D FC 02 dex ; CPU:$F09C PRG:309C CA bpl SubCF096 ; CPU:$F09D PRG:309D 10 F7 rts ; CPU:$F09F PRG:309F 60 ; ----------------------------------------------------------------------------- ; Routine: SubCF0A0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF0A0: lda ZpCF ; CPU:$F0A0 PRG:30A0 A5 CF bmi SubCF0A5 ; CPU:$F0A2 PRG:30A2 30 01 rts ; CPU:$F0A4 PRG:30A4 60 ; ----------------------------------------------------------------------------- ; Routine: SubCF0A5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF0A5: and #$7F ; CPU:$F0A5 PRG:30A5 29 7F tay ; CPU:$F0A7 PRG:30A7 A8 lda #$02 ; CPU:$F0A8 PRG:30A8 A9 02 sta ZpFF ; CPU:$F0AA PRG:30AA 85 FF iny ; CPU:$F0AC PRG:30AC C8 cpy #$0A ; CPU:$F0AD PRG:30AD C0 0A bne SubCF0B2 ; CPU:$F0AF PRG:30AF D0 01 dey ; CPU:$F0B1 PRG:30B1 88 ; ----------------------------------------------------------------------------- ; Routine: SubCF0B2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF0B2: sty ZpCF ; CPU:$F0B2 PRG:30B2 84 CF ldx #$03 ; CPU:$F0B4 PRG:30B4 A2 03 ; ----------------------------------------------------------------------------- ; Routine: SubCF0B6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF0B6: lda $F0DB,x ; CPU:$F0B6 PRG:30B6 BD DB F0 sta $02FC,x ; CPU:$F0B9 PRG:30B9 9D FC 02 dex ; CPU:$F0BC PRG:30BC CA bpl SubCF0B6 ; CPU:$F0BD PRG:30BD 10 F7 lda #$30 ; CPU:$F0BF PRG:30BF A9 30 sta $0155 ; CPU:$F0C1 PRG:30C1 8D 55 01 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel23 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel23: cpy #$09 ; CPU:$F0C4 PRG:30C4 C0 09 beq SubCF0D0 ; CPU:$F0C6 PRG:30C6 F0 08 tya ; CPU:$F0C8 PRG:30C8 98 clc ; CPU:$F0C9 PRG:30C9 18 adc #$F1 ; CPU:$F0CA PRG:30CA 69 F1 ldy #$F0 ; CPU:$F0CC PRG:30CC A0 F0 bne SubCF0D4 ; CPU:$F0CE PRG:30CE D0 04 ; ----------------------------------------------------------------------------- ; Routine: SubCF0D0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF0D0: lda #$FA ; CPU:$F0D0 PRG:30D0 A9 FA ldy #$FB ; CPU:$F0D2 PRG:30D2 A0 FB ; ----------------------------------------------------------------------------- ; Routine: SubCF0D4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF0D4: sta $02C5 ; CPU:$F0D4 PRG:30D4 8D C5 02 sty $02C9 ; CPU:$F0D7 PRG:30D7 8C C9 02 rts ; CPU:$F0DA PRG:30DA 60 ; ---- data $F0DB-$F0DE (4 bytes) ---- ; referenced by `lda $F0DB,x` at $F0B6 (operand $F0DB falls inside this region) .byte $4C, $CF, $00, $6C ; CPU:$F0DB PRG:30DB 4C CF 00 6C ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel24 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel24: lda ZpD0 ; CPU:$F0DF PRG:30DF A5 D0 bpl SubCF10F ; CPU:$F0E1 PRG:30E1 10 2C lda #$04 ; CPU:$F0E3 PRG:30E3 A9 04 sta ZpFF ; CPU:$F0E5 PRG:30E5 85 FF ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel25 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel25: lda ZpD0 ; CPU:$F0E7 PRG:30E7 A5 D0 and #$7F ; CPU:$F0E9 PRG:30E9 29 7F sta ZpD0 ; CPU:$F0EB PRG:30EB 85 D0 bne SubCF0FD ; CPU:$F0ED PRG:30ED D0 0E ldx #$14 ; CPU:$F0EF PRG:30EF A2 14 stx $0132 ; CPU:$F0F1 PRG:30F1 8E 32 01 ldy #$00 ; CPU:$F0F4 PRG:30F4 A0 00 sty ZpCF ; CPU:$F0F6 PRG:30F6 84 CF jsr UpdateMusicChannel23 ; CPU:$F0F8 PRG:30F8 20 C4 F0 lda #$00 ; CPU:$F0FB PRG:30FB A9 00 ; ----------------------------------------------------------------------------- ; Routine: SubCF0FD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF0FD: cmp #$08 ; CPU:$F0FD PRG:30FD C9 08 beq SubCF10E ; CPU:$F0FF PRG:30FF F0 0D asl a ; CPU:$F101 PRG:3101 0A asl a ; CPU:$F102 PRG:3102 0A tay ; CPU:$F103 PRG:3103 A8 lda #$F0 ; CPU:$F104 PRG:3104 A9 F0 ; ----------------------------------------------------------------------------- ; Routine: SubCF106 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF106: sta $0264,y ; CPU:$F106 PRG:3106 99 64 02 iny ; CPU:$F109 PRG:3109 C8 cpy #$20 ; CPU:$F10A PRG:310A C0 20 bne SubCF106 ; CPU:$F10C PRG:310C D0 F8 ; ----------------------------------------------------------------------------- ; Routine: SubCF10E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF10E: rts ; CPU:$F10E PRG:310E 60 ; ----------------------------------------------------------------------------- ; Routine: SubCF10F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF10F: lda $0132 ; CPU:$F10F PRG:310F AD 32 01 beq SubCF10E ; CPU:$F112 PRG:3112 F0 FA lda Zp05 ; CPU:$F114 PRG:3114 A5 05 and #$0F ; CPU:$F116 PRG:3116 29 0F bne SubCF10E ; CPU:$F118 PRG:3118 D0 F4 lda #$FF ; CPU:$F11A PRG:311A A9 FF sta ZpCA ; CPU:$F11C PRG:311C 85 CA lda #$0A ; CPU:$F11E PRG:311E A9 0A jsr UpdateMusicChannel15 ; CPU:$F120 PRG:3120 20 3D EE dec $0132 ; CPU:$F123 PRG:3123 CE 32 01 bne SubCF10E ; CPU:$F126 PRG:3126 D0 E6 lda #$08 ; CPU:$F128 PRG:3128 A9 08 sta ZpD0 ; CPU:$F12A PRG:312A 85 D0 ldx #$1F ; CPU:$F12C PRG:312C A2 1F ; ----------------------------------------------------------------------------- ; Routine: SubCF12E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF12E: lda $C724,x ; CPU:$F12E PRG:312E BD 24 C7 sta $0264,x ; CPU:$F131 PRG:3131 9D 64 02 dex ; CPU:$F134 PRG:3134 CA bpl SubCF12E ; CPU:$F135 PRG:3135 10 F7 rts ; CPU:$F137 PRG:3137 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel26 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel26: lda #$00 ; CPU:$F138 PRG:3138 A9 00 sta ZpE4 ; CPU:$F13A PRG:313A 85 E4 ldx #$02 ; CPU:$F13C PRG:313C A2 02 ldy #$00 ; CPU:$F13E PRG:313E A0 00 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel27 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel27: asl ZpD4 ; CPU:$F140 PRG:3140 06 D4 bcc SubCF15C ; CPU:$F142 PRG:3142 90 18 lda $012D,x ; CPU:$F144 PRG:3144 BD 2D 01 bpl SubCF150 ; CPU:$F147 PRG:3147 10 07 lda #$00 ; CPU:$F149 PRG:3149 A9 00 sta $012D,x ; CPU:$F14B PRG:314B 9D 2D 01 beq SubCF15C ; CPU:$F14E PRG:314E F0 0C ; ----------------------------------------------------------------------------- ; Routine: SubCF150 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF150: bne SubCF157 ; CPU:$F150 PRG:3150 D0 05 inc $012D,x ; CPU:$F152 PRG:3152 FE 2D 01 bne SubCF15C ; CPU:$F155 PRG:3155 D0 05 ; ----------------------------------------------------------------------------- ; Routine: SubCF157 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF157: lda #$FF ; CPU:$F157 PRG:3157 A9 FF sta $012D,x ; CPU:$F159 PRG:3159 9D 2D 01 ; ----------------------------------------------------------------------------- ; Routine: SubCF15C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF15C: lda $012D,x ; CPU:$F15C PRG:315C BD 2D 01 bpl SubCF16B ; CPU:$F15F PRG:315F 10 0A lda #$B9 ; CPU:$F161 PRG:3161 A9 B9 sta $0265,y ; CPU:$F163 PRG:3163 99 65 02 sta $0269,y ; CPU:$F166 PRG:3166 99 69 02 bne SubCF1C0 ; CPU:$F169 PRG:3169 D0 55 ; ----------------------------------------------------------------------------- ; Routine: SubCF16B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF16B: bne SubCF181 ; CPU:$F16B PRG:316B D0 14 lda #$AF ; CPU:$F16D PRG:316D A9 AF sta $0265,y ; CPU:$F16F PRG:316F 99 65 02 lda #$5C ; CPU:$F172 PRG:3172 A9 5C sta $0269,y ; CPU:$F174 PRG:3174 99 69 02 lda #$00 ; CPU:$F177 PRG:3177 A9 00 sta $0266,y ; CPU:$F179 PRG:3179 99 66 02 sta $026A,y ; CPU:$F17C PRG:317C 99 6A 02 beq SubCF1C0 ; CPU:$F17F PRG:317F F0 3F ; ----------------------------------------------------------------------------- ; Routine: SubCF181 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF181: cmp #$06 ; CPU:$F181 PRG:3181 C9 06 beq SubCF1A1 ; CPU:$F183 PRG:3183 F0 1C inc $012D,x ; CPU:$F185 PRG:3185 FE 2D 01 lda #$9B ; CPU:$F188 PRG:3188 A9 9B sta $0265,y ; CPU:$F18A PRG:318A 99 65 02 lda #$5D ; CPU:$F18D PRG:318D A9 5D sta $0269,y ; CPU:$F18F PRG:318F 99 69 02 lda $012D,x ; CPU:$F192 PRG:3192 BD 2D 01 cmp #$06 ; CPU:$F195 PRG:3195 C9 06 bne SubCF1C0 ; CPU:$F197 PRG:3197 D0 27 lda #$04 ; CPU:$F199 PRG:3199 A9 04 sta ZpFE ; CPU:$F19B PRG:319B 85 FE inc ZpE4 ; CPU:$F19D PRG:319D E6 E4 bne SubCF1C0 ; CPU:$F19F PRG:319F D0 1F ; ----------------------------------------------------------------------------- ; Routine: SubCF1A1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF1A1: stx ZpE3 ; CPU:$F1A1 PRG:31A1 86 E3 ldx #$99 ; CPU:$F1A3 PRG:31A3 A2 99 lda Zp05 ; CPU:$F1A5 PRG:31A5 A5 05 and #$10 ; CPU:$F1A7 PRG:31A7 29 10 bne SubCF1AD ; CPU:$F1A9 PRG:31A9 D0 02 ldx #$86 ; CPU:$F1AB PRG:31AB A2 86 ; ----------------------------------------------------------------------------- ; Routine: SubCF1AD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF1AD: txa ; CPU:$F1AD PRG:31AD 8A sta $0265,y ; CPU:$F1AE PRG:31AE 99 65 02 inx ; CPU:$F1B1 PRG:31B1 E8 txa ; CPU:$F1B2 PRG:31B2 8A sta $0269,y ; CPU:$F1B3 PRG:31B3 99 69 02 lda #$02 ; CPU:$F1B6 PRG:31B6 A9 02 sta $0266,y ; CPU:$F1B8 PRG:31B8 99 66 02 sta $026A,y ; CPU:$F1BB PRG:31BB 99 6A 02 ldx ZpE3 ; CPU:$F1BE PRG:31BE A6 E3 ; ----------------------------------------------------------------------------- ; Routine: SubCF1C0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF1C0: tya ; CPU:$F1C0 PRG:31C0 98 clc ; CPU:$F1C1 PRG:31C1 18 adc #$08 ; CPU:$F1C2 PRG:31C2 69 08 tay ; CPU:$F1C4 PRG:31C4 A8 dex ; CPU:$F1C5 PRG:31C5 CA bmi SubCF1CB ; CPU:$F1C6 PRG:31C6 30 03 jmp UpdateMusicChannel27 ; CPU:$F1C8 PRG:31C8 4C 40 F1 ; ----------------------------------------------------------------------------- ; Routine: SubCF1CB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF1CB: lda ZpE4 ; CPU:$F1CB PRG:31CB A5 E4 beq SubCF1E5 ; CPU:$F1CD PRG:31CD F0 16 ldx #$02 ; CPU:$F1CF PRG:31CF A2 02 ; ----------------------------------------------------------------------------- ; Routine: SubCF1D1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF1D1: lda $012D,x ; CPU:$F1D1 PRG:31D1 BD 2D 01 cmp #$06 ; CPU:$F1D4 PRG:31D4 C9 06 bne SubCF1E5 ; CPU:$F1D6 PRG:31D6 D0 0D dex ; CPU:$F1D8 PRG:31D8 CA bpl SubCF1D1 ; CPU:$F1D9 PRG:31D9 10 F6 lda #$01 ; CPU:$F1DB PRG:31DB A9 01 sta ZpFF ; CPU:$F1DD PRG:31DD 85 FF sta $0129 ; CPU:$F1DF PRG:31DF 8D 29 01 sta $012A ; CPU:$F1E2 PRG:31E2 8D 2A 01 ; ----------------------------------------------------------------------------- ; Routine: SubCF1E5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF1E5: lda ZpD6 ; CPU:$F1E5 PRG:31E5 A5 D6 beq SubCF1F0 ; CPU:$F1E7 PRG:31E7 F0 07 lda #$00 ; CPU:$F1E9 PRG:31E9 A9 00 sta $0129 ; CPU:$F1EB PRG:31EB 8D 29 01 sta ZpD6 ; CPU:$F1EE PRG:31EE 85 D6 ; ----------------------------------------------------------------------------- ; Routine: SubCF1F0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF1F0: lda ZpD7 ; CPU:$F1F0 PRG:31F0 A5 D7 beq UpdateMusicChannel28 ; CPU:$F1F2 PRG:31F2 F0 07 lda #$00 ; CPU:$F1F4 PRG:31F4 A9 00 sta $012A ; CPU:$F1F6 PRG:31F6 8D 2A 01 sta ZpD7 ; CPU:$F1F9 PRG:31F9 85 D7 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel28 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel28: ldx $0129 ; CPU:$F1FB PRG:31FB AE 29 01 lda $F220,x ; CPU:$F1FE PRG:31FE BD 20 F2 sta $06A9 ; CPU:$F201 PRG:3201 8D A9 06 lda $F222,x ; CPU:$F204 PRG:3204 BD 22 F2 sta $02E0 ; CPU:$F207 PRG:3207 8D E0 02 sta $02E4 ; CPU:$F20A PRG:320A 8D E4 02 ldx $012A ; CPU:$F20D PRG:320D AE 2A 01 lda $F224,x ; CPU:$F210 PRG:3210 BD 24 F2 sta $06BA ; CPU:$F213 PRG:3213 8D BA 06 lda $F222,x ; CPU:$F216 PRG:3216 BD 22 F2 sta $02E8 ; CPU:$F219 PRG:3219 8D E8 02 sta $02EC ; CPU:$F21C PRG:321C 8D EC 02 rts ; CPU:$F21F PRG:321F 60 ; ---- data $F220-$F225 (6 bytes) ---- ; referenced by `lda $F220,x` at $F1FE (operand $F220 falls inside this region) ; referenced by `lda $F222,x` at $F204 (operand $F222 falls inside this region) ; referenced by `lda $F224,x` at $F210 (operand $F224 falls inside this region) ; referenced by `lda $F222,x` at $F216 (operand $F222 falls inside this region) .byte $54, $A6, $F0, $A5, $58, $A6 ; CPU:$F220 PRG:3220 54 A6 F0 A5 58 A6 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel29 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel29: ldx #$02 ; CPU:$F226 PRG:3226 A2 02 lda #$01 ; CPU:$F228 PRG:3228 A9 01 sta ZpDC ; CPU:$F22A PRG:322A 85 DC ; ----------------------------------------------------------------------------- ; Routine: SubCF22C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF22C: ldy #$00 ; CPU:$F22C PRG:322C A0 00 lda ZpD8,x ; CPU:$F22E PRG:322E B5 D8 sta ZpE3 ; CPU:$F230 PRG:3230 85 E3 ; ----------------------------------------------------------------------------- ; Routine: SubCF232 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF232: lda $F2E7,x ; CPU:$F232 PRG:3232 BD E7 F2 sta ZpDB ; CPU:$F235 PRG:3235 85 DB asl ZpD8,x ; CPU:$F237 PRG:3237 16 D8 bcc SubCF259 ; CPU:$F239 PRG:3239 90 1E lda #$04 ; CPU:$F23B PRG:323B A9 04 sta ZpFF ; CPU:$F23D PRG:323D 85 FF tya ; CPU:$F23F PRG:323F 98 pha ; CPU:$F240 PRG:3240 48 txa ; CPU:$F241 PRG:3241 8A pha ; CPU:$F242 PRG:3242 48 lda #$00 ; CPU:$F243 PRG:3243 A9 00 jsr UpdateMusicChannel15 ; CPU:$F245 PRG:3245 20 3D EE pla ; CPU:$F248 PRG:3248 68 tax ; CPU:$F249 PRG:3249 AA pla ; CPU:$F24A PRG:324A 68 tay ; CPU:$F24B PRG:324B A8 lda (ZpDB),y ; CPU:$F24C PRG:324C B1 DB clc ; CPU:$F24E PRG:324E 18 adc #$01 ; CPU:$F24F PRG:324F 69 01 cmp #$03 ; CPU:$F251 PRG:3251 C9 03 bne SubCF257 ; CPU:$F253 PRG:3253 D0 02 lda #$00 ; CPU:$F255 PRG:3255 A9 00 ; ----------------------------------------------------------------------------- ; Routine: SubCF257 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF257: sta (ZpDB),y ; CPU:$F257 PRG:3257 91 DB ; ----------------------------------------------------------------------------- ; Routine: SubCF259 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF259: iny ; CPU:$F259 PRG:3259 C8 cpy #$04 ; CPU:$F25A PRG:325A C0 04 bne SubCF232 ; CPU:$F25C PRG:325C D0 D4 lda ZpE3 ; CPU:$F25E PRG:325E A5 E3 beq SubCF271 ; CPU:$F260 PRG:3260 F0 0F ldy #$03 ; CPU:$F262 PRG:3262 A0 03 lda (ZpDB),y ; CPU:$F264 PRG:3264 B1 DB dey ; CPU:$F266 PRG:3266 88 ; ----------------------------------------------------------------------------- ; Routine: SubCF267 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF267: cmp (ZpDB),y ; CPU:$F267 PRG:3267 D1 DB bne SubCF271 ; CPU:$F269 PRG:3269 D0 06 dey ; CPU:$F26B PRG:326B 88 bpl SubCF267 ; CPU:$F26C PRG:326C 10 F9 inc $011F,x ; CPU:$F26E PRG:326E FE 1F 01 ; ----------------------------------------------------------------------------- ; Routine: SubCF271 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF271: dex ; CPU:$F271 PRG:3271 CA bpl SubCF22C ; CPU:$F272 PRG:3272 10 B8 lda $013A ; CPU:$F274 PRG:3274 AD 3A 01 asl a ; CPU:$F277 PRG:3277 0A asl a ; CPU:$F278 PRG:3278 0A ora $0136 ; CPU:$F279 PRG:3279 0D 36 01 asl a ; CPU:$F27C PRG:327C 0A asl a ; CPU:$F27D PRG:327D 0A asl a ; CPU:$F27E PRG:327E 0A asl a ; CPU:$F27F PRG:327F 0A sta $0142 ; CPU:$F280 PRG:3280 8D 42 01 lda $013E ; CPU:$F283 PRG:3283 AD 3E 01 asl a ; CPU:$F286 PRG:3286 0A asl a ; CPU:$F287 PRG:3287 0A asl a ; CPU:$F288 PRG:3288 0A asl a ; CPU:$F289 PRG:3289 0A sta $0143 ; CPU:$F28A PRG:328A 8D 43 01 lda $013C ; CPU:$F28D PRG:328D AD 3C 01 asl a ; CPU:$F290 PRG:3290 0A asl a ; CPU:$F291 PRG:3291 0A ora $0138 ; CPU:$F292 PRG:3292 0D 38 01 asl a ; CPU:$F295 PRG:3295 0A asl a ; CPU:$F296 PRG:3296 0A ora $013B ; CPU:$F297 PRG:3297 0D 3B 01 asl a ; CPU:$F29A PRG:329A 0A asl a ; CPU:$F29B PRG:329B 0A ora $0137 ; CPU:$F29C PRG:329C 0D 37 01 sta $0144 ; CPU:$F29F PRG:329F 8D 44 01 lda $0140 ; CPU:$F2A2 PRG:32A2 AD 40 01 asl a ; CPU:$F2A5 PRG:32A5 0A asl a ; CPU:$F2A6 PRG:32A6 0A asl a ; CPU:$F2A7 PRG:32A7 0A asl a ; CPU:$F2A8 PRG:32A8 0A ora $013F ; CPU:$F2A9 PRG:32A9 0D 3F 01 ora #$44 ; CPU:$F2AC PRG:32AC 09 44 sta $0145 ; CPU:$F2AE PRG:32AE 8D 45 01 lda $013D ; CPU:$F2B1 PRG:32B1 AD 3D 01 asl a ; CPU:$F2B4 PRG:32B4 0A asl a ; CPU:$F2B5 PRG:32B5 0A ora $0139 ; CPU:$F2B6 PRG:32B6 0D 39 01 sta $0146 ; CPU:$F2B9 PRG:32B9 8D 46 01 lda $0141 ; CPU:$F2BC PRG:32BC AD 41 01 sta $0147 ; CPU:$F2BF PRG:32BF 8D 47 01 ldx #$02 ; CPU:$F2C2 PRG:32C2 A2 02 ; ----------------------------------------------------------------------------- ; Routine: SubCF2C4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF2C4: lda $011F,x ; CPU:$F2C4 PRG:32C4 BD 1F 01 beq SubCF2E3 ; CPU:$F2C7 PRG:32C7 F0 1A ldy $F2EA,x ; CPU:$F2C9 PRG:32C9 BC EA F2 clc ; CPU:$F2CC PRG:32CC 18 adc #$36 ; CPU:$F2CD PRG:32CD 69 36 cmp #$39 ; CPU:$F2CF PRG:32CF C9 39 bcc SubCF2D5 ; CPU:$F2D1 PRG:32D1 90 02 lda #$B9 ; CPU:$F2D3 PRG:32D3 A9 B9 ; ----------------------------------------------------------------------------- ; Routine: SubCF2D5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF2D5: sta $0265,y ; CPU:$F2D5 PRG:32D5 99 65 02 lda $F2ED,x ; CPU:$F2D8 PRG:32D8 BD ED F2 sta $0267,y ; CPU:$F2DB PRG:32DB 99 67 02 lda #$F0 ; CPU:$F2DE PRG:32DE A9 F0 sta $0268,y ; CPU:$F2E0 PRG:32E0 99 68 02 ; ----------------------------------------------------------------------------- ; Routine: SubCF2E3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF2E3: dex ; CPU:$F2E3 PRG:32E3 CA bpl SubCF2C4 ; CPU:$F2E4 PRG:32E4 10 DE rts ; CPU:$F2E6 PRG:32E6 60 ; ---- data $F2E7-$F2EF (9 bytes) ---- ; referenced by `lda $F2E7,x` at $F232 (operand $F2E7 falls inside this region) ; referenced by `ldy $F2EA,x` at $F2C9 (operand $F2EA falls inside this region) ; referenced by `lda $F2ED,x` at $F2D8 (operand $F2ED falls inside this region) .byte $36, $3A, $3E, $00, $08, $10, $84, $94, $A4 ; CPU:$F2E7 PRG:32E7 36 3A 3E 00 08 10 84 94 A4 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel30 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel30: ldx #$23 ; CPU:$F2F0 PRG:32F0 A2 23 lda #$D4 ; CPU:$F2F2 PRG:32F2 A9 D4 ldy $0142 ; CPU:$F2F4 PRG:32F4 AC 42 01 jsr WritePPU2 ; CPU:$F2F7 PRG:32F7 20 F6 E0 lda $0143 ; CPU:$F2FA PRG:32FA AD 43 01 sta PPUDATA ; CPU:$F2FD PRG:32FD 8D 07 20 ldx #$23 ; CPU:$F300 PRG:3300 A2 23 lda #$DC ; CPU:$F302 PRG:3302 A9 DC ldy $0144 ; CPU:$F304 PRG:3304 AC 44 01 jsr WritePPU2 ; CPU:$F307 PRG:3307 20 F6 E0 lda $0145 ; CPU:$F30A PRG:330A AD 45 01 sta PPUDATA ; CPU:$F30D PRG:330D 8D 07 20 ldx #$23 ; CPU:$F310 PRG:3310 A2 23 lda #$E4 ; CPU:$F312 PRG:3312 A9 E4 ldy $0146 ; CPU:$F314 PRG:3314 AC 46 01 jsr WritePPU2 ; CPU:$F317 PRG:3317 20 F6 E0 lda $0147 ; CPU:$F31A PRG:331A AD 47 01 sta PPUDATA ; CPU:$F31D PRG:331D 8D 07 20 ; ----------------------------------------------------------------------------- ; Routine: SubCF320 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF320: rts ; CPU:$F320 PRG:3320 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel31 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel31: ldx ZpBF ; CPU:$F321 PRG:3321 A6 BF ldy $F3B1,x ; CPU:$F323 PRG:3323 BC B1 F3 lda ZpF0 ; CPU:$F326 PRG:3326 A5 F0 beq SubCF320 ; CPU:$F328 PRG:3328 F0 F6 bmi SubCF36D ; CPU:$F32A PRG:332A 30 41 lda $F3B7,x ; CPU:$F32C PRG:332C BD B7 F3 sta $0154 ; CPU:$F32F PRG:332F 8D 54 01 sta $0155 ; CPU:$F332 PRG:3332 8D 55 01 lda #$23 ; CPU:$F335 PRG:3335 A9 23 sta PPUADDR ; CPU:$F337 PRG:3337 8D 06 20 lda $F3B3,x ; CPU:$F33A PRG:333A BD B3 F3 sta PPUADDR ; CPU:$F33D PRG:333D 8D 06 20 lda #$6A ; CPU:$F340 PRG:3340 A9 6A sta PPUDATA ; CPU:$F342 PRG:3342 8D 07 20 sta $0731,y ; CPU:$F345 PRG:3345 99 31 07 lda #$6B ; CPU:$F348 PRG:3348 A9 6B sta PPUDATA ; CPU:$F34A PRG:334A 8D 07 20 sta $0732,y ; CPU:$F34D PRG:334D 99 32 07 lda #$23 ; CPU:$F350 PRG:3350 A9 23 sta PPUADDR ; CPU:$F352 PRG:3352 8D 06 20 lda $F3B5,x ; CPU:$F355 PRG:3355 BD B5 F3 sta PPUADDR ; CPU:$F358 PRG:3358 8D 06 20 lda #$70 ; CPU:$F35B PRG:335B A9 70 sta PPUDATA ; CPU:$F35D PRG:335D 8D 07 20 sta $0751,y ; CPU:$F360 PRG:3360 99 51 07 lda #$71 ; CPU:$F363 PRG:3363 A9 71 sta PPUDATA ; CPU:$F365 PRG:3365 8D 07 20 sta $0752,y ; CPU:$F368 PRG:3368 99 52 07 bne SubCF3AC ; CPU:$F36B PRG:336B D0 3F ; ----------------------------------------------------------------------------- ; Routine: SubCF36D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF36D: lda #$12 ; CPU:$F36D PRG:336D A9 12 sta $0154 ; CPU:$F36F PRG:336F 8D 54 01 sta $0155 ; CPU:$F372 PRG:3372 8D 55 01 lda #$00 ; CPU:$F375 PRG:3375 A9 00 sta $014B ; CPU:$F377 PRG:3377 8D 4B 01 lda #$23 ; CPU:$F37A PRG:337A A9 23 sta PPUADDR ; CPU:$F37C PRG:337C 8D 06 20 lda $F3B3,x ; CPU:$F37F PRG:337F BD B3 F3 sta PPUADDR ; CPU:$F382 PRG:3382 8D 06 20 lda #$24 ; CPU:$F385 PRG:3385 A9 24 sta PPUDATA ; CPU:$F387 PRG:3387 8D 07 20 sta $0731,y ; CPU:$F38A PRG:338A 99 31 07 sta PPUDATA ; CPU:$F38D PRG:338D 8D 07 20 sta $0732,y ; CPU:$F390 PRG:3390 99 32 07 lda #$23 ; CPU:$F393 PRG:3393 A9 23 sta PPUADDR ; CPU:$F395 PRG:3395 8D 06 20 lda $F3B5,x ; CPU:$F398 PRG:3398 BD B5 F3 sta PPUADDR ; CPU:$F39B PRG:339B 8D 06 20 lda #$24 ; CPU:$F39E PRG:339E A9 24 sta PPUDATA ; CPU:$F3A0 PRG:33A0 8D 07 20 sta $0751,y ; CPU:$F3A3 PRG:33A3 99 51 07 sta PPUDATA ; CPU:$F3A6 PRG:33A6 8D 07 20 sta $0752,y ; CPU:$F3A9 PRG:33A9 99 52 07 ; ----------------------------------------------------------------------------- ; Routine: SubCF3AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF3AC: lda #$00 ; CPU:$F3AC PRG:33AC A9 00 sta ZpF0 ; CPU:$F3AE PRG:33AE 85 F0 ; ----------------------------------------------------------------------------- ; Routine: SubCF3B0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF3B0: rts ; CPU:$F3B0 PRG:33B0 60 ; ---- data $F3B1-$F3B8 (8 bytes) ---- ; referenced by `ldy $F3B1,x` at $F323 (operand $F3B1 falls inside this region) ; referenced by `lda $F3B7,x` at $F32C (operand $F3B7 falls inside this region) ; referenced by `lda $F3B3,x` at $F33A (operand $F3B3 falls inside this region) ; referenced by `lda $F3B5,x` at $F355 (operand $F3B5 falls inside this region) ; referenced by `lda $F3B3,x` at $F37F (operand $F3B3 falls inside this region) ; referenced by `lda $F3B5,x` at $F398 (operand $F3B5 falls inside this region) .byte $20, $00, $51, $31, $71, $51, $15, $27 ; CPU:$F3B1 PRG:33B1 20 00 51 31 71 51 15 27 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel32 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel32: ldy $012C ; CPU:$F3B9 PRG:33B9 AC 2C 01 beq SubCF3B0 ; CPU:$F3BC PRG:33BC F0 F2 ldx #$21 ; CPU:$F3BE PRG:33BE A2 21 lda #$17 ; CPU:$F3C0 PRG:33C0 A9 17 jsr WritePPU ; CPU:$F3C2 PRG:33C2 20 EF E0 tya ; CPU:$F3C5 PRG:33C5 98 bmi SubCF3D7 ; CPU:$F3C6 PRG:33C6 30 0F ldx #$B7 ; CPU:$F3C8 PRG:33C8 A2 B7 stx PPUDATA ; CPU:$F3CA PRG:33CA 8E 07 20 inx ; CPU:$F3CD PRG:33CD E8 stx PPUDATA ; CPU:$F3CE PRG:33CE 8E 07 20 inx ; CPU:$F3D1 PRG:33D1 E8 stx PPUDATA ; CPU:$F3D2 PRG:33D2 8E 07 20 bne SubCF3E2 ; CPU:$F3D5 PRG:33D5 D0 0B ; ----------------------------------------------------------------------------- ; Routine: SubCF3D7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF3D7: lda #$24 ; CPU:$F3D7 PRG:33D7 A9 24 sta PPUDATA ; CPU:$F3D9 PRG:33D9 8D 07 20 sta PPUDATA ; CPU:$F3DC PRG:33DC 8D 07 20 sta PPUDATA ; CPU:$F3DF PRG:33DF 8D 07 20 ; ----------------------------------------------------------------------------- ; Routine: SubCF3E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF3E2: lda #$00 ; CPU:$F3E2 PRG:33E2 A9 00 sta $012C ; CPU:$F3E4 PRG:33E4 8D 2C 01 rts ; CPU:$F3E7 PRG:33E7 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel33 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel33: ldx $012B ; CPU:$F3E8 PRG:33E8 AE 2B 01 ldy #$10 ; CPU:$F3EB PRG:33EB A0 10 ; ----------------------------------------------------------------------------- ; Routine: SubCF3ED ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF3ED: lda $F416,x ; CPU:$F3ED PRG:33ED BD 16 F4 sta $02C9,y ; CPU:$F3F0 PRG:33F0 99 C9 02 lda $F418,x ; CPU:$F3F3 PRG:33F3 BD 18 F4 sta $02CD,y ; CPU:$F3F6 PRG:33F6 99 CD 02 tya ; CPU:$F3F9 PRG:33F9 98 sec ; CPU:$F3FA PRG:33FA 38 sbc #$08 ; CPU:$F3FB PRG:33FB E9 08 tay ; CPU:$F3FD PRG:33FD A8 bpl SubCF3ED ; CPU:$F3FE PRG:33FE 10 ED ldy #$40 ; CPU:$F400 PRG:3400 A0 40 ; ----------------------------------------------------------------------------- ; Routine: SubCF402 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF402: lda $F41A,x ; CPU:$F402 PRG:3402 BD 1A F4 sta $04FA,y ; CPU:$F405 PRG:3405 99 FA 04 lda $F41C,x ; CPU:$F408 PRG:3408 BD 1C F4 sta $04FB,y ; CPU:$F40B PRG:340B 99 FB 04 tya ; CPU:$F40E PRG:340E 98 sec ; CPU:$F40F PRG:340F 38 sbc #$20 ; CPU:$F410 PRG:3410 E9 20 tay ; CPU:$F412 PRG:3412 A8 bpl SubCF402 ; CPU:$F413 PRG:3413 10 ED ; ----------------------------------------------------------------------------- ; Routine: SubCF415 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF415: rts ; CPU:$F415 PRG:3415 60 ; ---- data $F416-$F41D (8 bytes) ---- ; referenced by `lda $F416,x` at $F3ED (operand $F416 falls inside this region) ; referenced by `lda $F418,x` at $F3F3 (operand $F418 falls inside this region) ; referenced by `lda $F41A,x` at $F402 (operand $F41A falls inside this region) ; referenced by `lda $F41C,x` at $F408 (operand $F41C falls inside this region) .byte $5A, $B9, $5B, $B9, $5B, $24, $6D, $24 ; CPU:$F416 PRG:3416 5A B9 5B B9 5B 24 6D 24 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel34 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel34: lda ZpD5 ; CPU:$F41E PRG:341E A5 D5 beq SubCF415 ; CPU:$F420 PRG:3420 F0 F3 lda #$08 ; CPU:$F422 PRG:3422 A9 08 sta ZpFF ; CPU:$F424 PRG:3424 85 FF lda #$00 ; CPU:$F426 PRG:3426 A9 00 sta ZpD5 ; CPU:$F428 PRG:3428 85 D5 lda $0131 ; CPU:$F42A PRG:342A AD 31 01 cmp #$FE ; CPU:$F42D PRG:342D C9 FE bne SubCF415 ; CPU:$F42F PRG:342F D0 E4 lda #$00 ; CPU:$F431 PRG:3431 A9 00 sta $0131 ; CPU:$F433 PRG:3433 8D 31 01 sta $012B ; CPU:$F436 PRG:3436 8D 2B 01 dec $012C ; CPU:$F439 PRG:3439 CE 2C 01 jsr UpdateMusicChannel21 ; CPU:$F43C PRG:343C 20 3F F0 ldx #$37 ; CPU:$F43F PRG:343F A2 37 ; ----------------------------------------------------------------------------- ; Routine: SubCF441 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF441: lda $C9D1,x ; CPU:$F441 PRG:3441 BD D1 C9 sta $0290,x ; CPU:$F444 PRG:3444 9D 90 02 dex ; CPU:$F447 PRG:3447 CA bpl SubCF441 ; CPU:$F448 PRG:3448 10 F7 ; ----------------------------------------------------------------------------- ; Routine: SubCF44A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF44A: rts ; CPU:$F44A PRG:344A 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicChannel35 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicChannel35: lda #$B9 ; CPU:$F44B PRG:344B A9 B9 sta $02CD ; CPU:$F44D PRG:344D 8D CD 02 sta $02DD ; CPU:$F450 PRG:3450 8D DD 02 lda $0132 ; CPU:$F453 PRG:3453 AD 32 01 beq SubCF44A ; CPU:$F456 PRG:3456 F0 F2 ldx #$00 ; CPU:$F458 PRG:3458 A2 00 lda Zp05 ; CPU:$F45A PRG:345A A5 05 and #$10 ; CPU:$F45C PRG:345C 29 10 beq SubCF461 ; CPU:$F45E PRG:345E F0 01 inx ; CPU:$F460 PRG:3460 E8 ; ----------------------------------------------------------------------------- ; Routine: SubCF461 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF461: ldy $F4AC,x ; CPU:$F461 PRG:3461 BC AC F4 sty $02D1 ; CPU:$F464 PRG:3464 8C D1 02 sty $02E1 ; CPU:$F467 PRG:3467 8C E1 02 iny ; CPU:$F46A PRG:346A C8 sty $02D5 ; CPU:$F46B PRG:346B 8C D5 02 sty $02E5 ; CPU:$F46E PRG:346E 8C E5 02 iny ; CPU:$F471 PRG:3471 C8 sty $02D9 ; CPU:$F472 PRG:3472 8C D9 02 sty $02E9 ; CPU:$F475 PRG:3475 8C E9 02 lda $F4AE,x ; CPU:$F478 PRG:3478 BD AE F4 sta $02CD ; CPU:$F47B PRG:347B 8D CD 02 sta $02DD ; CPU:$F47E PRG:347E 8D DD 02 lda $F4B0,x ; CPU:$F481 PRG:3481 BD B0 F4 sta $02D3 ; CPU:$F484 PRG:3484 8D D3 02 lda $F4B2,x ; CPU:$F487 PRG:3487 BD B2 F4 sta $02E3 ; CPU:$F48A PRG:348A 8D E3 02 lda $02CC ; CPU:$F48D PRG:348D AD CC 02 clc ; CPU:$F490 PRG:3490 18 adc $0149 ; CPU:$F491 PRG:3491 6D 49 01 sta $02CC ; CPU:$F494 PRG:3494 8D CC 02 sta $02DC ; CPU:$F497 PRG:3497 8D DC 02 cmp #$5F ; CPU:$F49A PRG:349A C9 5F bne SubCF4A2 ; CPU:$F49C PRG:349C D0 04 lda #$01 ; CPU:$F49E PRG:349E A9 01 bne SubCF4A8 ; CPU:$F4A0 PRG:34A0 D0 06 ; ----------------------------------------------------------------------------- ; Routine: SubCF4A2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF4A2: cmp #$67 ; CPU:$F4A2 PRG:34A2 C9 67 bne SubCF4AB ; CPU:$F4A4 PRG:34A4 D0 05 lda #$FF ; CPU:$F4A6 PRG:34A6 A9 FF ; ----------------------------------------------------------------------------- ; Routine: SubCF4A8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF4A8: sta $0149 ; CPU:$F4A8 PRG:34A8 8D 49 01 ; ----------------------------------------------------------------------------- ; Routine: SubCF4AB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCF4AB: rts ; CPU:$F4AB PRG:34AB 60 ; ---- data $F4AC-$FB2B (1664 bytes) ---- ; referenced by `ldy $F4AC,x` at $F461 (operand $F4AC falls inside this region) ; referenced by `lda $F4AE,x` at $F478 (operand $F4AE falls inside this region) ; referenced by `lda $F4B0,x` at $F481 (operand $F4B0 falls inside this region) ; referenced by `lda $F4B2,x` at $F487 (operand $F4B2 falls inside this region) .byte $7D, $88, $F0, $FB, $74, $76, $A4, $A2, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$F4AC PRG:34AC 7D 88 F0 FB 74 76 A4 A2 03 03 03 03 03 03 03 03 .byte $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $80, $C0, $60, $30, $18, $0C, $06, $03 ; CPU:$F4BC PRG:34BC C0 C0 C0 C0 C0 C0 C0 C0 80 C0 60 30 18 0C 06 03 .byte $E0, $C0, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F4CC PRG:34CC E0 C0 80 00 00 00 00 00 00 00 00 00 00 00 00 00 .byte $3C, $78, $E0, $C0, $80, $00, $00, $00, $00, $00, $00, $C0, $E0, $60, $00, $00 ; CPU:$F4DC PRG:34DC 3C 78 E0 C0 80 00 00 00 00 00 00 C0 E0 60 00 00 .byte $00, $00, $00, $00, $00, $C0, $E0, $70, $00, $00, $01, $01, $01, $01, $01, $01 ; CPU:$F4EC PRG:34EC 00 00 00 00 00 C0 E0 70 00 00 01 01 01 01 01 01 .byte $00, $80, $C0, $C0, $C0, $C0, $C0, $C0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F4FC PRG:34FC 00 80 C0 C0 C0 C0 C0 C0 FF FF FF FF FF FF FF FF .byte $01, $01, $01, $01, $01, $01, $01, $01, $80, $C0, $E0, $F0, $F8, $FC, $FE, $FF ; CPU:$F50C PRG:350C 01 01 01 01 01 01 01 01 80 C0 E0 F0 F8 FC FE FF .byte $01, $03, $07, $0F, $1F, $3F, $7F, $FF, $80, $80, $80, $80, $80, $80, $80, $80 ; CPU:$F51C PRG:351C 01 03 07 0F 1F 3F 7F FF 80 80 80 80 80 80 80 80 .byte $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FC, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F ; CPU:$F52C PRG:352C FE FE FE FE FE FE FE FC 0F 0F 0F 0F 0F 0F 0F 0F .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FC ; CPU:$F53C PRG:353C FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FC .byte $FF, $FF, $FF, $FC, $F0, $C0, $00, $00, $FF, $E0, $00, $00, $00, $00, $00, $00 ; CPU:$F54C PRG:354C FF FF FF FC F0 C0 00 00 FF E0 00 00 00 00 00 00 .byte $FF, $00, $00, $00, $00, $00, $00, $00, $FF, $0F, $01, $00, $00, $00, $00, $00 ; CPU:$F55C PRG:355C FF 00 00 00 00 00 00 00 FF 0F 01 00 00 00 00 00 .byte $FF, $FF, $FF, $3F, $0F, $03, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F ; CPU:$F56C PRG:356C FF FF FF 3F 0F 03 00 00 FF FF FF FF FF FF FF 3F .byte $FF, $FF, $FF, $FF, $FF, $FE, $FC, $F8, $F8, $E0, $C0, $80, $00, $00, $00, $00 ; CPU:$F57C PRG:357C FF FF FF FF FF FE FC F8 F8 E0 C0 80 00 00 00 00 .byte $1F, $07, $03, $01, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $7F, $3F, $1F ; CPU:$F58C PRG:358C 1F 07 03 01 00 00 00 00 FF FF FF FF FF 7F 3F 1F .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $F0, $F0, $E0, $C0, $C0, $80, $00, $00 ; CPU:$F59C PRG:359C FF FF FF FF FF FF FF FF F0 F0 E0 C0 C0 80 00 00 .byte $00, $00, $00, $03, $0F, $3F, $7F, $FF, $00, $00, $E0, $F0, $F8, $FC, $FE, $FF ; CPU:$F5AC PRG:35AC 00 00 00 03 0F 3F 7F FF 00 00 E0 F0 F8 FC FE FF .byte $00, $0F, $07, $03, $01, $00, $00, $00, $00, $F8, $F0, $E0, $C0, $80, $00, $00 ; CPU:$F5BC PRG:35BC 00 0F 07 03 01 00 00 00 00 F8 F0 E0 C0 80 00 00 .byte $01, $03, $07, $0F, $1F, $3F, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F5CC PRG:35CC 01 03 07 0F 1F 3F 7F FF FF FF FF FF FF FF FF FF .byte $E0, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $C0, $F0, $FC, $FE, $FF ; CPU:$F5DC PRG:35DC E0 FC FF FF FF FF FF FF 00 00 00 C0 F0 FC FE FF .byte $0F, $0F, $07, $03, $03, $01, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F5EC PRG:35EC 0F 0F 07 03 03 01 00 00 FF FF FF FF FF FF FF FF .byte $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $FE, $FE, $FC, $FC, $F8, $F8, $F0, $F0 ; CPU:$F5FC PRG:35FC F0 F0 F0 F0 F0 F0 F0 F0 FE FE FC FC F8 F8 F0 F0 .byte $01, $01, $03, $07, $07, $0F, $0F, $1F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F60C PRG:360C 01 01 03 07 07 0F 0F 1F FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $80, $C0, $E0, $F0, $F8, $FC, $FE, $FF ; CPU:$F61C PRG:361C FF FF FF FF FF FF FF FF 80 C0 E0 F0 F8 FC FE FF .byte $00, $00, $00, $00, $18, $3C, $7E, $FF, $80, $80, $C0, $E0, $E0, $F0, $F8, $F8 ; CPU:$F62C PRG:362C 00 00 00 00 18 3C 7E FF 80 80 C0 E0 E0 F0 F8 F8 .byte $7F, $7F, $3F, $3F, $1F, $1F, $0F, $0F, $F0, $E0, $E0, $E0, $C0, $C0, $C0, $C0 ; CPU:$F63C PRG:363C 7F 7F 3F 3F 1F 1F 0F 0F F0 E0 E0 E0 C0 C0 C0 C0 .byte $1F, $3F, $3F, $7F, $7F, $7F, $FF, $FF, $80, $80, $80, $80, $80, $80, $80, $80 ; CPU:$F64C PRG:364C 1F 3F 3F 7F 7F 7F FF FF 80 80 80 80 80 80 80 80 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $07, $1F, $3F, $7F, $7F ; CPU:$F65C PRG:365C FF FF FF FF FF FF FF FF 00 00 00 07 1F 3F 7F 7F .byte $00, $00, $00, $E0, $F8, $FC, $FE, $FE, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$F66C PRG:366C 00 00 00 E0 F8 FC FE FE 01 01 01 01 01 01 01 01 .byte $FC, $FC, $FE, $FE, $FE, $FF, $FF, $FF, $07, $07, $07, $03, $03, $03, $03, $01 ; CPU:$F67C PRG:367C FC FC FE FE FE FF FF FF 07 07 07 03 03 03 03 01 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $F6, $E5, $F5, $F5, $F5, $F6, $FF ; CPU:$F68C PRG:368C FF FF FF FF FF FF FF FF FF F6 E5 F5 F5 F5 F6 FF .byte $FF, $EF, $57, $57, $57, $57, $EF, $FF, $FF, $FF, $FF, $FF, $E0, $E0, $E0, $E0 ; CPU:$F69C PRG:369C FF EF 57 57 57 57 EF FF FF FF FF FF E0 E0 E0 E0 .byte $FF, $FF, $FF, $FF, $03, $03, $03, $03, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F6AC PRG:36AC FF FF FF FF 03 03 03 03 FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FC, $F0, $E0, $C0, $80, $E0, $E0, $E0, $E0, $E0, $E0, $E0, $E0 ; CPU:$F6BC PRG:36BC FF FF FF FC F0 E0 C0 80 E0 E0 E0 E0 E0 E0 E0 E0 .byte $00, $03, $03, $03, $03, $03, $03, $03, $FF, $FF, $FF, $3F, $0F, $07, $03, $01 ; CPU:$F6CC PRG:36CC 00 03 03 03 03 03 03 03 FF FF FF 3F 0F 07 03 01 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $80, $80, $80, $C0, $C0, $C0, $C0, $E0 ; CPU:$F6DC PRG:36DC FF FF FF FF FF FF FF FF 80 80 80 C0 C0 C0 C0 E0 .byte $01, $01, $01, $01, $01, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F6EC PRG:36EC 01 01 01 01 01 00 00 00 FF FF FF FF FF FF FF FF .byte $FF, $FE, $FC, $F8, $F0, $E0, $C0, $80, $00, $00, $07, $0F, $1F, $1F, $3F, $3F ; CPU:$F6FC PRG:36FC FF FE FC F8 F0 E0 C0 80 00 00 07 0F 1F 1F 3F 3F .byte $00, $00, $E0, $F0, $F8, $F8, $FC, $FC, $FF, $FF, $7F, $7F, $3F, $3F, $1F, $1F ; CPU:$F70C PRG:370C 00 00 E0 F0 F8 F8 FC FC FF FF 7F 7F 3F 3F 1F 1F .byte $E0, $E0, $E0, $E0, $E0, $E0, $E0, $E0, $80, $80, $80, $C0, $C0, $C0, $E0, $E0 ; CPU:$F71C PRG:371C E0 E0 E0 E0 E0 E0 E0 E0 80 80 80 C0 C0 C0 E0 E0 .byte $FF, $FF, $FF, $7F, $7F, $7F, $3F, $3F, $3F, $3F, $1F, $1F, $0F, $07, $00, $00 ; CPU:$F72C PRG:372C FF FF FF 7F 7F 7F 3F 3F 3F 3F 1F 1F 0F 07 00 00 .byte $FC, $FC, $F8, $F8, $F0, $E0, $00, $00, $00, $00, $00, $00, $03, $03, $03, $03 ; CPU:$F73C PRG:373C FC FC F8 F8 F0 E0 00 00 00 00 00 00 03 03 03 03 .byte $00, $00, $00, $00, $C0, $C0, $C0, $C0, $0F, $0F, $0F, $0F, $07, $07, $07, $07 ; CPU:$F74C PRG:374C 00 00 00 00 C0 C0 C0 C0 0F 0F 0F 0F 07 07 07 07 .byte $E0, $E0, $E0, $E0, $E0, $E0, $E0, $E0, $E0, $F0, $F0, $F0, $F8, $F8, $F8, $FC ; CPU:$F75C PRG:375C E0 E0 E0 E0 E0 E0 E0 E0 E0 F0 F0 F0 F8 F8 F8 FC .byte $3F, $1F, $1F, $1F, $0F, $0F, $0F, $07, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F76C PRG:376C 3F 1F 1F 1F 0F 0F 0F 07 FF FF FF FF FF FF FF FF .byte $FF, $7F, $3F, $1F, $0F, $07, $03, $01, $01, $03, $07, $0F, $1F, $3F, $7F, $FF ; CPU:$F77C PRG:377C FF 7F 3F 1F 0F 07 03 01 01 03 07 0F 1F 3F 7F FF .byte $07, $07, $07, $07, $07, $07, $07, $07, $FC, $FC, $FE, $FE, $FE, $FF, $FF, $FF ; CPU:$F78C PRG:378C 07 07 07 07 07 07 07 07 FC FC FE FE FE FF FF FF .byte $07, $03, $03, $01, $01, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FE, $FE, $7C ; CPU:$F79C PRG:379C 07 03 03 01 01 00 00 00 FF FF FF FF FF FE FE 7C .byte $00, $00, $00, $00, $01, $01, $03, $03, $0F, $3F, $7F, $FF, $FF, $FF, $FF, $FF ; CPU:$F7AC PRG:37AC 00 00 00 00 01 01 03 03 0F 3F 7F FF FF FF FF FF .byte $F0, $FC, $FE, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $80, $80, $C0, $C0 ; CPU:$F7BC PRG:37BC F0 FC FE FF FF FF FF FF 00 00 00 00 80 80 C0 C0 .byte $03, $07, $07, $07, $07, $07, $07, $03, $FF, $F6, $E5, $F5, $F5, $F5, $F6, $FF ; CPU:$F7CC PRG:37CC 03 07 07 07 07 07 07 03 FF F6 E5 F5 F5 F5 F6 FF .byte $FF, $EF, $57, $57, $57, $57, $EF, $FF, $C0, $E0, $E0, $E0, $E0, $E0, $E0, $C0 ; CPU:$F7DC PRG:37DC FF EF 57 57 57 57 EF FF C0 E0 E0 E0 E0 E0 E0 C0 .byte $03, $03, $01, $01, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $7F, $3F, $0F ; CPU:$F7EC PRG:37EC 03 03 01 01 00 00 00 00 FF FF FF FF FF 7F 3F 0F .byte $FF, $FF, $FF, $FF, $FF, $FE, $FC, $F0, $C0, $C0, $80, $80, $00, $00, $00, $00 ; CPU:$F7FC PRG:37FC FF FF FF FF FF FE FC F0 C0 C0 80 80 00 00 00 00 .byte $60, $60, $60, $60, $60, $60, $60, $00, $07, $07, $07, $0F, $0F, $0F, $1F, $1F ; CPU:$F80C PRG:380C 60 60 60 60 60 60 60 00 07 07 07 0F 0F 0F 1F 1F .byte $00, $00, $00, $00, $00, $01, $03, $07, $1F, $3F, $3F, $7F, $FF, $FF, $FF, $FF ; CPU:$F81C PRG:381C 00 00 00 00 00 01 03 07 1F 3F 3F 7F FF FF FF FF .byte $0F, $3F, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $03, $07, $06, $00, $00 ; CPU:$F82C PRG:382C 0F 3F FF FF FF FF FF FF 00 00 00 03 07 06 00 00 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $3F, $1F, $0F, $07, $03, $03 ; CPU:$F83C PRG:383C FF FF FF FF FF FF FF FF FF 7F 3F 1F 0F 07 03 03 .byte $18, $18, $1C, $1E, $1B, $19, $18, $18, $D8, $D8, $C0, $DA, $DB, $DB, $DB, $DB ; CPU:$F84C PRG:384C 18 18 1C 1E 1B 19 18 18 D8 D8 C0 DA DB DB DB DB .byte $00, $0C, $1E, $CC, $6D, $6D, $6D, $6C, $00, $00, $00, $E5, $B6, $F6, $86, $E6 ; CPU:$F85C PRG:385C 00 0C 1E CC 6D 6D 6D 6C 00 00 00 E5 B6 F6 86 E6 .byte $03, $03, $03, $8F, $DB, $DB, $DB, $CF, $00, $00, $00, $38, $6C, $6C, $6C, $38 ; CPU:$F86C PRG:386C 03 03 03 8F DB DB DB CF 00 00 00 38 6C 6C 6C 38 .byte $01, $01, $01, $01, $01, $01, $01, $03, $01, $03, $07, $07, $07, $07, $07, $07 ; CPU:$F87C PRG:387C 01 01 01 01 01 01 01 03 01 03 07 07 07 07 07 07 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $80, $C0, $E0, $F8, $FF, $FF, $FF, $FF ; CPU:$F88C PRG:388C FF FF FF FF FF FF FF FF 80 C0 E0 F8 FF FF FF FF .byte $03, $07, $0F, $3F, $FF, $FF, $FF, $FF, $01, $01, $01, $01, $01, $00, $00, $00 ; CPU:$F89C PRG:389C 03 07 0F 3F FF FF FF FF 01 01 01 01 01 00 00 00 .byte $C0, $C0, $C0, $C0, $C0, $80, $00, $00, $07, $07, $07, $07, $07, $07, $07, $07 ; CPU:$F8AC PRG:38AC C0 C0 C0 C0 C0 80 00 00 07 07 07 07 07 07 07 07 .byte $FF, $FF, $FE, $FE, $FC, $FC, $F8, $F8, $7F, $7F, $3F, $1F, $07, $00, $00, $00 ; CPU:$F8BC PRG:38BC FF FF FE FE FC FC F8 F8 7F 7F 3F 1F 07 00 00 00 .byte $FE, $FE, $FC, $F8, $E0, $00, $00, $00, $0F, $0F, $07, $07, $03, $03, $01, $01 ; CPU:$F8CC PRG:38CC FE FE FC F8 E0 00 00 00 0F 0F 07 07 03 03 01 01 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $FF, $FF, $00, $00, $00 ; CPU:$F8DC PRG:38DC FF FF FF FF FF FF FF FF 00 00 00 FF FF 00 00 00 .byte $00, $00, $00, $7F, $7F, $00, $00, $00, $00, $00, $00, $3F, $3F, $00, $00, $00 ; CPU:$F8EC PRG:38EC 00 00 00 7F 7F 00 00 00 00 00 00 3F 3F 00 00 00 .byte $00, $00, $00, $1F, $1F, $00, $00, $00, $00, $00, $00, $0F, $0F, $00, $00, $00 ; CPU:$F8FC PRG:38FC 00 00 00 1F 1F 00 00 00 00 00 00 0F 0F 00 00 00 .byte $00, $00, $00, $07, $07, $00, $00, $00, $00, $00, $00, $03, $03, $00, $00, $00 ; CPU:$F90C PRG:390C 00 00 00 07 07 00 00 00 00 00 00 03 03 00 00 00 .byte $00, $00, $00, $01, $01, $00, $00, $00, $0F, $07, $03, $03, $01, $01, $01, $01 ; CPU:$F91C PRG:391C 00 00 00 01 01 00 00 00 0F 07 03 03 01 01 01 01 .byte $01, $01, $01, $03, $03, $07, $07, $0F, $7F, $7F, $7F, $7F, $7F, $7F, $7F, $3F ; CPU:$F92C PRG:392C 01 01 01 03 03 07 07 0F 7F 7F 7F 7F 7F 7F 7F 3F .byte $FE, $DA, $AA, $AA, $AA, $DA, $FE, $FC, $FE, $E6, $EA, $EE, $EE, $C6, $FE, $FC ; CPU:$F93C PRG:393C FE DA AA AA AA DA FE FC FE E6 EA EE EE C6 FE FC .byte $FE, $C6, $EA, $DA, $DA, $E6, $FE, $FC, $FE, $DA, $EA, $F2, $EA, $DA, $FE, $FC ; CPU:$F94C PRG:394C FE C6 EA DA DA E6 FE FC FE DA EA F2 EA DA FE FC .byte $FE, $DA, $C2, $DA, $DA, $E6, $FE, $FC, $0F, $1F, $1F, $3F, $3F, $7F, $7F, $FF ; CPU:$F95C PRG:395C FE DA C2 DA DA E6 FE FC 0F 1F 1F 3F 3F 7F 7F FF .byte $FF, $FF, $C5, $DD, $C6, $DD, $C5, $FF, $00, $FF, $51, $5B, $DB, $5B, $5B, $FF ; CPU:$F96C PRG:396C FF FF C5 DD C6 DD C5 FF 00 FF 51 5B DB 5B 5B FF .byte $00, $00, $80, $C0, $E0, $C0, $80, $00, $03, $03, $03, $03, $03, $03, $03, $03 ; CPU:$F97C PRG:397C 00 00 80 C0 E0 C0 80 00 03 03 03 03 03 03 03 03 .byte $02, $07, $07, $07, $07, $07, $07, $07, $00, $00, $00, $01, $01, $01, $03, $03 ; CPU:$F98C PRG:398C 02 07 07 07 07 07 07 07 00 00 00 01 01 01 03 03 .byte $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $00, $00, $00, $80, $80, $80, $C0, $C0 ; CPU:$F99C PRG:399C C0 C0 C0 C0 C0 C0 C0 C0 00 00 00 80 80 80 C0 C0 .byte $07, $07, $07, $07, $07, $07, $07, $07, $03, $07, $07, $07, $0F, $0F, $0F, $1F ; CPU:$F9AC PRG:39AC 07 07 07 07 07 07 07 07 03 07 07 07 0F 0F 0F 1F .byte $40, $E0, $E0, $E0, $E0, $E0, $E0, $E0, $C0, $E0, $E0, $E0, $F0, $F0, $F0, $F8 ; CPU:$F9BC PRG:39BC 40 E0 E0 E0 E0 E0 E0 E0 C0 E0 E0 E0 F0 F0 F0 F8 .byte $07, $07, $07, $07, $07, $03, $03, $01, $E0, $E0, $E0, $E0, $E0, $E0, $E0, $E0 ; CPU:$F9CC PRG:39CC 07 07 07 07 07 03 03 01 E0 E0 E0 E0 E0 E0 E0 E0 .byte $1F, $1F, $3F, $3F, $3F, $7F, $7F, $7F, $FF, $FF, $FF, $FF, $E6, $E3, $E0, $E0 ; CPU:$F9DC PRG:39DC 1F 1F 3F 3F 3F 7F 7F 7F FF FF FF FF E6 E3 E0 E0 .byte $FF, $FF, $FF, $FF, $03, $83, $C3, $73, $03, $03, $03, $03, $03, $01, $01, $00 ; CPU:$F9EC PRG:39EC FF FF FF FF 03 83 C3 73 03 03 03 03 03 01 01 00 .byte $F8, $F8, $FC, $FC, $FC, $FE, $FE, $FE, $FF, $7F, $1F, $0E, $00, $00, $00, $00 ; CPU:$F9FC PRG:39FC F8 F8 FC FC FC FE FE FE FF 7F 1F 0E 00 00 00 00 .byte $E0, $E0, $E0, $E0, $E0, $C0, $C0, $80, $FF, $FE, $F8, $70, $00, $00, $00, $00 ; CPU:$FA0C PRG:3A0C E0 E0 E0 E0 E0 C0 C0 80 FF FE F8 70 00 00 00 00 .byte $C0, $C0, $C0, $C0, $C0, $80, $80, $00, $E0, $E0, $E3, $EE, $E6, $E3, $E0, $E0 ; CPU:$FA1C PRG:3A1C C0 C0 C0 C0 C0 80 80 00 E0 E0 E3 EE E6 E3 E0 E0 .byte $38, $E3, $83, $03, $03, $83, $C3, $73, $00, $00, $00, $00, $80, $80, $C0, $C0 ; CPU:$FA2C PRG:3A2C 38 E3 83 03 03 83 C3 73 00 00 00 00 80 80 C0 C0 .byte $E0, $70, $3C, $1E, $07, $03, $01, $00, $07, $0E, $3C, $78, $E0, $C0, $80, $00 ; CPU:$FA3C PRG:3A3C E0 70 3C 1E 07 03 01 00 07 0E 3C 78 E0 C0 80 00 .byte $00, $00, $00, $00, $01, $01, $03, $03, $3C, $1E, $07, $03, $01, $00, $00, $00 ; CPU:$FA4C PRG:3A4C 00 00 00 00 01 01 03 03 3C 1E 07 03 01 00 00 00 .byte $00, $00, $00, $00, $00, $03, $07, $0E, $3F, $7F, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA5C PRG:3A5C 00 00 00 00 00 03 07 0E 3F 7F FF FF FF FF FF FF .byte $7F, $3F, $00, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA6C PRG:3A6C 7F 3F 00 00 00 00 00 00 FF FF FF FF FF FF FF FF .byte $FF, $FF, $00, $00, $00, $00, $00, $00, $FF, $BF, $BF, $FF, $FF, $BF, $BF, $FF ; CPU:$FA7C PRG:3A7C FF FF 00 00 00 00 00 00 FF BF BF FF FF BF BF FF .byte $00, $00, $00, $00, $00, $FF, $FF, $FF, $F0, $F0, $E0, $E0, $C0, $C0, $80, $80 ; CPU:$FA8C PRG:3A8C 00 00 00 00 00 FF FF FF F0 F0 E0 E0 C0 C0 80 80 .byte $00, $00, $00, $80, $80, $00, $00, $00, $00, $00, $00, $C0, $C0, $00, $00, $00 ; CPU:$FA9C PRG:3A9C 00 00 00 80 80 00 00 00 00 00 00 C0 C0 00 00 00 .byte $00, $00, $00, $E0, $E0, $00, $00, $00, $00, $00, $00, $F0, $F0, $00, $00, $00 ; CPU:$FAAC PRG:3AAC 00 00 00 E0 E0 00 00 00 00 00 00 F0 F0 00 00 00 .byte $00, $00, $00, $F8, $F8, $00, $00, $00, $00, $00, $00, $FC, $FC, $00, $00, $00 ; CPU:$FABC PRG:3ABC 00 00 00 F8 F8 00 00 00 00 00 00 FC FC 00 00 00 .byte $00, $00, $00, $FE, $FE, $00, $00, $00, $00, $00, $00, $FF, $FF, $00, $00, $00 ; CPU:$FACC PRG:3ACC 00 00 00 FE FE 00 00 00 00 00 00 FF FF 00 00 00 .byte $80, $80, $C0, $C0, $E0, $E0, $F0, $F0, $3E, $7F, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FADC PRG:3ADC 80 80 C0 C0 E0 E0 F0 F0 3E 7F FF FF FF FF FF FF .byte $7F, $3F, $0F, $01, $00, $00, $00, $00, $01, $01, $03, $03, $07, $07, $0F, $0F ; CPU:$FAEC PRG:3AEC 7F 3F 0F 01 00 00 00 00 01 01 03 03 07 07 0F 0F .byte $F8, $F8, $FC, $FC, $FE, $FE, $FF, $FF, $F8, $F8, $FC, $FC, $FE, $FE, $FF, $FF ; CPU:$FAFC PRG:3AFC F8 F8 FC FC FE FE FF FF F8 F8 FC FC FE FE FF FF .byte $1F, $1F, $3F, $3F, $7F, $7F, $FF, $FF, $1F, $1F, $3F, $3F, $7F, $7F, $FF, $FF ; CPU:$FB0C PRG:3B0C 1F 1F 3F 3F 7F 7F FF FF 1F 1F 3F 3F 7F 7F FF FF .byte $FF, $FF, $FF, $FF, $E7, $C3, $81, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB1C PRG:3B1C FF FF FF FF E7 C3 81 FF FF FF FF FF FF FF FF FF ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU: lda #$C0 ; CPU:$FB2C PRG:3B2C A9 C0 sta JOY2 ; CPU:$FB2E PRG:3B2E 8D 17 40 jsr UpdateAPU8 ; CPU:$FB31 PRG:3B31 20 DD FB lda #$00 ; CPU:$FB34 PRG:3B34 A9 00 sta ZpFF ; CPU:$FB36 PRG:3B36 85 FF sta ZpFE ; CPU:$FB38 PRG:3B38 85 FE sta ZpFD ; CPU:$FB3A PRG:3B3A 85 FD sta APUDMCDIRECT ; CPU:$FB3C PRG:3B3C 8D 11 40 rts ; CPU:$FB3F PRG:3B3F 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU2: jsr UpdateAPU16 ; CPU:$FB40 PRG:3B40 20 DC FF ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU3: ldx #$00 ; CPU:$FB43 PRG:3B43 A2 00 ; ---- data $FB45-$FB45 (1 bytes) ---- .byte $2C ; CPU:$FB45 PRG:3B45 2C ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU4: ldx #$04 ; CPU:$FB46 PRG:3B46 A2 04 ; ---- data $FB48-$FB48 (1 bytes) ---- .byte $2C ; CPU:$FB48 PRG:3B48 2C ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU5: ldx #$08 ; CPU:$FB49 PRG:3B49 A2 08 tay ; CPU:$FB4B PRG:3B4B A8 lda $FF01,y ; CPU:$FB4C PRG:3B4C B9 01 FF beq SubCFB5C ; CPU:$FB4F PRG:3B4F F0 0B sta APUPULSE1TIMERLO,x ; CPU:$FB51 PRG:3B51 9D 02 40 lda $FF00,y ; CPU:$FB54 PRG:3B54 B9 00 FF ora #$08 ; CPU:$FB57 PRG:3B57 09 08 sta APUPULSE1TIMERHI,x ; CPU:$FB59 PRG:3B59 9D 03 40 ; ----------------------------------------------------------------------------- ; Routine: SubCFB5C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFB5C: rts ; CPU:$FB5C PRG:3B5C 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU6: tax ; CPU:$FB5D PRG:3B5D AA ror a ; CPU:$FB5E PRG:3B5E 6A txa ; CPU:$FB5F PRG:3B5F 8A rol a ; CPU:$FB60 PRG:3B60 2A rol a ; CPU:$FB61 PRG:3B61 2A rol a ; CPU:$FB62 PRG:3B62 2A and #$07 ; CPU:$FB63 PRG:3B63 29 07 clc ; CPU:$FB65 PRG:3B65 18 adc $07F0 ; CPU:$FB66 PRG:3B66 6D F0 07 tay ; CPU:$FB69 PRG:3B69 A8 lda $FF28,y ; CPU:$FB6A PRG:3B6A B9 28 FF rts ; CPU:$FB6D PRG:3B6D 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU7: sty ZpF1 ; CPU:$FB6E PRG:3B6E 84 F1 lda #$28 ; CPU:$FB70 PRG:3B70 A9 28 sta ZpF7 ; CPU:$FB72 PRG:3B72 85 F7 lda #$1A ; CPU:$FB74 PRG:3B74 A9 1A sta ZpF8 ; CPU:$FB76 PRG:3B76 85 F8 ldx #$9C ; CPU:$FB78 PRG:3B78 A2 9C ldy #$83 ; CPU:$FB7A PRG:3B7A A0 83 jsr UpdateAPU16 ; CPU:$FB7C PRG:3B7C 20 DC FF ; ----------------------------------------------------------------------------- ; Routine: SubCFB7F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFB7F: lda ZpF7 ; CPU:$FB7F PRG:3B7F A5 F7 cmp #$20 ; CPU:$FB81 PRG:3B81 C9 20 bcs SubCFB8C ; CPU:$FB83 PRG:3B83 B0 07 lsr a ; CPU:$FB85 PRG:3B85 4A lsr a ; CPU:$FB86 PRG:3B86 4A ora #$90 ; CPU:$FB87 PRG:3B87 09 90 sta APUPULSE1CTRL ; CPU:$FB89 PRG:3B89 8D 00 40 ; ----------------------------------------------------------------------------- ; Routine: SubCFB8C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFB8C: lda ZpF7 ; CPU:$FB8C PRG:3B8C A5 F7 and #$03 ; CPU:$FB8E PRG:3B8E 29 03 bne SubCFBAA ; CPU:$FB90 PRG:3B90 D0 18 lda ZpF8 ; CPU:$FB92 PRG:3B92 A5 F8 lsr a ; CPU:$FB94 PRG:3B94 4A lsr a ; CPU:$FB95 PRG:3B95 4A lsr a ; CPU:$FB96 PRG:3B96 4A lsr a ; CPU:$FB97 PRG:3B97 4A sec ; CPU:$FB98 PRG:3B98 38 adc ZpF8 ; CPU:$FB99 PRG:3B99 65 F8 sta ZpF8 ; CPU:$FB9B PRG:3B9B 85 F8 rol a ; CPU:$FB9D PRG:3B9D 2A rol a ; CPU:$FB9E PRG:3B9E 2A sta APUPULSE1TIMERLO ; CPU:$FB9F PRG:3B9F 8D 02 40 rol a ; CPU:$FBA2 PRG:3BA2 2A and #$07 ; CPU:$FBA3 PRG:3BA3 29 07 ora #$08 ; CPU:$FBA5 PRG:3BA5 09 08 sta APUPULSE1TIMERHI ; CPU:$FBA7 PRG:3BA7 8D 03 40 ; ----------------------------------------------------------------------------- ; Routine: SubCFBAA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFBAA: bne SubCFC27 ; CPU:$FBAA PRG:3BAA D0 7B ; ----------------------------------------------------------------------------- ; Routine: SubCFBAC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFBAC: sty ZpF1 ; CPU:$FBAC PRG:3BAC 84 F1 lda #$34 ; CPU:$FBAE PRG:3BAE A9 34 sta ZpF7 ; CPU:$FBB0 PRG:3BB0 85 F7 ldx #$5C ; CPU:$FBB2 PRG:3BB2 A2 5C ldy #$81 ; CPU:$FBB4 PRG:3BB4 A0 81 jsr UpdateAPU16 ; CPU:$FBB6 PRG:3BB6 20 DC FF bne SubCFBCE ; CPU:$FBB9 PRG:3BB9 D0 13 ; ----------------------------------------------------------------------------- ; Routine: SubCFBBB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFBBB: lda ZpF7 ; CPU:$FBBB PRG:3BBB A5 F7 lsr a ; CPU:$FBBD PRG:3BBD 4A cmp #$50 ; CPU:$FBBE PRG:3BBE C9 50 bcc SubCFBC3 ; CPU:$FBC0 PRG:3BC0 90 01 lsr a ; CPU:$FBC2 PRG:3BC2 4A ; ----------------------------------------------------------------------------- ; Routine: SubCFBC3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFBC3: lsr a ; CPU:$FBC3 PRG:3BC3 4A clc ; CPU:$FBC4 PRG:3BC4 18 adc ZpF7 ; CPU:$FBC5 PRG:3BC5 65 F7 bcc SubCFBCC ; CPU:$FBC7 PRG:3BC7 90 03 jmp UpdateAPU10 ; CPU:$FBC9 PRG:3BC9 4C 2B FC ; ----------------------------------------------------------------------------- ; Routine: SubCFBCC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFBCC: sta ZpF7 ; CPU:$FBCC PRG:3BCC 85 F7 ; ----------------------------------------------------------------------------- ; Routine: SubCFBCE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFBCE: rol a ; CPU:$FBCE PRG:3BCE 2A rol a ; CPU:$FBCF PRG:3BCF 2A sta APUPULSE1TIMERLO ; CPU:$FBD0 PRG:3BD0 8D 02 40 rol a ; CPU:$FBD3 PRG:3BD3 2A and #$03 ; CPU:$FBD4 PRG:3BD4 29 03 ora #$08 ; CPU:$FBD6 PRG:3BD6 09 08 sta APUPULSE1TIMERHI ; CPU:$FBD8 PRG:3BD8 8D 03 40 bne UpdateAPU9 ; CPU:$FBDB PRG:3BDB D0 32 ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU8: lda ZpF6 ; CPU:$FBDD PRG:3BDD A5 F6 bne UpdateAPU9 ; CPU:$FBDF PRG:3BDF D0 2E ldy ZpFF ; CPU:$FBE1 PRG:3BE1 A4 FF lda ZpF1 ; CPU:$FBE3 PRG:3BE3 A5 F1 lsr ZpFF ; CPU:$FBE5 PRG:3BE5 46 FF bcs SubCFC61 ; CPU:$FBE7 PRG:3BE7 B0 78 lsr a ; CPU:$FBE9 PRG:3BE9 4A bcs SubCFC12 ; CPU:$FBEA PRG:3BEA B0 26 lsr ZpFF ; CPU:$FBEC PRG:3BEC 46 FF bcs SubCFC15 ; CPU:$FBEE PRG:3BEE B0 25 lsr a ; CPU:$FBF0 PRG:3BF0 4A bcs SubCFB7F ; CPU:$FBF1 PRG:3BF1 B0 8C lsr ZpFF ; CPU:$FBF3 PRG:3BF3 46 FF bcs SubCFC34 ; CPU:$FBF5 PRG:3BF5 B0 3D lsr a ; CPU:$FBF7 PRG:3BF7 4A bcs SubCFC27 ; CPU:$FBF8 PRG:3BF8 B0 2D lsr ZpFF ; CPU:$FBFA PRG:3BFA 46 FF bcs SubCFC45 ; CPU:$FBFC PRG:3BFC B0 47 lsr a ; CPU:$FBFE PRG:3BFE 4A bcs SubCFC54 ; CPU:$FBFF PRG:3BFF B0 53 lsr ZpFF ; CPU:$FC01 PRG:3C01 46 FF bcs SubCFBAC ; CPU:$FC03 PRG:3C03 B0 A7 lsr a ; CPU:$FC05 PRG:3C05 4A bcs SubCFBBB ; CPU:$FC06 PRG:3C06 B0 B3 lsr ZpFF ; CPU:$FC08 PRG:3C08 46 FF bcs SubCFC18 ; CPU:$FC0A PRG:3C0A B0 0C lsr a ; CPU:$FC0C PRG:3C0C 4A bcs SubCFC27 ; CPU:$FC0D PRG:3C0D B0 18 ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU9: jmp UpdateAPU12 ; CPU:$FC0F PRG:3C0F 4C E2 FC ; ----------------------------------------------------------------------------- ; Routine: SubCFC12 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFC12: jmp UpdateAPU11 ; CPU:$FC12 PRG:3C12 4C 72 FC ; ----------------------------------------------------------------------------- ; Routine: SubCFC15 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFC15: jmp UpdateAPU7 ; CPU:$FC15 PRG:3C15 4C 6E FB ; ----------------------------------------------------------------------------- ; Routine: SubCFC18 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFC18: sty ZpF1 ; CPU:$FC18 PRG:3C18 84 F1 lda #$0A ; CPU:$FC1A PRG:3C1A A9 0A sta ZpF7 ; CPU:$FC1C PRG:3C1C 85 F7 ldx #$96 ; CPU:$FC1E PRG:3C1E A2 96 ldy #$82 ; CPU:$FC20 PRG:3C20 A0 82 lda #$18 ; CPU:$FC22 PRG:3C22 A9 18 jsr UpdateAPU2 ; CPU:$FC24 PRG:3C24 20 40 FB ; ----------------------------------------------------------------------------- ; Routine: SubCFC27 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFC27: dec ZpF7 ; CPU:$FC27 PRG:3C27 C6 F7 bne UpdateAPU9 ; CPU:$FC29 PRG:3C29 D0 E4 ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU10 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU10: jsr UpdateAPU17 ; CPU:$FC2B PRG:3C2B 20 E3 FF lda #$00 ; CPU:$FC2E PRG:3C2E A9 00 sta ZpF1 ; CPU:$FC30 PRG:3C30 85 F1 beq UpdateAPU9 ; CPU:$FC32 PRG:3C32 F0 DB ; ----------------------------------------------------------------------------- ; Routine: SubCFC34 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFC34: sty ZpF1 ; CPU:$FC34 PRG:3C34 84 F1 lda #$0A ; CPU:$FC36 PRG:3C36 A9 0A sta ZpF7 ; CPU:$FC38 PRG:3C38 85 F7 ldx #$83 ; CPU:$FC3A PRG:3C3A A2 83 ldy #$8A ; CPU:$FC3C PRG:3C3C A0 8A lda #$18 ; CPU:$FC3E PRG:3C3E A9 18 jsr UpdateAPU2 ; CPU:$FC40 PRG:3C40 20 40 FB bne SubCFC27 ; CPU:$FC43 PRG:3C43 D0 E2 ; ----------------------------------------------------------------------------- ; Routine: SubCFC45 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFC45: sty ZpF1 ; CPU:$FC45 PRG:3C45 84 F1 lda #$0C ; CPU:$FC47 PRG:3C47 A9 0C sta ZpF7 ; CPU:$FC49 PRG:3C49 85 F7 ldx #$85 ; CPU:$FC4B PRG:3C4B A2 85 ldy #$8C ; CPU:$FC4D PRG:3C4D A0 8C lda #$02 ; CPU:$FC4F PRG:3C4F A9 02 jsr UpdateAPU2 ; CPU:$FC51 PRG:3C51 20 40 FB ; ----------------------------------------------------------------------------- ; Routine: SubCFC54 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFC54: lda ZpF7 ; CPU:$FC54 PRG:3C54 A5 F7 cmp #$0A ; CPU:$FC56 PRG:3C56 C9 0A bne SubCFC5F ; CPU:$FC58 PRG:3C58 D0 05 lda #$8B ; CPU:$FC5A PRG:3C5A A9 8B sta APUPULSE1SWEEP ; CPU:$FC5C PRG:3C5C 8D 01 40 ; ----------------------------------------------------------------------------- ; Routine: SubCFC5F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFC5F: bne SubCFC27 ; CPU:$FC5F PRG:3C5F D0 C6 ; ----------------------------------------------------------------------------- ; Routine: SubCFC61 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFC61: sty ZpF1 ; CPU:$FC61 PRG:3C61 84 F1 lda #$29 ; CPU:$FC63 PRG:3C63 A9 29 sta ZpF7 ; CPU:$FC65 PRG:3C65 85 F7 lda #$25 ; CPU:$FC67 PRG:3C67 A9 25 sta ZpF8 ; CPU:$FC69 PRG:3C69 85 F8 ldx #$9C ; CPU:$FC6B PRG:3C6B A2 9C ldy #$83 ; CPU:$FC6D PRG:3C6D A0 83 jsr UpdateAPU16 ; CPU:$FC6F PRG:3C6F 20 DC FF ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU11 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU11: dec ZpF7 ; CPU:$FC72 PRG:3C72 C6 F7 lda ZpF7 ; CPU:$FC74 PRG:3C74 A5 F7 beq UpdateAPU10 ; CPU:$FC76 PRG:3C76 F0 B3 cmp #$30 ; CPU:$FC78 PRG:3C78 C9 30 bcs SubCFC83 ; CPU:$FC7A PRG:3C7A B0 07 lsr a ; CPU:$FC7C PRG:3C7C 4A lsr a ; CPU:$FC7D PRG:3C7D 4A ora #$90 ; CPU:$FC7E PRG:3C7E 09 90 sta APUPULSE1CTRL ; CPU:$FC80 PRG:3C80 8D 00 40 ; ----------------------------------------------------------------------------- ; Routine: SubCFC83 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFC83: lda ZpF7 ; CPU:$FC83 PRG:3C83 A5 F7 and #$03 ; CPU:$FC85 PRG:3C85 29 03 bne SubCFCA5 ; CPU:$FC87 PRG:3C87 D0 1C lda ZpF8 ; CPU:$FC89 PRG:3C89 A5 F8 lsr a ; CPU:$FC8B PRG:3C8B 4A lsr a ; CPU:$FC8C PRG:3C8C 4A lsr a ; CPU:$FC8D PRG:3C8D 4A lsr a ; CPU:$FC8E PRG:3C8E 4A sec ; CPU:$FC8F PRG:3C8F 38 adc ZpF8 ; CPU:$FC90 PRG:3C90 65 F8 sta ZpF8 ; CPU:$FC92 PRG:3C92 85 F8 asl a ; CPU:$FC94 PRG:3C94 0A asl a ; CPU:$FC95 PRG:3C95 0A asl a ; CPU:$FC96 PRG:3C96 0A sta APUPULSE1TIMERLO ; CPU:$FC97 PRG:3C97 8D 02 40 lda ZpF8 ; CPU:$FC9A PRG:3C9A A5 F8 rol a ; CPU:$FC9C PRG:3C9C 2A rol a ; CPU:$FC9D PRG:3C9D 2A rol a ; CPU:$FC9E PRG:3C9E 2A rol a ; CPU:$FC9F PRG:3C9F 2A and #$07 ; CPU:$FCA0 PRG:3CA0 29 07 sta APUPULSE1TIMERHI ; CPU:$FCA2 PRG:3CA2 8D 03 40 ; ----------------------------------------------------------------------------- ; Routine: SubCFCA5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFCA5: jmp UpdateAPU9 ; CPU:$FCA5 PRG:3CA5 4C 0F FC ; ---- data $FCA8-$FCB3 (12 bytes) ---- ; referenced by `lda $FCA8,y` at $FCC8 (operand $FCA8 falls inside this region) .byte $0E, $0D, $0E, $0D, $0C, $0D, $0C, $0D, $0C, $0B, $0C, $0B ; CPU:$FCA8 PRG:3CA8 0E 0D 0E 0D 0C 0D 0C 0D 0C 0B 0C 0B ; ----------------------------------------------------------------------------- ; Routine: SubCFCB4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFCB4: sty ZpF2 ; CPU:$FCB4 PRG:3CB4 84 F2 lda #$17 ; CPU:$FCB6 PRG:3CB6 A9 17 sta ZpF9 ; CPU:$FCB8 PRG:3CB8 85 F9 lda #$08 ; CPU:$FCBA PRG:3CBA A9 08 sta APUNOISELENGTH ; CPU:$FCBC PRG:3CBC 8D 0F 40 lda #$09 ; CPU:$FCBF PRG:3CBF A9 09 sta APUNOISECTRL ; CPU:$FCC1 PRG:3CC1 8D 0C 40 ; ----------------------------------------------------------------------------- ; Routine: SubCFCC4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFCC4: lda ZpF9 ; CPU:$FCC4 PRG:3CC4 A5 F9 lsr a ; CPU:$FCC6 PRG:3CC6 4A tay ; CPU:$FCC7 PRG:3CC7 A8 lda $FCA8,y ; CPU:$FCC8 PRG:3CC8 B9 A8 FC sta APUNOISEPERIOD ; CPU:$FCCB PRG:3CCB 8D 0E 40 jmp UpdateAPU14 ; CPU:$FCCE PRG:3CCE 4C 55 FD ; ----------------------------------------------------------------------------- ; Routine: SubCFCD1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFCD1: sty ZpF2 ; CPU:$FCD1 PRG:3CD1 84 F2 lda #$28 ; CPU:$FCD3 PRG:3CD3 A9 28 sta ZpF9 ; CPU:$FCD5 PRG:3CD5 85 F9 ldx #$8F ; CPU:$FCD7 PRG:3CD7 A2 8F ldy #$95 ; CPU:$FCD9 PRG:3CD9 A0 95 lda #$20 ; CPU:$FCDB PRG:3CDB A9 20 jsr UpdateAPU19 ; CPU:$FCDD PRG:3CDD 20 F0 FF bne UpdateAPU14 ; CPU:$FCE0 PRG:3CE0 D0 73 ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU12 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU12: lda ZpF6 ; CPU:$FCE2 PRG:3CE2 A5 F6 bne UpdateAPU13 ; CPU:$FCE4 PRG:3CE4 D0 27 ldy ZpFE ; CPU:$FCE6 PRG:3CE6 A4 FE lda ZpF2 ; CPU:$FCE8 PRG:3CE8 A5 F2 lsr ZpFE ; CPU:$FCEA PRG:3CEA 46 FE bcs SubCFCB4 ; CPU:$FCEC PRG:3CEC B0 C6 lsr a ; CPU:$FCEE PRG:3CEE 4A bcs SubCFCC4 ; CPU:$FCEF PRG:3CEF B0 D3 lsr ZpFE ; CPU:$FCF1 PRG:3CF1 46 FE bcs SubCFCD1 ; CPU:$FCF3 PRG:3CF3 B0 DC lsr a ; CPU:$FCF5 PRG:3CF5 4A bcs UpdateAPU14 ; CPU:$FCF6 PRG:3CF6 B0 5D lsr ZpFE ; CPU:$FCF8 PRG:3CF8 46 FE bcs SubCFD24 ; CPU:$FCFA PRG:3CFA B0 28 lsr a ; CPU:$FCFC PRG:3CFC 4A bcs SubCFD33 ; CPU:$FCFD PRG:3CFD B0 34 lsr ZpFE ; CPU:$FCFF PRG:3CFF 46 FE bcs SubCFD5C ; CPU:$FD01 PRG:3D01 B0 59 lsr a ; CPU:$FD03 PRG:3D03 4A bcs UpdateAPU14 ; CPU:$FD04 PRG:3D04 B0 4F lsr a ; CPU:$FD06 PRG:3D06 4A bcs UpdateAPU14 ; CPU:$FD07 PRG:3D07 B0 4C lsr ZpFE ; CPU:$FD09 PRG:3D09 46 FE bcs SubCFD6D ; CPU:$FD0B PRG:3D0B B0 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU13 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU13: jmp UpdateAPU15 ; CPU:$FD0D PRG:3D0D 4C 91 FD ; ----------------------------------------------------------------------------- ; Routine: SubCFD10 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFD10: lda #$00 ; CPU:$FD10 PRG:3D10 A9 00 sta ZpF2 ; CPU:$FD12 PRG:3D12 85 F2 lda #$10 ; CPU:$FD14 PRG:3D14 A9 10 sta APUPULSE2CTRL ; CPU:$FD16 PRG:3D16 8D 04 40 sta APUNOISECTRL ; CPU:$FD19 PRG:3D19 8D 0C 40 bne UpdateAPU13 ; CPU:$FD1C PRG:3D1C D0 EF ; ---- data $FD1E-$FD23 (6 bytes) ---- .byte $8B, $8A, $8B, $82, $83, $82 ; CPU:$FD1E PRG:3D1E 8B 8A 8B 82 83 82 ; ----------------------------------------------------------------------------- ; Routine: SubCFD24 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFD24: sty ZpF2 ; CPU:$FD24 PRG:3D24 84 F2 lda #$18 ; CPU:$FD26 PRG:3D26 A9 18 sta ZpF9 ; CPU:$FD28 PRG:3D28 85 F9 lda #$24 ; CPU:$FD2A PRG:3D2A A9 24 jsr UpdateAPU4 ; CPU:$FD2C PRG:3D2C 20 46 FB lda #$07 ; CPU:$FD2F PRG:3D2F A9 07 sta ZpFA ; CPU:$FD31 PRG:3D31 85 FA ; ----------------------------------------------------------------------------- ; Routine: SubCFD33 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFD33: dec ZpFA ; CPU:$FD33 PRG:3D33 C6 FA bne SubCFD40 ; CPU:$FD35 PRG:3D35 D0 09 lda #$07 ; CPU:$FD37 PRG:3D37 A9 07 sta ZpFA ; CPU:$FD39 PRG:3D39 85 FA lda #$22 ; CPU:$FD3B PRG:3D3B A9 22 jsr UpdateAPU4 ; CPU:$FD3D PRG:3D3D 20 46 FB ; ----------------------------------------------------------------------------- ; Routine: SubCFD40 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFD40: ldy ZpFA ; CPU:$FD40 PRG:3D40 A4 FA lda $FD1D,y ; CPU:$FD42 PRG:3D42 B9 1D FD tay ; CPU:$FD45 PRG:3D45 A8 ldx #$98 ; CPU:$FD46 PRG:3D46 A2 98 lda ZpF9 ; CPU:$FD48 PRG:3D48 A5 F9 cmp #$10 ; CPU:$FD4A PRG:3D4A C9 10 bcs SubCFD52 ; CPU:$FD4C PRG:3D4C B0 04 lsr a ; CPU:$FD4E PRG:3D4E 4A ora #$90 ; CPU:$FD4F PRG:3D4F 09 90 tax ; CPU:$FD51 PRG:3D51 AA ; ----------------------------------------------------------------------------- ; Routine: SubCFD52 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFD52: jsr UpdateAPU18 ; CPU:$FD52 PRG:3D52 20 E9 FF ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU14 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU14: dec ZpF9 ; CPU:$FD55 PRG:3D55 C6 F9 beq SubCFD10 ; CPU:$FD57 PRG:3D57 F0 B7 jmp UpdateAPU13 ; CPU:$FD59 PRG:3D59 4C 0D FD ; ----------------------------------------------------------------------------- ; Routine: SubCFD5C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFD5C: sty ZpF2 ; CPU:$FD5C PRG:3D5C 84 F2 lda #$05 ; CPU:$FD5E PRG:3D5E A9 05 sta ZpF9 ; CPU:$FD60 PRG:3D60 85 F9 ldx #$82 ; CPU:$FD62 PRG:3D62 A2 82 ldy #$8B ; CPU:$FD64 PRG:3D64 A0 8B lda #$00 ; CPU:$FD66 PRG:3D66 A9 00 jsr UpdateAPU2 ; CPU:$FD68 PRG:3D68 20 40 FB bne UpdateAPU14 ; CPU:$FD6B PRG:3D6B D0 E8 ; ----------------------------------------------------------------------------- ; Routine: SubCFD6D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFD6D: sty ZpF2 ; CPU:$FD6D PRG:3D6D 84 F2 lda #$08 ; CPU:$FD6F PRG:3D6F A9 08 sta ZpF9 ; CPU:$FD71 PRG:3D71 85 F9 ldx #$80 ; CPU:$FD73 PRG:3D73 A2 80 ldy #$7F ; CPU:$FD75 PRG:3D75 A0 7F jsr UpdateAPU18 ; CPU:$FD77 PRG:3D77 20 E9 FF inc $07F6 ; CPU:$FD7A PRG:3D7A EE F6 07 lda $07F6 ; CPU:$FD7D PRG:3D7D AD F6 07 lsr a ; CPU:$FD80 PRG:3D80 4A ldy #$1D ; CPU:$FD81 PRG:3D81 A0 1D bcc SubCFD87 ; CPU:$FD83 PRG:3D83 90 02 ldy #$AB ; CPU:$FD85 PRG:3D85 A0 AB ; ----------------------------------------------------------------------------- ; Routine: SubCFD87 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFD87: sty APUPULSE2TIMERLO ; CPU:$FD87 PRG:3D87 8C 06 40 lda #$19 ; CPU:$FD8A PRG:3D8A A9 19 sta APUPULSE2TIMERHI ; CPU:$FD8C PRG:3D8C 8D 07 40 bne UpdateAPU14 ; CPU:$FD8F PRG:3D8F D0 C4 ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU15 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU15: lda ZpFD ; CPU:$FD91 PRG:3D91 A5 FD bne SubCFD9A ; CPU:$FD93 PRG:3D93 D0 05 lda ZpF6 ; CPU:$FD95 PRG:3D95 A5 F6 bne SubCFDE7 ; CPU:$FD97 PRG:3D97 D0 4E rts ; CPU:$FD99 PRG:3D99 60 ; ----------------------------------------------------------------------------- ; Routine: SubCFD9A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFD9A: ldy #$07 ; CPU:$FD9A PRG:3D9A A0 07 ; ----------------------------------------------------------------------------- ; Routine: SubCFD9C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFD9C: asl a ; CPU:$FD9C PRG:3D9C 0A bcs SubCFDA2 ; CPU:$FD9D PRG:3D9D B0 03 dey ; CPU:$FD9F PRG:3D9F 88 bne SubCFD9C ; CPU:$FDA0 PRG:3DA0 D0 FA ; ----------------------------------------------------------------------------- ; Routine: SubCFDA2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFDA2: sty ZpF3 ; CPU:$FDA2 PRG:3DA2 84 F3 lda $FF3F,y ; CPU:$FDA4 PRG:3DA4 B9 3F FF tay ; CPU:$FDA7 PRG:3DA7 A8 lda $FF3F,y ; CPU:$FDA8 PRG:3DA8 B9 3F FF sta $07F0 ; CPU:$FDAB PRG:3DAB 8D F0 07 lda $FF40,y ; CPU:$FDAE PRG:3DAE B9 40 FF sta ZpFB ; CPU:$FDB1 PRG:3DB1 85 FB lda $FF41,y ; CPU:$FDB3 PRG:3DB3 B9 41 FF sta ZpFC ; CPU:$FDB6 PRG:3DB6 85 FC lda $FF42,y ; CPU:$FDB8 PRG:3DB8 B9 42 FF sta ZpF4 ; CPU:$FDBB PRG:3DBB 85 F4 lda $FF43,y ; CPU:$FDBD PRG:3DBD B9 43 FF sta ZpF5 ; CPU:$FDC0 PRG:3DC0 85 F5 lda #$01 ; CPU:$FDC2 PRG:3DC2 A9 01 sta $07F1 ; CPU:$FDC4 PRG:3DC4 8D F1 07 sta $07F2 ; CPU:$FDC7 PRG:3DC7 8D F2 07 sta $07F3 ; CPU:$FDCA PRG:3DCA 8D F3 07 ldy #$00 ; CPU:$FDCD PRG:3DCD A0 00 sty ZpF6 ; CPU:$FDCF PRG:3DCF 84 F6 sty APUTRIANGLECTRL ; CPU:$FDD1 PRG:3DD1 8C 08 40 lda #$10 ; CPU:$FDD4 PRG:3DD4 A9 10 sta APUPULSE1CTRL ; CPU:$FDD6 PRG:3DD6 8D 00 40 sta APUPULSE2CTRL ; CPU:$FDD9 PRG:3DD9 8D 04 40 sta APUNOISECTRL ; CPU:$FDDC PRG:3DDC 8D 0C 40 lda #$7F ; CPU:$FDDF PRG:3DDF A9 7F sta APUPULSE1SWEEP ; CPU:$FDE1 PRG:3DE1 8D 01 40 sta APUPULSE2SWEEP ; CPU:$FDE4 PRG:3DE4 8D 05 40 ; ----------------------------------------------------------------------------- ; Routine: SubCFDE7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFDE7: lda ZpF3 ; CPU:$FDE7 PRG:3DE7 A5 F3 bne SubCFE04 ; CPU:$FDE9 PRG:3DE9 D0 19 lda $07F5 ; CPU:$FDEB PRG:3DEB AD F5 07 beq SubCFE04 ; CPU:$FDEE PRG:3DEE F0 14 lda $07F1 ; CPU:$FDF0 PRG:3DF0 AD F1 07 ldx #$90 ; CPU:$FDF3 PRG:3DF3 A2 90 cmp #$03 ; CPU:$FDF5 PRG:3DF5 C9 03 bcc SubCFE01 ; CPU:$FDF7 PRG:3DF7 90 08 ldx #$9D ; CPU:$FDF9 PRG:3DF9 A2 9D and #$07 ; CPU:$FDFB PRG:3DFB 29 07 bne SubCFE01 ; CPU:$FDFD PRG:3DFD D0 02 ldx #$9A ; CPU:$FDFF PRG:3DFF A2 9A ; ----------------------------------------------------------------------------- ; Routine: SubCFE01 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE01: stx APUPULSE2CTRL ; CPU:$FE01 PRG:3E01 8E 04 40 ; ----------------------------------------------------------------------------- ; Routine: SubCFE04 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE04: dec $07F1 ; CPU:$FE04 PRG:3E04 CE F1 07 bne SubCFE44 ; CPU:$FE07 PRG:3E07 D0 3B ldy ZpF6 ; CPU:$FE09 PRG:3E09 A4 F6 inc ZpF6 ; CPU:$FE0B PRG:3E0B E6 F6 lda (ZpFB),y ; CPU:$FE0D PRG:3E0D B1 FB bne SubCFE1B ; CPU:$FE0F PRG:3E0F D0 0A lda #$00 ; CPU:$FE11 PRG:3E11 A9 00 ldx #$05 ; CPU:$FE13 PRG:3E13 A2 05 ; ----------------------------------------------------------------------------- ; Routine: SubCFE15 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE15: sta ZpF1,x ; CPU:$FE15 PRG:3E15 95 F1 dex ; CPU:$FE17 PRG:3E17 CA bpl SubCFE15 ; CPU:$FE18 PRG:3E18 10 FB rts ; CPU:$FE1A PRG:3E1A 60 ; ----------------------------------------------------------------------------- ; Routine: SubCFE1B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE1B: jsr UpdateAPU6 ; CPU:$FE1B PRG:3E1B 20 5D FB sta $07F1 ; CPU:$FE1E PRG:3E1E 8D F1 07 txa ; CPU:$FE21 PRG:3E21 8A and #$3E ; CPU:$FE22 PRG:3E22 29 3E jsr UpdateAPU4 ; CPU:$FE24 PRG:3E24 20 46 FB sta $07F5 ; CPU:$FE27 PRG:3E27 8D F5 07 bne SubCFE30 ; CPU:$FE2A PRG:3E2A D0 04 ldx #$90 ; CPU:$FE2C PRG:3E2C A2 90 bne SubCFE41 ; CPU:$FE2E PRG:3E2E D0 11 ; ----------------------------------------------------------------------------- ; Routine: SubCFE30 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE30: ldx #$9D ; CPU:$FE30 PRG:3E30 A2 9D lda ZpF3 ; CPU:$FE32 PRG:3E32 A5 F3 beq SubCFE41 ; CPU:$FE34 PRG:3E34 F0 0B ldx #$86 ; CPU:$FE36 PRG:3E36 A2 86 lda $07F1 ; CPU:$FE38 PRG:3E38 AD F1 07 cmp #$08 ; CPU:$FE3B PRG:3E3B C9 08 bcs SubCFE41 ; CPU:$FE3D PRG:3E3D B0 02 ldx #$82 ; CPU:$FE3F PRG:3E3F A2 82 ; ----------------------------------------------------------------------------- ; Routine: SubCFE41 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE41: stx APUPULSE2CTRL ; CPU:$FE41 PRG:3E41 8E 04 40 ; ----------------------------------------------------------------------------- ; Routine: SubCFE44 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE44: ldy ZpF5 ; CPU:$FE44 PRG:3E44 A4 F5 beq SubCFE8B ; CPU:$FE46 PRG:3E46 F0 43 lda ZpF3 ; CPU:$FE48 PRG:3E48 A5 F3 bne SubCFE56 ; CPU:$FE4A PRG:3E4A D0 0A lda $07F2 ; CPU:$FE4C PRG:3E4C AD F2 07 cmp #$03 ; CPU:$FE4F PRG:3E4F C9 03 bcs SubCFE56 ; CPU:$FE51 PRG:3E51 B0 03 jsr UpdateAPU17 ; CPU:$FE53 PRG:3E53 20 E3 FF ; ----------------------------------------------------------------------------- ; Routine: SubCFE56 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE56: dec $07F2 ; CPU:$FE56 PRG:3E56 CE F2 07 bne SubCFE8B ; CPU:$FE59 PRG:3E59 D0 30 inc ZpF5 ; CPU:$FE5B PRG:3E5B E6 F5 lda (ZpFB),y ; CPU:$FE5D PRG:3E5D B1 FB jsr UpdateAPU6 ; CPU:$FE5F PRG:3E5F 20 5D FB sta $07F2 ; CPU:$FE62 PRG:3E62 8D F2 07 txa ; CPU:$FE65 PRG:3E65 8A and #$3E ; CPU:$FE66 PRG:3E66 29 3E jsr UpdateAPU3 ; CPU:$FE68 PRG:3E68 20 43 FB bne SubCFE71 ; CPU:$FE6B PRG:3E6B D0 04 ldx #$90 ; CPU:$FE6D PRG:3E6D A2 90 bne SubCFE88 ; CPU:$FE6F PRG:3E6F D0 17 ; ----------------------------------------------------------------------------- ; Routine: SubCFE71 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE71: ldx #$5A ; CPU:$FE71 PRG:3E71 A2 5A lda ZpF3 ; CPU:$FE73 PRG:3E73 A5 F3 beq SubCFE88 ; CPU:$FE75 PRG:3E75 F0 11 ldx #$46 ; CPU:$FE77 PRG:3E77 A2 46 lda $07F2 ; CPU:$FE79 PRG:3E79 AD F2 07 cmp #$08 ; CPU:$FE7C PRG:3E7C C9 08 bcs SubCFE82 ; CPU:$FE7E PRG:3E7E B0 02 ldx #$42 ; CPU:$FE80 PRG:3E80 A2 42 ; ----------------------------------------------------------------------------- ; Routine: SubCFE82 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE82: lda ZpF4 ; CPU:$FE82 PRG:3E82 A5 F4 bne SubCFE88 ; CPU:$FE84 PRG:3E84 D0 02 ldx #$86 ; CPU:$FE86 PRG:3E86 A2 86 ; ----------------------------------------------------------------------------- ; Routine: SubCFE88 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE88: stx APUPULSE1CTRL ; CPU:$FE88 PRG:3E88 8E 00 40 ; ----------------------------------------------------------------------------- ; Routine: SubCFE8B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE8B: ldy ZpF4 ; CPU:$FE8B PRG:3E8B A4 F4 beq SubCFEC5 ; CPU:$FE8D PRG:3E8D F0 36 lda $07F3 ; CPU:$FE8F PRG:3E8F AD F3 07 cmp #$02 ; CPU:$FE92 PRG:3E92 C9 02 bne SubCFE9B ; CPU:$FE94 PRG:3E94 D0 05 lda #$00 ; CPU:$FE96 PRG:3E96 A9 00 sta APUTRIANGLECTRL ; CPU:$FE98 PRG:3E98 8D 08 40 ; ----------------------------------------------------------------------------- ; Routine: SubCFE9B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFE9B: dec $07F3 ; CPU:$FE9B PRG:3E9B CE F3 07 bne SubCFEC5 ; CPU:$FE9E PRG:3E9E D0 25 inc ZpF4 ; CPU:$FEA0 PRG:3EA0 E6 F4 lda (ZpFB),y ; CPU:$FEA2 PRG:3EA2 B1 FB jsr UpdateAPU6 ; CPU:$FEA4 PRG:3EA4 20 5D FB sta $07F3 ; CPU:$FEA7 PRG:3EA7 8D F3 07 ldy #$38 ; CPU:$FEAA PRG:3EAA A0 38 clc ; CPU:$FEAC PRG:3EAC 18 adc #$FF ; CPU:$FEAD PRG:3EAD 69 FF cmp #$0E ; CPU:$FEAF PRG:3EAF C9 0E bcs SubCFEB6 ; CPU:$FEB1 PRG:3EB1 B0 03 asl a ; CPU:$FEB3 PRG:3EB3 0A asl a ; CPU:$FEB4 PRG:3EB4 0A tay ; CPU:$FEB5 PRG:3EB5 A8 ; ----------------------------------------------------------------------------- ; Routine: SubCFEB6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFEB6: lda ZpF3 ; CPU:$FEB6 PRG:3EB6 A5 F3 bne SubCFEBC ; CPU:$FEB8 PRG:3EB8 D0 02 ldy #$88 ; CPU:$FEBA PRG:3EBA A0 88 ; ----------------------------------------------------------------------------- ; Routine: SubCFEBC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFEBC: sty APUTRIANGLECTRL ; CPU:$FEBC PRG:3EBC 8C 08 40 txa ; CPU:$FEBF PRG:3EBF 8A and #$3E ; CPU:$FEC0 PRG:3EC0 29 3E jmp UpdateAPU5 ; CPU:$FEC2 PRG:3EC2 4C 49 FB ; ----------------------------------------------------------------------------- ; Routine: SubCFEC5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SubCFEC5: rts ; CPU:$FEC5 PRG:3EC5 60 ; ---- data $FEC6-$FFDB (278 bytes) ---- ; referenced by `lda $FF01,y` at $FB4C (operand $FF01 falls inside this region) ; referenced by `lda $FF00,y` at $FB54 (operand $FF00 falls inside this region) ; referenced by `lda $FF28,y` at $FB6A (operand $FF28 falls inside this region) ; referenced by `lda $FF3F,y` at $FDA4 (operand $FF3F falls inside this region) ; referenced by `lda $FF3F,y` at $FDA8 (operand $FF3F falls inside this region) ; referenced by `lda $FF40,y` at $FDAE (operand $FF40 falls inside this region) ; ... and 3 further references from decoded code .byte $8A, $4A, $4A, $CA, $84, $8E, $4E, $4E, $CE, $8A, $92, $52, $52, $D2, $82, $98 ; CPU:$FEC6 PRG:3EC6 8A 4A 4A CA 84 8E 4E 4E CE 8A 92 52 52 D2 82 98 .byte $58, $58, $99, $00, $84, $44, $44, $C4, $82, $8A, $4A, $4A, $CA, $84, $8E, $4E ; CPU:$FED6 PRG:3ED6 58 58 99 00 84 44 44 C4 82 8A 4A 4A CA 84 8E 4E .byte $4E, $CE, $8A, $92, $52, $52, $93, $8A, $4A, $4A, $CA, $8A, $8E, $4E, $4E, $CE ; CPU:$FEE6 PRG:3EE6 4E CE 8A 92 52 52 93 8A 4A 4A CA 8A 8E 4E 4E CE .byte $8E, $92, $52, $52, $D2, $92, $98, $58, $58, $99, $06, $AE, $02, $A6, $02, $3A ; CPU:$FEF6 PRG:3EF6 8E 92 52 52 D2 92 98 58 58 99 06 AE 02 A6 02 3A .byte $01, $FC, $01, $C4, $01, $AB, $01, $7C, $01, $52, $01, $3F, $01, $1C, $00, $FD ; CPU:$FF06 PRG:3F06 01 FC 01 C4 01 AB 01 7C 01 52 01 3F 01 1C 00 FD .byte $00, $E1, $00, $D4, $00, $BD, $00, $A8, $00, $8D, $00, $69, $00, $24, $00, $20 ; CPU:$FF16 PRG:3F16 00 E1 00 D4 00 BD 00 A8 00 8D 00 69 00 24 00 20 .byte $00, $00, $03, $06, $0C, $18, $30, $12, $24, $04, $05, $0A, $14, $28, $50, $1E ; CPU:$FF26 PRG:3F26 00 00 03 06 0C 18 30 12 24 04 05 0A 14 28 50 1E .byte $3C, $05, $0B, $16, $2C, $58, $21, $42, $06, $08, $0D, $03, $0F, $51, $FF, $00 ; CPU:$FF36 PRG:3F36 3C 05 0B 16 2C 58 21 42 06 08 0D 03 0F 51 FF 00 .byte $00, $00, $C6, $FE, $27, $14, $0F, $5A, $FF, $49, $1D, $20, $1E, $20, $1E, $20 ; CPU:$FF46 PRG:3F46 00 00 C6 FE 27 14 0F 5A FF 49 1D 20 1E 20 1E 20 .byte $1E, $20, $5E, $00, $9C, $9C, $5A, $59, $9A, $9A, $58, $57, $98, $98, $56, $94 ; CPU:$FF56 PRG:3F56 1E 20 5E 00 9C 9C 5A 59 9A 9A 58 57 98 98 56 94 .byte $13, $66, $9C, $9C, $5A, $59, $9A, $9A, $58, $57, $98, $98, $56, $98, $5A, $19 ; CPU:$FF66 PRG:3F66 13 66 9C 9C 5A 59 9A 9A 58 57 98 98 56 98 5A 19 .byte $00, $98, $98, $56, $4A, $4E, $52, $96, $96, $54, $48, $4C, $52, $94, $94, $52 ; CPU:$FF76 PRG:3F76 00 98 98 56 4A 4E 52 96 96 54 48 4C 52 94 94 52 .byte $46, $4A, $0F, $66, $66, $52, $4E, $52, $66, $4E, $4A, $4E, $66, $56, $52, $56 ; CPU:$FF86 PRG:3F86 46 4A 0F 66 66 52 4E 52 66 4E 4A 4E 66 56 52 56 .byte $66, $52, $4C, $52, $66, $50, $4A, $50, $66, $4C, $48, $4C, $0B, $4A, $8A, $44 ; CPU:$FF96 PRG:3F96 66 52 4C 52 66 50 4A 50 66 4C 48 4C 0B 4A 8A 44 .byte $4A, $8A, $44, $52, $92, $4C, $52, $92, $4C, $50, $90, $4A, $50, $90, $4A, $4A ; CPU:$FFA6 PRG:3FA6 4A 8A 44 52 92 4C 52 92 4C 50 90 4A 50 90 4A 4A .byte $44, $44, $44, $44, $46, $48, $4A, $4A, $4A, $4A, $4A, $44, $44, $44, $44, $52 ; CPU:$FFB6 PRG:3FB6 44 44 44 44 46 48 4A 4A 4A 4A 4A 44 44 44 44 52 .byte $52, $52, $52, $4C, $4C, $4C, $4C, $50, $50, $50, $50, $44, $44, $44, $44, $0A ; CPU:$FFC6 PRG:3FC6 52 52 52 4C 4C 4C 4C 50 50 50 50 44 44 44 44 0A .byte $C5, $26, $44, $C7, $48, $0B ; CPU:$FFD6 PRG:3FD6 C5 26 44 C7 48 0B ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU16 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU16: stx APUPULSE1CTRL ; CPU:$FFDC PRG:3FDC 8E 00 40 sty APUPULSE1SWEEP ; CPU:$FFDF PRG:3FDF 8C 01 40 rts ; CPU:$FFE2 PRG:3FE2 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU17 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU17: lda #$90 ; CPU:$FFE3 PRG:3FE3 A9 90 sta APUPULSE1CTRL ; CPU:$FFE5 PRG:3FE5 8D 00 40 rts ; CPU:$FFE8 PRG:3FE8 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU18 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU18: stx APUPULSE2CTRL ; CPU:$FFE9 PRG:3FE9 8E 04 40 sty APUPULSE2SWEEP ; CPU:$FFEC PRG:3FEC 8C 05 40 rts ; CPU:$FFEF PRG:3FEF 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateAPU19 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateAPU19: jsr UpdateAPU18 ; CPU:$FFF0 PRG:3FF0 20 E9 FF jmp UpdateAPU4 ; CPU:$FFF3 PRG:3FF3 4C 46 FB ; ---- data $FFF6-$FFF6 (1 bytes) ---- .byte $FF ; CPU:$FFF6 PRG:3FF6 FF ; ----------------------------------------------------------------------------- ; Routine: ResetVector ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ResetVector: jmp UpdateAPU ; CPU:$FFF7 PRG:3FF7 4C 2C FB ; ---- data $FFFA-$FFFF (6 bytes) ---- .byte $ED, $C1, $00, $C0, $ED, $C1 ; CPU:$FFFA PRG:3FFA ED C1 00 C0 ED C1