; Urban Champion (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=$CA91 RESET=$CA00 IRQ=$CA00 ; PRG mapped at $C000-$FFFF (NROM, mirrored to the upper half) ; ; Pass 1 trace provenance (the audit trail behind every classification below): ; 34 further routine entries recovered from table references elsewhere in the image: ; $C026, $CEBE, $CEC5, $CF4F, $CF70, $CF92, $D05E, $D084, $D086, $D187, $D7DB, $D80C, $DAA7, $DBDD, $DCF6, $DEC9, $DF4C, $E1FD, $E2B9, $E2C9, $E40E, $E459, $E462, $E4A4, $E4E2, $E506, $E535, $E54A, $E617, $E61B, $E6D4, $E6FA, $E7B6, $E7FE ; entries seeded by hand after inspecting code-shaped but unreferenced blocks: ; $CA00, $CA91 ; $CB70-$CBAB forced back to data: the only path into it is a branch that is always taken ; indirect dispatch through zero page (not followed statically): ; jmp ($0014) at $CDFB ; jmp ($00EB) at $C318 ; jmp ($00ED) at $C332 ; .setcpu "6502" .include "symbols.inc" .include "locals.inc" .segment "PRG" ; ----------------------------------------------------------------------------- ; Routine: InitAPU_C000 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitAPU_C000: jmp $C335 ; CPU:$C000 PRG:0000 4C 35 C3 ; ----------------------------------------------------------------------------- ; Routine: CheckControllerStart ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckControllerStart: jmp $C063 ; CPU:$C003 PRG:0003 4C 63 C0 ; ---- data $C006-$C025 (32 bytes) ---- .byte $A8, $A5, $F3, $29, $02, $D0, $18, $A5, $EF, $29, $20, $D0, $12, $B9, $00, $C2 ; CPU:$C006 PRG:0006 A8 A5 F3 29 02 D0 18 A5 EF 29 20 D0 12 B9 00 C2 .byte $8D, $0C, $40, $B9, $01, $C2, $8D, $0E, $40, $B9, $02, $C2, $8D, $0F, $40, $60 ; CPU:$C016 PRG:0016 8D 0C 40 B9 01 C2 8D 0E 40 B9 02 C2 8D 0F 40 60 ; ----------------------------------------------------------------------------- ; Routine: ScaleInputIndex ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScaleInputIndex: and #$0F ; CPU:$C026 PRG:0026 29 0F clc ; CPU:$C028 PRG:0028 18 adc ZpE5 ; CPU:$C029 PRG:0029 65 E5 tay ; CPU:$C02B PRG:002B A8 lda $C172,y ; CPU:$C02C PRG:002C B9 72 C1 sta ZpDC,x ; CPU:$C02F PRG:002F 95 DC rts ; CPU:$C031 PRG:0031 60 ; ---- data $C032-$C04D (28 bytes) ---- .byte $A2, $00, $A8, $B9, $01, $C1, $F0, $0B, $9D, $02, $40, $B9, $00, $C1, $09, $08 ; CPU:$C032 PRG:0032 A2 00 A8 B9 01 C1 F0 0B 9D 02 40 B9 00 C1 09 08 .byte $9D, $03, $40, $60, $A2, $04, $D0, $EA, $A2, $08, $D0, $E6 ; CPU:$C042 PRG:0042 9D 03 40 60 A2 04 D0 EA A2 08 D0 E6 ; ----------------------------------------------------------------------------- ; Routine: SetAPUVolume ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetAPUVolume: lda ZpE6 ; CPU:$C04E PRG:004E A5 E6 lda #$00 ; CPU:$C050 PRG:0050 A9 00 jsr $C358 ; CPU:$C052 PRG:0052 20 58 C3 rts ; CPU:$C055 PRG:0055 60 ; ----------------------------------------------------------------------------- ; Routine: SetAPUSweep ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetAPUSweep: lda #$7F ; CPU:$C056 PRG:0056 A9 7F ; ----------------------------------------------------------------------------- ; Routine: InitAPUWaveform ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitAPUWaveform: sta $4001 ; CPU:$C058 PRG:0058 8D 01 40 sta $4005 ; CPU:$C05B PRG:005B 8D 05 40 ; ----------------------------------------------------------------------------- ; Routine: SaveXY ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SaveXY: stx ZpE9 ; CPU:$C05E PRG:005E 86 E9 sty ZpEA ; CPU:$C060 PRG:0060 84 EA rts ; CPU:$C062 PRG:0062 60 ; ----------------------------------------------------------------------------- ; Routine: InitSoundPointers ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSoundPointers: lda #$C2 ; CPU:$C063 PRG:0063 A9 C2 sta ZpEE ; CPU:$C065 PRG:0065 85 EE sta ZpEC ; CPU:$C067 PRG:0067 85 EC rts ; CPU:$C069 PRG:0069 60 ; ---- data $C06A-$C06D (4 bytes) ---- .byte $3A, $7F, $0E, $40 ; CPU:$C06A PRG:006A 3A 7F 0E 40 ; ----------------------------------------------------------------------------- ; Routine: UpdateControllerState ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateControllerState: lda ZpF3 ; CPU:$C06E PRG:006E A5 F3 and #$F8 ; CPU:$C070 PRG:0070 29 F8 sta ZpF3 ; CPU:$C072 PRG:0072 85 F3 lda ZpEF ; CPU:$C074 PRG:0074 A5 EF ora #$20 ; CPU:$C076 PRG:0076 09 20 sta ZpEF ; CPU:$C078 PRG:0078 85 EF lda #$00 ; CPU:$C07A PRG:007A A9 00 sta $010A ; CPU:$C07C PRG:007C 8D 0A 01 ldx #$6A ; CPU:$C07F PRG:007F A2 6A ldy #$C0 ; CPU:$C081 PRG:0081 A0 C0 jsr $C195 ; CPU:$C083 PRG:0083 20 95 C1 rts ; CPU:$C086 PRG:0086 60 ; ----------------------------------------------------------------------------- ; Routine: InitControllerTables ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitControllerTables: inc $010A ; CPU:$C087 PRG:0087 EE 0A 01 ldy $010A ; CPU:$C08A PRG:008A AC 0A 01 lda $C0A1,y ; CPU:$C08D PRG:008D B9 A1 C0 sta $400C ; CPU:$C090 PRG:0090 8D 0C 40 bne InitControllerTablesLoop ; CPU:$C093 PRG:0093 D0 0B lda ZpEF ; CPU:$C095 PRG:0095 A5 EF and #$DF ; CPU:$C097 PRG:0097 29 DF sta ZpEF ; CPU:$C099 PRG:0099 85 EF lda #$10 ; CPU:$C09B PRG:009B A9 10 sta $400C ; CPU:$C09D PRG:009D 8D 0C 40 ; ----------------------------------------------------------------------------- ; Routine: InitControllerTablesLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitControllerTablesLoop: rts ; CPU:$C0A0 PRG:00A0 60 ; ---- data $C0A1-$C0AD (13 bytes) ---- ; referenced by `lda $C0A1,y` at $C08D (operand $C0A1 falls inside this region) .byte $3F, $3F, $30, $3F, $30, $3F, $3F, $3A, $3F, $3F, $30, $3F, $00 ; CPU:$C0A1 PRG:00A1 3F 3F 30 3F 30 3F 3F 3A 3F 3F 30 3F 00 ; ----------------------------------------------------------------------------- ; Routine: InitControllerTablesAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitControllerTablesAlt: jmp $C352 ; CPU:$C0AE PRG:00AE 4C 52 C3 ; ----------------------------------------------------------------------------- ; Routine: InitControllerTablesExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitControllerTablesExit: lda ZpF1 ; CPU:$C0B1 PRG:00B1 A5 F1 and #$20 ; CPU:$C0B3 PRG:00B3 29 20 bne UpdateControllerState ; CPU:$C0B5 PRG:00B5 D0 B7 lda ZpEF ; CPU:$C0B7 PRG:00B7 A5 EF and #$20 ; CPU:$C0B9 PRG:00B9 29 20 bne InitControllerTables ; CPU:$C0BB PRG:00BB D0 CA lda ZpF0 ; CPU:$C0BD PRG:00BD A5 F0 lsr a ; CPU:$C0BF PRG:00BF 4A bcs InitControllerTablesAlt ; CPU:$C0C0 PRG:00C0 B0 EC lsr a ; CPU:$C0C2 PRG:00C2 4A bcs InitPPU ; CPU:$C0C3 PRG:00C3 B0 0A lsr a ; CPU:$C0C5 PRG:00C5 4A bcs InitAPUFrameCounterExit ; CPU:$C0C6 PRG:00C6 B0 30 lda ZpF3 ; CPU:$C0C8 PRG:00C8 A5 F3 lsr a ; CPU:$C0CA PRG:00CA 4A lsr a ; CPU:$C0CB PRG:00CB 4A bcs InitPPULoop ; CPU:$C0CC PRG:00CC B0 12 rts ; CPU:$C0CE PRG:00CE 60 ; ----------------------------------------------------------------------------- ; 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: lda ZpF3 ; CPU:$C0CF PRG:00CF A5 F3 ora #$02 ; CPU:$C0D1 PRG:00D1 09 02 sta ZpF3 ; CPU:$C0D3 PRG:00D3 85 F3 lda #$14 ; CPU:$C0D5 PRG:00D5 A9 14 sta $0103 ; CPU:$C0D7 PRG:00D7 8D 03 01 ldx #$72 ; CPU:$C0DA PRG:00DA A2 72 ldy #$C3 ; CPU:$C0DC PRG:00DC A0 C3 bne InitPPUFinal ; CPU:$C0DE PRG:00DE D0 1C ; ----------------------------------------------------------------------------- ; Routine: InitPPULoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitPPULoop: inc $0103 ; CPU:$C0E0 PRG:00E0 EE 03 01 inc $0103 ; CPU:$C0E3 PRG:00E3 EE 03 01 lda $0103 ; CPU:$C0E6 PRG:00E6 AD 03 01 cmp #$20 ; CPU:$C0E9 PRG:00E9 C9 20 beq InitAPUFrameCounter ; CPU:$C0EB PRG:00EB F0 04 sta $400C ; CPU:$C0ED PRG:00ED 8D 0C 40 rts ; CPU:$C0F0 PRG:00F0 60 ; ----------------------------------------------------------------------------- ; Routine: InitAPUFrameCounter ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitAPUFrameCounter: lda ZpF3 ; CPU:$C0F1 PRG:00F1 A5 F3 and #$FD ; CPU:$C0F3 PRG:00F3 29 FD sta ZpF3 ; CPU:$C0F5 PRG:00F5 85 F3 rts ; CPU:$C0F7 PRG:00F7 60 ; ----------------------------------------------------------------------------- ; Routine: InitAPUFrameCounterExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitAPUFrameCounterExit: ldx #$6E ; CPU:$C0F8 PRG:00F8 A2 6E ldy #$C3 ; CPU:$C0FA PRG:00FA A0 C3 ; ----------------------------------------------------------------------------- ; Routine: InitPPUFinal ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitPPUFinal: jsr $C195 ; CPU:$C0FC PRG:00FC 20 95 C1 rts ; CPU:$C0FF PRG:00FF 60 ; ---- data $C100-$C18C (141 bytes) ---- ; referenced by `lda $C172,y` at $C02C (operand $C172 falls inside this region) .byte $C1, $60, $00, $00, $00, $D4, $00, $C8, $00, $BD, $00, $B2, $00, $A8, $00, $9F ; CPU:$C100 PRG:0100 C1 60 00 00 00 D4 00 C8 00 BD 00 B2 00 A8 00 9F .byte $00, $96, $00, $8D, $00, $85, $00, $7E, $00, $76, $00, $70, $01, $AB, $01, $93 ; CPU:$C110 PRG:0110 00 96 00 8D 00 85 00 7E 00 76 00 70 01 AB 01 93 .byte $01, $7C, $01, $67, $01, $52, $01, $3F, $01, $2D, $01, $1C, $01, $0C, $00, $FD ; CPU:$C120 PRG:0120 01 7C 01 67 01 52 01 3F 01 2D 01 1C 01 0C 00 FD .byte $00, $EE, $00, $E1, $03, $57, $03, $27, $02, $F9, $02, $CF, $02, $A6, $02, $80 ; CPU:$C130 PRG:0130 00 EE 00 E1 03 57 03 27 02 F9 02 CF 02 A6 02 80 .byte $02, $5C, $02, $3A, $02, $1A, $01, $FC, $01, $DF, $01, $C4, $06, $AE, $06, $4E ; CPU:$C140 PRG:0140 02 5C 02 3A 02 1A 01 FC 01 DF 01 C4 06 AE 06 4E .byte $05, $F3, $05, $9E, $05, $4D, $05, $01, $04, $B9, $04, $75, $04, $35, $03, $F8 ; CPU:$C150 PRG:0150 05 F3 05 9E 05 4D 05 01 04 B9 04 75 04 35 03 F8 .byte $03, $BF, $03, $89, $00, $69, $00, $63, $00, $5E, $00, $58, $00, $53, $00, $4A ; CPU:$C160 PRG:0160 03 BF 03 89 00 69 00 63 00 5E 00 58 00 53 00 4A .byte $00, $46, $03, $06, $0C, $18, $30, $12, $24, $09, $04, $08, $10, $20, $40, $18 ; CPU:$C170 PRG:0170 00 46 03 06 0C 18 30 12 24 09 04 08 10 20 40 18 .byte $30, $0C, $06, $0C, $18, $30, $60, $24, $48, $12, $10, $08, $03 ; CPU:$C180 PRG:0180 30 0C 06 0C 18 30 60 24 48 12 10 08 03 ; ----------------------------------------------------------------------------- ; Routine: LoadBackgroundData ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- LoadBackgroundData: lda #$00 ; CPU:$C18D PRG:018D A9 00 beq LoadBackgroundDataExit ; CPU:$C18F PRG:018F F0 0A lda #$08 ; CPU:$C191 PRG:0191 A9 08 bne LoadBackgroundDataExit ; CPU:$C193 PRG:0193 D0 06 ; ----------------------------------------------------------------------------- ; Routine: LoadBackgroundDataLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- LoadBackgroundDataLoop: lda #$0C ; CPU:$C195 PRG:0195 A9 0C bne LoadBackgroundDataExit ; CPU:$C197 PRG:0197 D0 02 ; ----------------------------------------------------------------------------- ; Routine: LoadBackgroundDataAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- LoadBackgroundDataAlt: lda #$04 ; CPU:$C199 PRG:0199 A9 04 ; ----------------------------------------------------------------------------- ; Routine: LoadBackgroundDataExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- LoadBackgroundDataExit: sta ZpF4 ; CPU:$C19B PRG:019B 85 F4 lda #$40 ; CPU:$C19D PRG:019D A9 40 sta ZpF5 ; CPU:$C19F PRG:019F 85 F5 stx ZpF6 ; CPU:$C1A1 PRG:01A1 86 F6 sty ZpF7 ; CPU:$C1A3 PRG:01A3 84 F7 ldy #$00 ; CPU:$C1A5 PRG:01A5 A0 00 ; ----------------------------------------------------------------------------- ; Routine: SetupSpriteData ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetupSpriteData: lda (ZpF6),y ; CPU:$C1A7 PRG:01A7 B1 F6 sta (ZpF4),y ; CPU:$C1A9 PRG:01A9 91 F4 iny ; CPU:$C1AB PRG:01AB C8 tya ; CPU:$C1AC PRG:01AC 98 cmp #$04 ; CPU:$C1AD PRG:01AD C9 04 bne SetupSpriteData ; CPU:$C1AF PRG:01AF D0 F6 rts ; CPU:$C1B1 PRG:01B1 60 ; ----------------------------------------------------------------------------- ; Routine: SetupSpriteDataLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetupSpriteDataLoop: tax ; CPU:$C1B2 PRG:01B2 AA jsr $C352 ; CPU:$C1B3 PRG:01B3 20 52 C3 stx ZpE6 ; CPU:$C1B6 PRG:01B6 86 E6 lda $C657,y ; CPU:$C1B8 PRG:01B8 B9 57 C6 tay ; CPU:$C1BB PRG:01BB A8 lda $C657,y ; CPU:$C1BC PRG:01BC B9 57 C6 sta ZpE5 ; CPU:$C1BF PRG:01BF 85 E5 lda $C658,y ; CPU:$C1C1 PRG:01C1 B9 58 C6 sta ZpF8 ; CPU:$C1C4 PRG:01C4 85 F8 lda $C659,y ; CPU:$C1C6 PRG:01C6 B9 59 C6 sta ZpF9 ; CPU:$C1C9 PRG:01C9 85 F9 lda $C65A,y ; CPU:$C1CB PRG:01CB B9 5A C6 sta ZpFA ; CPU:$C1CE PRG:01CE 85 FA lda $C65B,y ; CPU:$C1D0 PRG:01D0 B9 5B C6 sta ZpFB ; CPU:$C1D3 PRG:01D3 85 FB lda $C65C,y ; CPU:$C1D5 PRG:01D5 B9 5C C6 sta ZpFC ; CPU:$C1D8 PRG:01D8 85 FC lda $C65D,y ; CPU:$C1DA PRG:01DA B9 5D C6 sta ZpFD ; CPU:$C1DD PRG:01DD 85 FD lda $C65E,y ; CPU:$C1DF PRG:01DF B9 5E C6 sta ZpFE ; CPU:$C1E2 PRG:01E2 85 FE lda $C65F,y ; CPU:$C1E4 PRG:01E4 B9 5F C6 sta ZpFF ; CPU:$C1E7 PRG:01E7 85 FF lda #$01 ; CPU:$C1E9 PRG:01E9 A9 01 sta ZpD8 ; CPU:$C1EB PRG:01EB 85 D8 sta ZpD9 ; CPU:$C1ED PRG:01ED 85 D9 sta ZpDA ; CPU:$C1EF PRG:01EF 85 DA sta ZpDB ; CPU:$C1F1 PRG:01F1 85 DB lda #$00 ; CPU:$C1F3 PRG:01F3 A9 00 sta ZpD0 ; CPU:$C1F5 PRG:01F5 85 D0 sta ZpD1 ; CPU:$C1F7 PRG:01F7 85 D1 sta ZpD2 ; CPU:$C1F9 PRG:01F9 85 D2 sta ZpD3 ; CPU:$C1FB PRG:01FB 85 D3 rts ; CPU:$C1FD PRG:01FD 60 ; ---- data $C1FE-$C20E (17 bytes) ---- .byte $FF, $FF, $10, $00, $18, $10, $01, $18, $00, $01, $88, $02, $02, $40, $19, $01 ; CPU:$C1FE PRG:01FE FF FF 10 00 18 10 01 18 00 01 88 02 02 40 19 01 .byte $18 ; CPU:$C20E PRG:020E 18 ; ----------------------------------------------------------------------------- ; Routine: CopySpriteTables ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CopySpriteTables: lda ZpF9 ; CPU:$C20F PRG:020F A5 F9 beq WaitVBlank ; CPU:$C211 PRG:0211 F0 3A dec ZpD8 ; CPU:$C213 PRG:0213 C6 D8 bne WaitVBlank ; CPU:$C215 PRG:0215 D0 36 ldx #$00 ; CPU:$C217 PRG:0217 A2 00 lda #$21 ; CPU:$C219 PRG:0219 A9 21 sta ZpED ; CPU:$C21B PRG:021B 85 ED lda #$2F ; CPU:$C21D PRG:021D A9 2F sta ZpEB ; CPU:$C21F PRG:021F 85 EB ldy ZpD0 ; CPU:$C221 PRG:0221 A4 D0 inc ZpD0 ; CPU:$C223 PRG:0223 E6 D0 lda (ZpF8),y ; CPU:$C225 PRG:0225 B1 F8 beq CopySpriteTablesLoop ; CPU:$C227 PRG:0227 F0 03 jmp $C30D ; CPU:$C229 PRG:0229 4C 0D C3 ; ----------------------------------------------------------------------------- ; Routine: CopySpriteTablesLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CopySpriteTablesLoop: jmp $C04E ; CPU:$C22C PRG:022C 4C 4E C0 ; ---- data $C22F-$C24C (30 bytes) ---- .byte $98, $10, $09, $20, $26, $C0, $A4, $D0, $E6, $D0, $B1, $F8, $20, $32, $C0, $D0 ; CPU:$C22F PRG:022F 98 10 09 20 26 C0 A4 D0 E6 D0 B1 F8 20 32 C0 D0 .byte $04, $A0, $10, $D0, $02, $A4, $E9, $8C, $00, $40, $A5, $DC, $85, $D8 ; CPU:$C23F PRG:023F 04 A0 10 D0 02 A4 E9 8C 00 40 A5 DC 85 D8 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlank ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in 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: lda ZpFB ; CPU:$C24D PRG:024D A5 FB beq WaitVBlankLoop ; CPU:$C24F PRG:024F F0 37 dec ZpD9 ; CPU:$C251 PRG:0251 C6 D9 bne WaitVBlankLoop ; CPU:$C253 PRG:0253 D0 33 ldx #$01 ; CPU:$C255 PRG:0255 A2 01 lda #$5F ; CPU:$C257 PRG:0257 A9 5F sta ZpED ; CPU:$C259 PRG:0259 85 ED lda #$6A ; CPU:$C25B PRG:025B A9 6A sta ZpEB ; CPU:$C25D PRG:025D 85 EB ldy ZpD1 ; CPU:$C25F PRG:025F A4 D1 inc ZpD1 ; CPU:$C261 PRG:0261 E6 D1 lda (ZpFA),y ; CPU:$C263 PRG:0263 B1 FA beq CopySpriteTablesLoop ; CPU:$C265 PRG:0265 F0 C5 jmp $C30D ; CPU:$C267 PRG:0267 4C 0D C3 ; ---- data $C26A-$C287 (30 bytes) ---- .byte $98, $10, $09, $20, $26, $C0, $A4, $D1, $E6, $D1, $B1, $FA, $20, $46, $C0, $D0 ; CPU:$C26A PRG:026A 98 10 09 20 26 C0 A4 D1 E6 D1 B1 FA 20 46 C0 D0 .byte $04, $A0, $10, $D0, $02, $A4, $EA, $8C, $04, $40, $A5, $DD, $85, $D9 ; CPU:$C27A PRG:027A 04 A0 10 D0 02 A4 EA 8C 04 40 A5 DD 85 D9 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankLoop: lda ZpFD ; CPU:$C288 PRG:0288 A5 FD beq ClearRAM ; CPU:$C28A PRG:028A F0 52 dec ZpDA ; CPU:$C28C PRG:028C C6 DA bne ClearRAM ; CPU:$C28E PRG:028E D0 4E ldx #$02 ; CPU:$C290 PRG:0290 A2 02 lda #$A8 ; CPU:$C292 PRG:0292 A9 A8 sta ZpEB ; CPU:$C294 PRG:0294 85 EB lda #$9A ; CPU:$C296 PRG:0296 A9 9A sta ZpED ; CPU:$C298 PRG:0298 85 ED ldy ZpD2 ; CPU:$C29A PRG:029A A4 D2 inc ZpD2 ; CPU:$C29C PRG:029C E6 D2 lda (ZpFC),y ; CPU:$C29E PRG:029E B1 FC beq InitGameVariables ; CPU:$C2A0 PRG:02A0 F0 03 jmp $C30D ; CPU:$C2A2 PRG:02A2 4C 0D C3 ; ----------------------------------------------------------------------------- ; Routine: InitGameVariables ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameVariables: jmp $C04E ; CPU:$C2A5 PRG:02A5 4C 4E C0 ; ---- data $C2A8-$C2DD (54 bytes) ---- .byte $98, $10, $21, $20, $26, $C0, $A4, $E4, $F0, $04, $A9, $FF, $D0, $0B, $18, $69 ; CPU:$C2A8 PRG:02A8 98 10 21 20 26 C0 A4 E4 F0 04 A9 FF D0 0B 18 69 .byte $FE, $0A, $0A, $C9, $3C, $90, $02, $A9, $3C, $8D, $08, $40, $85, $E7, $A4, $D2 ; CPU:$C2B8 PRG:02B8 FE 0A 0A C9 3C 90 02 A9 3C 8D 08 40 85 E7 A4 D2 .byte $E6, $D2, $B1, $FC, $20, $4A, $C0, $D0, $04, $A0, $00, $F0, $02, $A4, $E7, $8C ; CPU:$C2C8 PRG:02C8 E6 D2 B1 FC 20 4A C0 D0 04 A0 00 F0 02 A4 E7 8C .byte $08, $40, $A5, $DE, $85, $DA ; CPU:$C2D8 PRG:02D8 08 40 A5 DE 85 DA ; ----------------------------------------------------------------------------- ; Routine: ClearRAM ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ClearRAM: lda ZpFF ; CPU:$C2DE PRG:02DE A5 FF beq ClearRAMPage ; CPU:$C2E0 PRG:02E0 F0 2A dec ZpDB ; CPU:$C2E2 PRG:02E2 C6 DB bne ClearRAMPage ; CPU:$C2E4 PRG:02E4 D0 26 ldx #$03 ; CPU:$C2E6 PRG:02E6 A2 03 lda #$F9 ; CPU:$C2E8 PRG:02E8 A9 F9 sta ZpEB ; CPU:$C2EA PRG:02EA 85 EB lda #$F0 ; CPU:$C2EC PRG:02EC A9 F0 sta ZpED ; CPU:$C2EE PRG:02EE 85 ED ldy ZpD3 ; CPU:$C2F0 PRG:02F0 A4 D3 inc ZpD3 ; CPU:$C2F2 PRG:02F2 E6 D3 lda (ZpFE),y ; CPU:$C2F4 PRG:02F4 B1 FE jmp $C30D ; CPU:$C2F6 PRG:02F6 4C 0D C3 ; ---- data $C2F9-$C30B (19 bytes) ---- .byte $98, $10, $09, $20, $26, $C0, $A4, $D3, $E6, $D3, $B1, $FE, $20, $06, $C0, $A5 ; CPU:$C2F9 PRG:02F9 98 10 09 20 26 C0 A4 D3 E6 D3 B1 FE 20 06 C0 A5 .byte $DF, $85, $DB ; CPU:$C309 PRG:0309 DF 85 DB ; ----------------------------------------------------------------------------- ; Routine: ClearRAMPage ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ClearRAMPage: rts ; CPU:$C30C PRG:030C 60 ; ----------------------------------------------------------------------------- ; Routine: ClearRAMPageLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ClearRAMPageLoop: tay ; CPU:$C30D PRG:030D A8 cmp #$FF ; CPU:$C30E PRG:030E C9 FF beq InitGameState ; CPU:$C310 PRG:0310 F0 09 and #$C0 ; CPU:$C312 PRG:0312 29 C0 cmp #$C0 ; CPU:$C314 PRG:0314 C9 C0 beq InitGameStateExit ; CPU:$C316 PRG:0316 F0 0F jmp ($00EB) ; CPU:$C318 PRG:0318 6C EB 00 ; ----------------------------------------------------------------------------- ; 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 ZpE0,x ; CPU:$C31B PRG:031B B5 E0 beq InitAPUCall ; CPU:$C31D PRG:031D F0 13 dec ZpE0,x ; CPU:$C31F PRG:031F D6 E0 lda ZpD4,x ; CPU:$C321 PRG:0321 B5 D4 sta ZpD0,x ; CPU:$C323 PRG:0323 95 D0 bne InitAPUCall ; CPU:$C325 PRG:0325 D0 0B ; ----------------------------------------------------------------------------- ; Routine: InitGameStateExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameStateExit: tya ; CPU:$C327 PRG:0327 98 and #$3F ; CPU:$C328 PRG:0328 29 3F sta ZpE0,x ; CPU:$C32A PRG:032A 95 E0 dec ZpE0,x ; CPU:$C32C PRG:032C D6 E0 lda ZpD0,x ; CPU:$C32E PRG:032E B5 D0 sta ZpD4,x ; CPU:$C330 PRG:0330 95 D4 ; ----------------------------------------------------------------------------- ; Routine: InitAPUCall ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitAPUCall: jmp ($00ED) ; CPU:$C332 PRG:0332 6C ED 00 ; ----------------------------------------------------------------------------- ; Routine: InitAPU ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitAPU: lda #$C0 ; CPU:$C335 PRG:0335 A9 C0 sta $4017 ; CPU:$C337 PRG:0337 8D 17 40 jsr $C0B1 ; CPU:$C33A PRG:033A 20 B1 C0 jsr $C3B3 ; CPU:$C33D PRG:033D 20 B3 C3 jsr $C465 ; CPU:$C340 PRG:0340 20 65 C4 jsr $C508 ; CPU:$C343 PRG:0343 20 08 C5 jsr $C5D1 ; CPU:$C346 PRG:0346 20 D1 C5 lda #$00 ; CPU:$C349 PRG:0349 A9 00 sta ZpF0 ; CPU:$C34B PRG:034B 85 F0 sta ZpF1 ; CPU:$C34D PRG:034D 85 F1 sta ZpF2 ; CPU:$C34F PRG:034F 85 F2 rts ; CPU:$C351 PRG:0351 60 ; ----------------------------------------------------------------------------- ; Routine: ClearControllerState ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ClearControllerState: lda #$00 ; CPU:$C352 PRG:0352 A9 00 sta ZpF3 ; CPU:$C354 PRG:0354 85 F3 sta ZpEF ; CPU:$C356 PRG:0356 85 EF ; ----------------------------------------------------------------------------- ; Routine: InitAPURegisters ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitAPURegisters: sta $4008 ; CPU:$C358 PRG:0358 8D 08 40 sta $4011 ; CPU:$C35B PRG:035B 8D 11 40 sta ZpE6 ; CPU:$C35E PRG:035E 85 E6 sta ZpE4 ; CPU:$C360 PRG:0360 85 E4 lda #$10 ; CPU:$C362 PRG:0362 A9 10 sta $4000 ; CPU:$C364 PRG:0364 8D 00 40 sta $4004 ; CPU:$C367 PRG:0367 8D 04 40 sta $400C ; CPU:$C36A PRG:036A 8D 0C 40 rts ; CPU:$C36D PRG:036D 60 ; ---- data $C36E-$C375 (8 bytes) ---- .byte $1E, $7F, $05, $18, $15, $7F, $02, $88 ; CPU:$C36E PRG:036E 1E 7F 05 18 15 7F 02 88 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesAlt1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesAlt1: ldx #$40 ; CPU:$C376 PRG:0376 A2 40 ldy #$C4 ; CPU:$C378 PRG:0378 A0 C4 jmp $C3FF ; CPU:$C37A PRG:037A 4C FF C3 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesAlt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesAlt2: ldx #$34 ; CPU:$C37D PRG:037D A2 34 ldy #$C4 ; CPU:$C37F PRG:037F A0 C4 jmp $C3FF ; CPU:$C381 PRG:0381 4C FF C3 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesMain ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesMain: lda ZpF3 ; CPU:$C384 PRG:0384 A5 F3 and #$07 ; CPU:$C386 PRG:0386 29 07 ora #$40 ; CPU:$C388 PRG:0388 09 40 sta ZpF3 ; CPU:$C38A PRG:038A 85 F3 jsr $C425 ; CPU:$C38C PRG:038C 20 25 C4 lda #$00 ; CPU:$C38F PRG:038F A9 00 sta $0100 ; CPU:$C391 PRG:0391 8D 00 01 ldx #$2C ; CPU:$C394 PRG:0394 A2 2C ldy #$C4 ; CPU:$C396 PRG:0396 A0 C4 bne InitSpritesClearEF ; CPU:$C398 PRG:0398 D0 6B ; ----------------------------------------------------------------------------- ; Routine: InitSpritesLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesLoop: inc $0100 ; CPU:$C39A PRG:039A EE 00 01 lda $0100 ; CPU:$C39D PRG:039D AD 00 01 cmp #$04 ; CPU:$C3A0 PRG:03A0 C9 04 bne InitSpritesCheckF1 ; CPU:$C3A2 PRG:03A2 D0 6A jsr $C41E ; CPU:$C3A4 PRG:03A4 20 1E C4 ldx #$38 ; CPU:$C3A7 PRG:03A7 A2 38 ldy #$C4 ; CPU:$C3A9 PRG:03A9 A0 C4 bne InitSpritesClearEF ; CPU:$C3AB PRG:03AB D0 58 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesAltExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesAltExit: ldx #$3C ; CPU:$C3AD PRG:03AD A2 3C ldy #$C4 ; CPU:$C3AF PRG:03AF A0 C4 bne InitSpritesCallChain ; CPU:$C3B1 PRG:03B1 D0 4C ; ----------------------------------------------------------------------------- ; Routine: InitSpritesExit_C3B3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesExit_C3B3: lda ZpE6 ; CPU:$C3B3 PRG:03B3 A5 E6 cmp #$80 ; CPU:$C3B5 PRG:03B5 C9 80 beq InitSpritesCheckE6 ; CPU:$C3B7 PRG:03B7 F0 0A lda ZpE6 ; CPU:$C3B9 PRG:03B9 A5 E6 bne InitSpritesCheckF1 ; CPU:$C3BB PRG:03BB D0 51 lda ZpEF ; CPU:$C3BD PRG:03BD A5 EF and #$04 ; CPU:$C3BF PRG:03BF 29 04 bne InitSpritesCheckF1 ; CPU:$C3C1 PRG:03C1 D0 4B ; ----------------------------------------------------------------------------- ; Routine: InitSpritesCheckE6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesCheckE6: lda ZpF1 ; CPU:$C3C3 PRG:03C3 A5 F1 and #$10 ; CPU:$C3C5 PRG:03C5 29 10 bne InitSpritesAlt1 ; CPU:$C3C7 PRG:03C7 D0 AD lda ZpF0 ; CPU:$C3C9 PRG:03C9 A5 F0 asl a ; CPU:$C3CB PRG:03CB 0A bcs InitSpritesSetE6 ; CPU:$C3CC PRG:03CC B0 1B asl a ; CPU:$C3CE PRG:03CE 0A bcs InitSpritesMain ; CPU:$C3CF PRG:03CF B0 B3 asl a ; CPU:$C3D1 PRG:03D1 0A bcs InitSpritesSetE4 ; CPU:$C3D2 PRG:03D2 B0 0F asl a ; CPU:$C3D4 PRG:03D4 0A bcs InitSpritesAlt2 ; CPU:$C3D5 PRG:03D5 B0 A6 asl a ; CPU:$C3D7 PRG:03D7 0A bcs InitSpritesAltExit ; CPU:$C3D8 PRG:03D8 B0 D3 lda ZpF3 ; CPU:$C3DA PRG:03DA A5 F3 asl a ; CPU:$C3DC PRG:03DC 0A bcs InitSpritesSetF3 ; CPU:$C3DD PRG:03DD B0 30 asl a ; CPU:$C3DF PRG:03DF 0A bcs InitSpritesLoop ; CPU:$C3E0 PRG:03E0 B0 B8 rts ; CPU:$C3E2 PRG:03E2 60 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesSetE4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesSetE4: ldx #$2C ; CPU:$C3E3 PRG:03E3 A2 2C ldy #$C4 ; CPU:$C3E5 PRG:03E5 A0 C4 bne InitSpritesCallChain ; CPU:$C3E7 PRG:03E7 D0 16 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesSetE6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesSetE6: lda ZpF3 ; CPU:$C3E9 PRG:03E9 A5 F3 and #$07 ; CPU:$C3EB PRG:03EB 29 07 ora #$80 ; CPU:$C3ED PRG:03ED 09 80 sta ZpF3 ; CPU:$C3EF PRG:03EF 85 F3 jsr $C425 ; CPU:$C3F1 PRG:03F1 20 25 C4 lda #$00 ; CPU:$C3F4 PRG:03F4 A9 00 sta $0100 ; CPU:$C3F6 PRG:03F6 8D 00 01 ldx #$30 ; CPU:$C3F9 PRG:03F9 A2 30 ldy #$C4 ; CPU:$C3FB PRG:03FB A0 C4 bne InitSpritesClearEF ; CPU:$C3FD PRG:03FD D0 06 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesCallChain ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesCallChain: jsr $C425 ; CPU:$C3FF PRG:03FF 20 25 C4 jsr $C41E ; CPU:$C402 PRG:0402 20 1E C4 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesClearEF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesClearEF: jsr $C199 ; CPU:$C405 PRG:0405 20 99 C1 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesAlt6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesAlt6: lda ZpEF ; CPU:$C408 PRG:0408 A5 EF and #$BF ; CPU:$C40A PRG:040A 29 BF sta ZpEF ; CPU:$C40C PRG:040C 85 EF ; ----------------------------------------------------------------------------- ; Routine: InitSpritesCheckF1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesCheckF1: rts ; CPU:$C40E PRG:040E 60 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesSetF3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesSetF3: inc $0100 ; CPU:$C40F PRG:040F EE 00 01 lda $0100 ; CPU:$C412 PRG:0412 AD 00 01 cmp #$05 ; CPU:$C415 PRG:0415 C9 05 bne InitSpritesCheckF1 ; CPU:$C417 PRG:0417 D0 F5 lda #$8B ; CPU:$C419 PRG:0419 A9 8B sta $4005 ; CPU:$C41B PRG:041B 8D 05 40 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesAlt7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesAlt7: lda ZpF3 ; CPU:$C41E PRG:041E A5 F3 and #$07 ; CPU:$C420 PRG:0420 29 07 sta ZpF3 ; CPU:$C422 PRG:0422 85 F3 rts ; CPU:$C424 PRG:0424 60 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesAlt8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesAlt8: lda ZpEF ; CPU:$C425 PRG:0425 A5 EF and #$E7 ; CPU:$C427 PRG:0427 29 E7 sta ZpEF ; CPU:$C429 PRG:0429 85 EF rts ; CPU:$C42B PRG:042B 60 ; ---- data $C42C-$C443 (24 bytes) ---- .byte $9F, $83, $E0, $39, $9F, $83, $40, $CA, $9F, $8B, $FF, $4A, $9F, $8D, $FF, $CA ; CPU:$C42C PRG:042C 9F 83 E0 39 9F 83 40 CA 9F 8B FF 4A 9F 8D FF CA .byte $9F, $82, $E0, $19, $9F, $93, $FF, $B9 ; CPU:$C43C PRG:043C 9F 82 E0 19 9F 93 FF B9 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesCheckF2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesCheckF2: lda #$FF ; CPU:$C444 PRG:0444 A9 FF sta $010D ; CPU:$C446 PRG:0446 8D 0D 01 rts ; CPU:$C449 PRG:0449 60 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesSetF2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesSetF2: jsr $C352 ; CPU:$C44A PRG:044A 20 52 C3 lda #$04 ; CPU:$C44D PRG:044D A9 04 sta ZpEF ; CPU:$C44F PRG:044F 85 EF lda #$FF ; CPU:$C451 PRG:0451 A9 FF sta ZpE6 ; CPU:$C453 PRG:0453 85 E6 lda #$00 ; CPU:$C455 PRG:0455 A9 00 sta $010B ; CPU:$C457 PRG:0457 8D 0B 01 sta $010D ; CPU:$C45A PRG:045A 8D 0D 01 lda #$B0 ; CPU:$C45D PRG:045D A9 B0 sta $010C ; CPU:$C45F PRG:045F 8D 0C 01 jmp $C4A5 ; CPU:$C462 PRG:0462 4C A5 C4 ; ----------------------------------------------------------------------------- ; Routine: InitGameState2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState2: lda ZpF1 ; CPU:$C465 PRG:0465 A5 F1 lsr a ; CPU:$C467 PRG:0467 4A bcs InitSpritesAlt1Entry ; CPU:$C468 PRG:0468 B0 0E lsr a ; CPU:$C46A PRG:046A 4A bcs InitSpritesCheckF2 ; CPU:$C46B PRG:046B B0 D7 lsr a ; CPU:$C46D PRG:046D 4A bcs InitSpritesSetF2 ; CPU:$C46E PRG:046E B0 DA lda ZpEF ; CPU:$C470 PRG:0470 A5 EF lsr a ; CPU:$C472 PRG:0472 4A lsr a ; CPU:$C473 PRG:0473 4A lsr a ; CPU:$C474 PRG:0474 4A bcs InitGameState2Exit ; CPU:$C475 PRG:0475 B0 13 rts ; CPU:$C477 PRG:0477 60 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesAlt1Entry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesAlt1Entry: jsr $C352 ; CPU:$C478 PRG:0478 20 52 C3 ldx #$FC ; CPU:$C47B PRG:047B A2 FC ldy #$C4 ; CPU:$C47D PRG:047D A0 C4 jsr $C18D ; CPU:$C47F PRG:047F 20 8D C1 ldx #$F8 ; CPU:$C482 PRG:0482 A2 F8 ldy #$C4 ; CPU:$C484 PRG:0484 A0 C4 jsr $C199 ; CPU:$C486 PRG:0486 20 99 C1 rts ; CPU:$C489 PRG:0489 60 ; ----------------------------------------------------------------------------- ; Routine: InitGameState2Exit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState2Exit: jsr $C4BB ; CPU:$C48A PRG:048A 20 BB C4 inc $0108 ; CPU:$C48D PRG:048D EE 08 01 lda $0108 ; CPU:$C490 PRG:0490 AD 08 01 cmp #$09 ; CPU:$C493 PRG:0493 C9 09 beq InitSpritesAlt1Loop ; CPU:$C495 PRG:0495 F0 05 cmp #$13 ; CPU:$C497 PRG:0497 C9 13 beq InitSpritesAlt2Loop ; CPU:$C499 PRG:0499 F0 0A rts ; CPU:$C49B PRG:049B 60 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesAlt1Loop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesAlt1Loop: lda #$AC ; CPU:$C49C PRG:049C A9 AC sta $4001 ; CPU:$C49E PRG:049E 8D 01 40 sta $4005 ; CPU:$C4A1 PRG:04A1 8D 05 40 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesAlt2Entry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesAlt2Entry: rts ; CPU:$C4A4 PRG:04A4 60 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesAlt2Loop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesAlt2Loop: lda #$00 ; CPU:$C4A5 PRG:04A5 A9 00 sta $0108 ; CPU:$C4A7 PRG:04A7 8D 08 01 ldx #$00 ; CPU:$C4AA PRG:04AA A2 00 ldy #$C5 ; CPU:$C4AC PRG:04AC A0 C5 jsr $C18D ; CPU:$C4AE PRG:04AE 20 8D C1 ldx #$04 ; CPU:$C4B1 PRG:04B1 A2 04 ldy #$C5 ; CPU:$C4B3 PRG:04B3 A0 C5 jsr $C199 ; CPU:$C4B5 PRG:04B5 20 99 C1 jmp $C4E6 ; CPU:$C4B8 PRG:04B8 4C E6 C4 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesCheck10B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesCheck10B: lda $010D ; CPU:$C4BB PRG:04BB AD 0D 01 beq InitSpritesInc10B ; CPU:$C4BE PRG:04BE F0 03 jmp $C4CA ; CPU:$C4C0 PRG:04C0 4C CA C4 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesInc10B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesInc10B: lda $010C ; CPU:$C4C3 PRG:04C3 AD 0C 01 cmp #$BD ; CPU:$C4C6 PRG:04C6 C9 BD beq InitSpritesAlt2Entry ; CPU:$C4C8 PRG:04C8 F0 DA ; ----------------------------------------------------------------------------- ; Routine: InitSpritesCheck10BMax ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesCheck10BMax: inc $010B ; CPU:$C4CA PRG:04CA EE 0B 01 lda $010B ; CPU:$C4CD PRG:04CD AD 0B 01 cmp #$17 ; CPU:$C4D0 PRG:04D0 C9 17 bne InitSpritesAlt2Entry ; CPU:$C4D2 PRG:04D2 D0 D0 lda #$00 ; CPU:$C4D4 PRG:04D4 A9 00 sta $010B ; CPU:$C4D6 PRG:04D6 8D 0B 01 lda $010D ; CPU:$C4D9 PRG:04D9 AD 0D 01 beq InitSpritesCheck10C ; CPU:$C4DC PRG:04DC F0 05 dec $010C ; CPU:$C4DE PRG:04DE CE 0C 01 bne InitSpritesCheck10CAF ; CPU:$C4E1 PRG:04E1 D0 03 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesCheck10C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesCheck10C: inc $010C ; CPU:$C4E3 PRG:04E3 EE 0C 01 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesCheck10CAF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesCheck10CAF: lda $010C ; CPU:$C4E6 PRG:04E6 AD 0C 01 cmp #$AF ; CPU:$C4E9 PRG:04E9 C9 AF beq InitSpritesSetF4 ; CPU:$C4EB PRG:04EB F0 07 sta $4000 ; CPU:$C4ED PRG:04ED 8D 00 40 sta $4004 ; CPU:$C4F0 PRG:04F0 8D 04 40 rts ; CPU:$C4F3 PRG:04F3 60 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesSetF4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesSetF4: jsr $C352 ; CPU:$C4F4 PRG:04F4 20 52 C3 rts ; CPU:$C4F7 PRG:04F7 60 ; ---- data $C4F8-$C507 (16 bytes) ---- .byte $94, $95, $30, $40, $94, $95, $38, $40, $B0, $A4, $96, $00, $B0, $A4, $8D, $00 ; CPU:$C4F8 PRG:04F8 94 95 30 40 94 95 38 40 B0 A4 96 00 B0 A4 8D 00 ; ----------------------------------------------------------------------------- ; Routine: InitGameState3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState3: lda ZpE6 ; CPU:$C508 PRG:0508 A5 E6 cmp #$80 ; CPU:$C50A PRG:050A C9 80 beq InitGameState3CheckE6 ; CPU:$C50C PRG:050C F0 04 lda ZpE6 ; CPU:$C50E PRG:050E A5 E6 bne InitGameState3Loop ; CPU:$C510 PRG:0510 D0 0E ; ----------------------------------------------------------------------------- ; Routine: InitGameState3CheckE6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState3CheckE6: lda ZpF1 ; CPU:$C512 PRG:0512 A5 F1 asl a ; CPU:$C514 PRG:0514 0A bcs InitGameState3Alt ; CPU:$C515 PRG:0515 B0 16 asl a ; CPU:$C517 PRG:0517 0A bcs InitGameState4CheckF2 ; CPU:$C518 PRG:0518 B0 28 lda ZpEF ; CPU:$C51A PRG:051A A5 EF asl a ; CPU:$C51C PRG:051C 0A asl a ; CPU:$C51D PRG:051D 0A bcs InitGameState4Loop ; CPU:$C51E PRG:051E B0 3A ; ----------------------------------------------------------------------------- ; Routine: InitGameState3Loop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState3Loop: rts ; CPU:$C520 PRG:0520 60 ; ---- data $C521-$C52C (12 bytes) ---- .byte $A5, $EF, $29, $3F, $85, $EF, $A9, $10, $8D, $00, $40, $60 ; CPU:$C521 PRG:0521 A5 EF 29 3F 85 EF A9 10 8D 00 40 60 ; ----------------------------------------------------------------------------- ; Routine: InitGameState3Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState3Alt: lda ZpEF ; CPU:$C52D PRG:052D A5 EF and #$3F ; CPU:$C52F PRG:052F 29 3F ora #$80 ; CPU:$C531 PRG:0531 09 80 sta ZpEF ; CPU:$C533 PRG:0533 85 EF lda #$20 ; CPU:$C535 PRG:0535 A9 20 sta $0104 ; CPU:$C537 PRG:0537 8D 04 01 ldx #$A0 ; CPU:$C53A PRG:053A A2 A0 ldy #$C5 ; CPU:$C53C PRG:053C A0 C5 jsr $C18D ; CPU:$C53E PRG:053E 20 8D C1 rts ; CPU:$C541 PRG:0541 60 ; ----------------------------------------------------------------------------- ; Routine: InitGameState4CheckF2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState4CheckF2: lda ZpEF ; CPU:$C542 PRG:0542 A5 EF and #$3F ; CPU:$C544 PRG:0544 29 3F ora #$40 ; CPU:$C546 PRG:0546 09 40 sta ZpEF ; CPU:$C548 PRG:0548 85 EF lda #$BF ; CPU:$C54A PRG:054A A9 BF sta $0105 ; CPU:$C54C PRG:054C 8D 05 01 lda #$00 ; CPU:$C54F PRG:054F A9 00 sta $0107 ; CPU:$C551 PRG:0551 8D 07 01 lda #$10 ; CPU:$C554 PRG:0554 A9 10 sta $4000 ; CPU:$C556 PRG:0556 8D 00 40 rts ; CPU:$C559 PRG:0559 60 ; ----------------------------------------------------------------------------- ; Routine: InitGameState4Loop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState4Loop: inc $0105 ; CPU:$C55A PRG:055A EE 05 01 lda $0105 ; CPU:$C55D PRG:055D AD 05 01 cmp #$0F ; CPU:$C560 PRG:0560 C9 0F bne InitGameState4MaskF3 ; CPU:$C562 PRG:0562 D0 2F lda #$00 ; CPU:$C564 PRG:0564 A9 00 sta $0105 ; CPU:$C566 PRG:0566 8D 05 01 inc $0107 ; CPU:$C569 PRG:0569 EE 07 01 lda $0107 ; CPU:$C56C PRG:056C AD 07 01 cmp #$0E ; CPU:$C56F PRG:056F C9 0E beq InitGameState4ClearEF ; CPU:$C571 PRG:0571 F0 1D lda $05EC ; CPU:$C573 PRG:0573 AD EC 05 and #$0F ; CPU:$C576 PRG:0576 29 0F ora #$10 ; CPU:$C578 PRG:0578 09 10 sta $0106 ; CPU:$C57A PRG:057A 8D 06 01 sta $4002 ; CPU:$C57D PRG:057D 8D 02 40 lda #$7F ; CPU:$C580 PRG:0580 A9 7F sta $4001 ; CPU:$C582 PRG:0582 8D 01 40 lda #$99 ; CPU:$C585 PRG:0585 A9 99 sta $4000 ; CPU:$C587 PRG:0587 8D 00 40 lda #$88 ; CPU:$C58A PRG:058A A9 88 sta $4003 ; CPU:$C58C PRG:058C 8D 03 40 rts ; CPU:$C58F PRG:058F 60 ; ----------------------------------------------------------------------------- ; Routine: InitGameState4ClearEF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState4ClearEF: jmp $C408 ; CPU:$C590 PRG:0590 4C 08 C4 ; ----------------------------------------------------------------------------- ; Routine: InitGameState4MaskF3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState4MaskF3: inc $0106 ; CPU:$C593 PRG:0593 EE 06 01 inc $0106 ; CPU:$C596 PRG:0596 EE 06 01 lda $0106 ; CPU:$C599 PRG:0599 AD 06 01 sta $4002 ; CPU:$C59C PRG:059C 8D 02 40 rts ; CPU:$C59F PRG:059F 60 ; ---- data $C5A0-$C5A3 (4 bytes) ---- .byte $95, $B5, $40, $B0 ; CPU:$C5A0 PRG:05A0 95 B5 40 B0 ; ----------------------------------------------------------------------------- ; Routine: InitGameState4MaskEF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState4MaskEF: ldy #$07 ; CPU:$C5A4 PRG:05A4 A0 07 lda #$40 ; CPU:$C5A6 PRG:05A6 A9 40 jmp $C63D ; CPU:$C5A8 PRG:05A8 4C 3D C6 ; ----------------------------------------------------------------------------- ; Routine: InitGameState4CheckF9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState4CheckF9: ldy #$09 ; CPU:$C5AB PRG:05AB A0 09 lda $0309 ; CPU:$C5AD PRG:05AD AD 09 03 cmp #$01 ; CPU:$C5B0 PRG:05B0 C9 01 beq InitGameState4DecD8 ; CPU:$C5B2 PRG:05B2 F0 11 lda $0329 ; CPU:$C5B4 PRG:05B4 AD 29 03 cmp #$01 ; CPU:$C5B7 PRG:05B7 C9 01 beq InitGameState4DecD8 ; CPU:$C5B9 PRG:05B9 F0 0A ldy #$08 ; CPU:$C5BB PRG:05BB A0 08 lda Zp85 ; CPU:$C5BD PRG:05BD A5 85 and #$01 ; CPU:$C5BF PRG:05BF 29 01 beq InitGameState4DecD8 ; CPU:$C5C1 PRG:05C1 F0 02 ldy #$06 ; CPU:$C5C3 PRG:05C3 A0 06 ; ----------------------------------------------------------------------------- ; Routine: InitGameState4DecD8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState4DecD8: lda #$80 ; CPU:$C5C5 PRG:05C5 A9 80 jmp $C64E ; CPU:$C5C7 PRG:05C7 4C 4E C6 ; ----------------------------------------------------------------------------- ; Routine: InitGameState4CheckF2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState4CheckF2Alt: ldy #$00 ; CPU:$C5CA PRG:05CA A0 00 lda #$01 ; CPU:$C5CC PRG:05CC A9 01 jmp $C63D ; CPU:$C5CE PRG:05CE 4C 3D C6 ; ----------------------------------------------------------------------------- ; Routine: InitGameState4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitGameState4: lda ZpF2 ; CPU:$C5D1 PRG:05D1 A5 F2 lsr a ; CPU:$C5D3 PRG:05D3 4A bcs InitGameState4CheckF2Alt ; CPU:$C5D4 PRG:05D4 B0 F4 lsr a ; CPU:$C5D6 PRG:05D6 4A bcs WaitVBlankCheckFF ; CPU:$C5D7 PRG:05D7 B0 26 lsr a ; CPU:$C5D9 PRG:05D9 4A bcs WaitVBlankDecD9 ; CPU:$C5DA PRG:05DA B0 1D lsr a ; CPU:$C5DC PRG:05DC 4A bcs WaitVBlankCallC1B2 ; CPU:$C5DD PRG:05DD B0 43 lsr a ; CPU:$C5DF PRG:05DF 4A bcs WaitVBlankCheckFA ; CPU:$C5E0 PRG:05E0 B0 23 lsr a ; CPU:$C5E2 PRG:05E2 4A bcs WaitVBlankCallC1B2Alt ; CPU:$C5E3 PRG:05E3 B0 52 lsr a ; CPU:$C5E5 PRG:05E5 4A bcs InitGameState4MaskEF ; CPU:$C5E6 PRG:05E6 B0 BC lsr a ; CPU:$C5E8 PRG:05E8 4A bcs InitGameState4CheckF9 ; CPU:$C5E9 PRG:05E9 B0 C0 lda ZpEF ; CPU:$C5EB PRG:05EB A5 EF cmp #$04 ; CPU:$C5ED PRG:05ED C9 04 beq WaitVBlankLoop_C5F5 ; CPU:$C5EF PRG:05EF F0 04 lda ZpE6 ; CPU:$C5F1 PRG:05F1 A5 E6 bne WaitVBlankDecD8 ; CPU:$C5F3 PRG:05F3 D0 01 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankLoop_C5F5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankLoop_C5F5: rts ; CPU:$C5F5 PRG:05F5 60 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankDecD8 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankDecD8: jmp $C20F ; CPU:$C5F6 PRG:05F6 4C 0F C2 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankDecD9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankDecD9: ldy #$02 ; CPU:$C5F9 PRG:05F9 A0 02 lda #$04 ; CPU:$C5FB PRG:05FB A9 04 bne WaitVBlankStore ; CPU:$C5FD PRG:05FD D0 0C ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankCheckFF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankCheckFF: ldy #$05 ; CPU:$C5FF PRG:05FF A0 05 lda #$02 ; CPU:$C601 PRG:0601 A9 02 bne WaitVBlankStore ; CPU:$C603 PRG:0603 D0 06 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankCheckFA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankCheckFA: ldy #$04 ; CPU:$C605 PRG:0605 A0 04 lda #$10 ; CPU:$C607 PRG:0607 A9 10 bne WaitVBlankCallC1B2Alt2 ; CPU:$C609 PRG:0609 D0 32 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankStore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankStore: jsr $C1B2 ; CPU:$C60B PRG:060B 20 B2 C1 ldx #$80 ; CPU:$C60E PRG:060E A2 80 ldy #$06 ; CPU:$C610 PRG:0610 A0 06 jsr $C05E ; CPU:$C612 PRG:0612 20 5E C0 lda #$83 ; CPU:$C615 PRG:0615 A9 83 sta $4001 ; CPU:$C617 PRG:0617 8D 01 40 lda #$7F ; CPU:$C61A PRG:061A A9 7F sta $4005 ; CPU:$C61C PRG:061C 8D 05 40 jmp $C647 ; CPU:$C61F PRG:061F 4C 47 C6 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankCallC1B2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankCallC1B2: ldy #$03 ; CPU:$C622 PRG:0622 A0 03 lda #$08 ; CPU:$C624 PRG:0624 A9 08 bne WaitVBlankCallC1B2Alt2 ; CPU:$C626 PRG:0626 D0 15 jsr $C1B2 ; CPU:$C628 PRG:0628 20 B2 C1 ldx #$80 ; CPU:$C62B PRG:062B A2 80 ldy #$80 ; CPU:$C62D PRG:062D A0 80 lda #$83 ; CPU:$C62F PRG:062F A9 83 jsr $C058 ; CPU:$C631 PRG:0631 20 58 C0 jmp $C647 ; CPU:$C634 PRG:0634 4C 47 C6 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankCallC1B2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankCallC1B2Alt: ldy #$01 ; CPU:$C637 PRG:0637 A0 01 lda #$20 ; CPU:$C639 PRG:0639 A9 20 bne WaitVBlankCallC1B2Alt2 ; CPU:$C63B PRG:063B D0 00 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankCallC1B2Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankCallC1B2Alt2: jsr $C1B2 ; CPU:$C63D PRG:063D 20 B2 C1 ldx #$04 ; CPU:$C640 PRG:0640 A2 04 ldy #$04 ; CPU:$C642 PRG:0642 A0 04 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankJmpC20F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankJmpC20F: jsr $C056 ; CPU:$C644 PRG:0644 20 56 C0 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankZeroE4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankZeroE4: lda #$00 ; CPU:$C647 PRG:0647 A9 00 sta ZpE4 ; CPU:$C649 PRG:0649 85 E4 jmp $C20F ; CPU:$C64B PRG:064B 4C 0F C2 ; ----------------------------------------------------------------------------- ; Routine: WaitVBlankCallC1B2Zero ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- WaitVBlankCallC1B2Zero: jsr $C1B2 ; CPU:$C64E PRG:064E 20 B2 C1 ldx #$00 ; CPU:$C651 PRG:0651 A2 00 ldy #$80 ; CPU:$C653 PRG:0653 A0 80 bne WaitVBlankJmpC20F ; CPU:$C655 PRG:0655 D0 ED asl a ; CPU:$C657 PRG:0657 0A ; ---- data $C658-$C9FF (936 bytes) ---- ; referenced by `lda $C658,y` at $C1C1 (operand $C658 falls inside this region) ; referenced by `lda $C659,y` at $C1C6 (operand $C659 falls inside this region) ; referenced by `lda $C65A,y` at $C1CB (operand $C65A falls inside this region) ; referenced by `lda $C65B,y` at $C1D0 (operand $C65B falls inside this region) ; referenced by `lda $C65C,y` at $C1D5 (operand $C65C falls inside this region) ; referenced by `lda $C65D,y` at $C1DA (operand $C65D falls inside this region) ; ... and 2 further references from decoded code .byte $13, $1C, $25, $2E, $37, $40, $49, $52, $5B, $08, $37, $C9, $00, $00, $00, $00 ; CPU:$C658 PRG:0658 13 1C 25 2E 37 40 49 52 5B 08 37 C9 00 00 00 00 .byte $00, $00, $10, $10, $C8, $2B, $C8, $45, $C8, $1B, $C9, $10, $74, $C8, $5F, $C8 ; CPU:$C668 PRG:0668 00 00 10 10 C8 2B C8 45 C8 1B C9 10 74 C8 5F C8 .byte $7E, $C8, $93, $C8, $10, $3D, $C9, $58, $C9, $72, $C9, $1B, $C9, $10, $A7, $C8 ; CPU:$C678 PRG:0678 7E C8 93 C8 10 3D C9 58 C9 72 C9 1B C9 10 A7 C8 .byte $D3, $C8, $FE, $C8, $1B, $C9, $10, $83, $C9, $9C, $C9, $B2, $C9, $C8, $C9, $10 ; CPU:$C688 PRG:0688 D3 C8 FE C8 1B C9 10 83 C9 9C C9 B2 C9 C8 C9 10 .byte $00, $00, $00, $00, $6A, $C7, $E9, $C7, $10, $BB, $C6, $FD, $C6, $3B, $C7, $61 ; CPU:$C698 PRG:0698 00 00 00 00 6A C7 E9 C7 10 BB C6 FD C6 3B C7 61 .byte $C7, $10, $00, $00, $00, $00, $99, $C7, $E9, $C7, $10, $00, $00, $00, $00, $C6 ; CPU:$C6A8 PRG:06A8 C7 10 00 00 00 00 99 C7 E9 C7 10 00 00 00 00 C6 .byte $C7, $E9, $C7, $89, $02, $02, $2A, $30, $32, $08, $C8, $8A, $12, $08, $FF, $89 ; CPU:$C6B8 PRG:06B8 C7 E9 C7 89 02 02 2A 30 32 08 C8 8A 12 08 FF 89 .byte $0C, $02, $08, $02, $02, $2A, $02, $02, $2A, $24, $02, $20, $22, $24, $2A, $2E ; CPU:$C6C8 PRG:06C8 0C 02 08 02 02 2A 02 02 2A 24 02 20 22 24 2A 2E .byte $02, $2A, $C8, $8A, $12, $08, $FF, $89, $1A, $02, $12, $02, $02, $08, $02, $02 ; CPU:$C6D8 PRG:06D8 02 2A C8 8A 12 08 FF 89 1A 02 12 02 02 08 02 02 .byte $08, $08, $02, $08, $0A, $0C, $12, $64, $02, $1A, $12, $02, $02, $82, $02, $02 ; CPU:$C6E8 PRG:06E8 08 08 02 08 0A 0C 12 64 02 1A 12 02 02 82 02 02 .byte $89, $18, $02, $1A, $00, $82, $02, $02, $89, $02, $02, $20, $02, $02, $02, $2A ; CPU:$C6F8 PRG:06F8 89 18 02 1A 00 82 02 02 89 02 02 20 02 02 02 2A .byte $02, $26, $02, $02, $82, $20, $89, $20, $04, $02, $02, $02, $02, $02, $1C, $02 ; CPU:$C708 PRG:0708 02 26 02 02 82 20 89 20 04 02 02 02 02 02 1C 02 .byte $82, $1C, $89, $4A, $02, $02, $42, $08, $02, $32, $02, $02, $2E, $02, $02, $2E ; CPU:$C718 PRG:0718 82 1C 89 4A 02 02 42 08 02 32 02 02 2E 02 02 2E .byte $82, $2A, $89, $02, $02, $04, $0C, $02, $04, $32, $02, $02, $82, $02, $02, $89 ; CPU:$C728 PRG:0728 82 2A 89 02 02 04 0C 02 04 32 02 02 82 02 02 89 .byte $06, $02, $08, $82, $02, $02, $42, $89, $42, $02, $38, $82, $4A, $4A, $1C, $1C ; CPU:$C738 PRG:0738 06 02 08 82 02 02 42 89 42 02 38 82 4A 4A 1C 1C .byte $20, $89, $20, $02, $38, $82, $42, $89, $42, $02, $20, $82, $4A, $4A, $1C, $34 ; CPU:$C748 PRG:0748 20 89 20 02 38 82 42 89 42 02 20 82 4A 4A 1C 34 .byte $38, $38, $42, $02, $02, $89, $40, $02, $42, $82, $02, $02, $DC, $89, $06, $03 ; CPU:$C758 PRG:0758 38 38 42 02 02 89 40 02 42 82 02 02 DC 89 06 03 .byte $06, $FF, $F2, $89, $42, $02, $02, $02, $02, $48, $4A, $02, $02, $38, $02, $42 ; CPU:$C768 PRG:0768 06 FF F2 89 42 02 02 02 02 48 4A 02 02 38 02 42 .byte $02, $02, $3E, $44, $46, $1C, $20, $02, $1C, $02, $02, $2A, $02, $02, $42, $02 ; CPU:$C778 PRG:0778 02 02 3E 44 46 1C 20 02 1C 02 02 2A 02 02 42 02 .byte $02, $4A, $24, $02, $02, $20, $02, $1C, $88, $26, $1C, $46, $3E, $38, $34, $FF ; CPU:$C788 PRG:0788 02 4A 24 02 02 20 02 1C 88 26 1C 46 3E 38 34 FF .byte $00, $F2, $89, $46, $02, $02, $02, $02, $1E, $24, $02, $02, $1E, $02, $24, $20 ; CPU:$C798 PRG:0798 00 F2 89 46 02 02 02 02 1E 24 02 02 1E 02 24 20 .byte $02, $40, $02, $02, $02, $88, $40, $42, $44, $89, $46, $02, $02, $1C, $02, $1E ; CPU:$C7A8 PRG:07A8 02 40 02 02 02 88 40 42 44 89 46 02 02 1C 02 1E .byte $02, $02, $24, $1E, $02, $02, $88, $2A, $28, $20, $40, $42, $44, $FF, $F2, $81 ; CPU:$C7B8 PRG:07B8 02 02 24 1E 02 02 88 2A 28 20 40 42 44 FF F2 81 .byte $3C, $3C, $42, $44, $3C, $3C, $42, $44, $3C, $3C, $42, $44, $3C, $3C, $3E, $40 ; CPU:$C7C8 PRG:07C8 3C 3C 42 44 3C 3C 42 44 3C 3C 42 44 3C 3C 3E 40 .byte $42, $42, $48, $4A, $42, $42, $48, $4A, $42, $42, $48, $4A, $42, $42, $40, $3E ; CPU:$C7D8 PRG:07D8 42 42 48 4A 42 42 48 4A 42 42 48 4A 42 42 40 3E .byte $FF, $F2, $82, $0C, $0C, $0C, $89, $0C, $03, $0C, $82, $0C, $0C, $0C, $89, $0C ; CPU:$C7E8 PRG:07E8 FF F2 82 0C 0C 0C 89 0C 03 0C 82 0C 0C 0C 89 0C .byte $03, $0C, $82, $0C, $0C, $0C, $89, $0C, $03, $0C, $89, $0C, $03, $0C, $0C, $03 ; CPU:$C7F8 PRG:07F8 03 0C 82 0C 0C 0C 89 0C 03 0C 89 0C 03 0C 0C 03 .byte $03, $0C, $03, $0C, $0C, $03, $03, $FF, $89, $04, $02, $20, $02, $02, $6A, $18 ; CPU:$C808 PRG:0808 03 0C 03 0C 0C 03 03 FF 89 04 02 20 02 02 6A 18 .byte $02, $0C, $02, $02, $2A, $68, $02, $16, $0A, $02, $08, $02, $02, $82, $2A, $89 ; CPU:$C818 PRG:0818 02 0C 02 02 2A 68 02 16 0A 02 08 02 02 82 2A 89 .byte $02, $48, $00, $89, $34, $02, $48, $02, $02, $22, $48, $02, $3C, $02, $02, $22 ; CPU:$C828 PRG:0828 02 48 00 89 34 02 48 02 02 22 48 02 3C 02 02 22 .byte $20, $02, $46, $3A, $02, $38, $02, $02, $82, $22, $89, $02, $3C, $89, $34, $02 ; CPU:$C838 PRG:0838 20 02 46 3A 02 38 02 02 82 22 89 02 3C 89 34 02 .byte $34, $48, $02, $22, $82, $46, $89, $42, $02, $08, $02, $3E, $3E, $82, $3A, $89 ; CPU:$C848 PRG:0848 34 48 02 22 82 46 89 42 02 08 02 3E 3E 82 3A 89 .byte $38, $02, $82, $08, $89, $02, $34, $89, $32, $02, $2E, $02, $02, $02, $2A, $02 ; CPU:$C858 PRG:0858 38 02 82 08 89 02 34 89 32 02 2E 02 02 02 2A 02 .byte $02, $26, $02, $02, $24, $02, $26, $24, $02, $20, $82, $02, $82, $02, $02, $1C ; CPU:$C868 PRG:0868 02 26 02 02 24 02 26 24 02 20 82 02 82 02 02 1C .byte $02, $02, $02, $81, $1C, $00, $89, $2A, $02, $26, $02, $02, $02, $24, $02, $02 ; CPU:$C878 PRG:0878 02 02 02 81 1C 00 89 2A 02 26 02 02 02 24 02 02 .byte $20, $02, $02, $1C, $02, $20, $1C, $02, $4A, $82, $02, $82, $03, $89, $06, $03 ; CPU:$C888 PRG:0888 20 02 02 1C 02 20 1C 02 4A 82 02 82 03 89 06 03 .byte $06, $82, $03, $89, $06, $03, $06, $03, $06, $03, $06, $03, $06, $82, $09, $89 ; CPU:$C898 PRG:0898 06 82 03 89 06 03 06 03 06 03 06 03 06 82 09 89 .byte $0C, $02, $12, $26, $02, $08, $08, $02, $2A, $24, $02, $20, $02, $02, $12, $2A ; CPU:$C8A8 PRG:08A8 0C 02 12 26 02 08 08 02 2A 24 02 20 02 02 12 2A .byte $30, $2A, $32, $02, $04, $02, $06, $48, $20, $02, $2A, $02, $02, $02, $20, $02 ; CPU:$C8B8 PRG:08B8 30 2A 32 02 04 02 06 48 20 02 2A 02 02 02 20 02 .byte $2A, $12, $08, $2C, $32, $2A, $1C, $04, $02, $32, $00, $89, $02, $02, $08, $82 ; CPU:$C8C8 PRG:08C8 2A 12 08 2C 32 2A 1C 04 02 32 00 89 02 02 08 82 .byte $20, $89, $30, $02, $02, $48, $02, $46, $02, $02, $4A, $02, $48, $02, $4A, $02 ; CPU:$C8D8 PRG:08D8 20 89 30 02 02 48 02 46 02 02 4A 02 48 02 4A 02 .byte $1C, $02, $1E, $24, $46, $02, $20, $02, $02, $2A, $44, $02, $44, $02, $02, $02 ; CPU:$C8E8 PRG:08E8 1C 02 1E 24 46 02 20 02 02 2A 44 02 44 02 02 02 .byte $24, $1C, $02, $22, $02, $24, $C2, $89, $42, $02, $42, $82, $4A, $1C, $24, $FF ; CPU:$C8F8 PRG:08F8 24 1C 02 22 02 24 C2 89 42 02 42 82 4A 1C 24 FF .byte $89, $42, $02, $42, $42, $42, $42, $48, $02, $48, $48, $48, $48, $46, $46, $46 ; CPU:$C908 PRG:0908 89 42 02 42 42 42 42 48 02 48 48 48 48 46 46 46 .byte $44, $02, $42, $C2, $89, $06, $03, $06, $82, $09, $89, $06, $06, $03, $82, $09 ; CPU:$C918 PRG:0918 44 02 42 C2 89 06 03 06 82 09 89 06 06 03 82 09 .byte $FF, $C2, $06, $03, $06, $03, $06, $06, $FF, $06, $06, $06, $09, $03, $09, $C4 ; CPU:$C928 PRG:0928 FF C2 06 03 06 03 06 06 FF 06 06 06 09 03 09 C4 .byte $80, $10, $6E, $FF, $00, $89, $02, $02, $2A, $02, $02, $48, $2E, $02, $04, $02 ; CPU:$C938 PRG:0938 80 10 6E FF 00 89 02 02 2A 02 02 48 2E 02 04 02 .byte $02, $22, $20, $02, $04, $0A, $0E, $10, $12, $0A, $04, $30, $2A, $22, $24, $00 ; CPU:$C948 PRG:0948 02 22 20 02 04 0A 0E 10 12 0A 04 30 2A 22 24 00 .byte $89, $02, $02, $20, $02, $02, $82, $3C, $89, $2A, $02, $02, $48, $46, $02, $02 ; CPU:$C958 PRG:0958 89 02 02 20 02 02 82 3C 89 2A 02 02 48 46 02 02 .byte $02, $02, $3A, $02, $02, $22, $02, $02, $46, $48, $89, $1C, $02, $1C, $82, $48 ; CPU:$C968 PRG:0968 02 02 3A 02 02 22 02 02 46 48 89 1C 02 1C 82 48 .byte $46, $42, $89, $02, $02, $3E, $82, $3A, $38, $36, $34, $89, $02, $02, $12, $82 ; CPU:$C978 PRG:0978 46 42 89 02 02 3E 82 3A 38 36 34 89 02 02 12 82 .byte $02, $1C, $02, $02, $89, $02, $02, $1C, $82, $1C, $02, $89, $02, $02, $12, $02 ; CPU:$C988 PRG:0988 02 1C 02 02 89 02 02 1C 82 1C 02 89 02 02 12 02 .byte $02, $2E, $1C, $00, $89, $04, $02, $02, $02, $02, $0E, $0A, $02, $06, $02, $02 ; CPU:$C998 PRG:0998 02 2E 1C 00 89 04 02 02 02 02 0E 0A 02 06 02 02 .byte $02, $04, $02, $06, $32, $02, $04, $84, $02, $02, $89, $2C, $02, $02, $02, $02 ; CPU:$C9A8 PRG:09A8 02 04 02 06 32 02 04 84 02 02 89 2C 02 02 02 02 .byte $06, $04, $02, $30, $02, $02, $02, $2C, $02, $30, $2A, $02, $2C, $84, $02, $02 ; CPU:$C9B8 PRG:09B8 06 04 02 30 02 02 02 2C 02 30 2A 02 2C 84 02 02 .byte $89, $06, $03, $06, $06, $03, $06, $06, $06, $03, $06, $03, $06, $03, $06, $03 ; CPU:$C9C8 PRG:09C8 89 06 03 06 06 03 06 06 06 03 06 03 06 03 06 03 .byte $06, $03, $06, $06, $03, $03, $06, $03, $09, $03, $06, $03, $06, $03, $06, $06 ; CPU:$C9D8 PRG:09D8 06 03 06 06 03 03 06 03 09 03 06 03 06 03 06 06 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C9E8 PRG:09E8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C9F8 PRG:09F8 FF FF FF FF FF FF FF FF ; ----------------------------------------------------------------------------- ; 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:$CA00 PRG:0A00 D8 sei ; CPU:$CA01 PRG:0A01 78 ; ----------------------------------------------------------------------------- ; 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 $2002 ; CPU:$CA02 PRG:0A02 AD 02 20 bpl WaitPPUReady ; CPU:$CA05 PRG:0A05 10 FB ldx #$00 ; CPU:$CA07 PRG:0A07 A2 00 stx $2000 ; CPU:$CA09 PRG:0A09 8E 00 20 stx $2001 ; CPU:$CA0C PRG:0A0C 8E 01 20 dex ; CPU:$CA0F PRG:0A0F CA txs ; CPU:$CA10 PRG:0A10 9A ldx $05EC ; CPU:$CA11 PRG:0A11 AE EC 05 jsr $D07A ; CPU:$CA14 PRG:0A14 20 7A D0 ldy #$06 ; CPU:$CA17 PRG:0A17 A0 06 sty Zp01 ; CPU:$CA19 PRG:0A19 84 01 ldy #$00 ; CPU:$CA1B PRG:0A1B A0 00 sty Zp00 ; CPU:$CA1D PRG:0A1D 84 00 lda #$00 ; CPU:$CA1F PRG:0A1F A9 00 ; ----------------------------------------------------------------------------- ; Routine: ClearRAMLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ClearRAMLoop: sta (Zp00),y ; CPU:$CA21 PRG:0A21 91 00 dey ; CPU:$CA23 PRG:0A23 88 bne ClearRAMLoop ; CPU:$CA24 PRG:0A24 D0 FB dec Zp01 ; CPU:$CA26 PRG:0A26 C6 01 bpl ClearRAMLoop ; CPU:$CA28 PRG:0A28 10 F7 txa ; CPU:$CA2A PRG:0A2A 8A bne StoreConfig ; CPU:$CA2B PRG:0A2B D0 02 ldx #$5F ; CPU:$CA2D PRG:0A2D A2 5F ; ----------------------------------------------------------------------------- ; Routine: StoreConfig ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- StoreConfig: stx $05EC ; CPU:$CA2F PRG:0A2F 8E EC 05 jsr $CC67 ; CPU:$CA32 PRG:0A32 20 67 CC jsr $CC77 ; CPU:$CA35 PRG:0A35 20 77 CC ldy #$00 ; CPU:$CA38 PRG:0A38 A0 00 sta $2005 ; CPU:$CA3A PRG:0A3A 8D 05 20 sta $2005 ; CPU:$CA3D PRG:0A3D 8D 05 20 ldy #$01 ; CPU:$CA40 PRG:0A40 A0 01 sty Zp24 ; CPU:$CA42 PRG:0A42 84 24 sty ZpA5 ; CPU:$CA44 PRG:0A44 84 A5 lda #$0F ; CPU:$CA46 PRG:0A46 A9 0F sta $4015 ; CPU:$CA48 PRG:0A48 8D 15 40 jsr $C003 ; CPU:$CA4B PRG:0A4B 20 03 C0 jsr $E7EF ; CPU:$CA4E PRG:0A4E 20 EF E7 lda #$90 ; CPU:$CA51 PRG:0A51 A9 90 sta $2000 ; CPU:$CA53 PRG:0A53 8D 00 20 sta Zp08 ; CPU:$CA56 PRG:0A56 85 08 lda #$02 ; CPU:$CA58 PRG:0A58 A9 02 sta Zp09 ; CPU:$CA5A PRG:0A5A 85 09 ldx #$0B ; CPU:$CA5C PRG:0A5C A2 0B ; ----------------------------------------------------------------------------- ; Routine: CopyConfigData ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CopyConfigData: lda $F68A,x ; CPU:$CA5E PRG:0A5E BD 8A F6 sta $05F0,x ; CPU:$CA61 PRG:0A61 9D F0 05 dex ; CPU:$CA64 PRG:0A64 CA bpl CopyConfigData ; CPU:$CA65 PRG:0A65 10 F7 bmi MainGameLoop ; CPU:$CA67 PRG:0A67 30 1E ; ----------------------------------------------------------------------------- ; Routine: TitleScreenLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- TitleScreenLoop: lda Zp24 ; CPU:$CA69 PRG:0A69 A5 24 beq CallInitAPU ; CPU:$CA6B PRG:0A6B F0 06 lda Zp26 ; CPU:$CA6D PRG:0A6D A5 26 cmp #$01 ; CPU:$CA6F PRG:0A6F C9 01 bne GameplayFrame ; CPU:$CA71 PRG:0A71 D0 03 ; ----------------------------------------------------------------------------- ; Routine: CallInitAPU ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CallInitAPU: jsr $C000 ; CPU:$CA73 PRG:0A73 20 00 C0 ; ----------------------------------------------------------------------------- ; Routine: GameplayFrame ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- GameplayFrame: jsr $CDCA ; CPU:$CA76 PRG:0A76 20 CA CD jsr $CCD0 ; CPU:$CA79 PRG:0A79 20 D0 CC jsr $CADA ; CPU:$CA7C PRG:0A7C 20 DA CA jsr $DB48 ; CPU:$CA7F PRG:0A7F 20 48 DB inc Zp2F ; CPU:$CA82 PRG:0A82 E6 2F jsr $D057 ; CPU:$CA84 PRG:0A84 20 57 D0 ; ----------------------------------------------------------------------------- ; 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: lda Zp20 ; CPU:$CA87 PRG:0A87 A5 20 bne TitleScreenLoop ; CPU:$CA89 PRG:0A89 D0 DE jsr $CFA1 ; CPU:$CA8B PRG:0A8B 20 A1 CF jmp $CA87 ; CPU:$CA8E PRG:0A8E 4C 87 CA ; ----------------------------------------------------------------------------- ; 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: php ; CPU:$CA91 PRG:0A91 08 pha ; CPU:$CA92 PRG:0A92 48 txa ; CPU:$CA93 PRG:0A93 8A pha ; CPU:$CA94 PRG:0A94 48 tya ; CPU:$CA95 PRG:0A95 98 pha ; CPU:$CA96 PRG:0A96 48 lda Zp86 ; CPU:$CA97 PRG:0A97 A5 86 bne NmiVBlankOnly_CAC2 ; CPU:$CA99 PRG:0A99 D0 27 lda #$00 ; CPU:$CA9B PRG:0A9B A9 00 sta $2003 ; CPU:$CA9D PRG:0A9D 8D 03 20 lda #$02 ; CPU:$CAA0 PRG:0AA0 A9 02 sta $4014 ; CPU:$CAA2 PRG:0AA2 8D 14 40 lda Zp22 ; CPU:$CAA5 PRG:0AA5 A5 22 bne NmiExit ; CPU:$CAA7 PRG:0AA7 D0 0C jsr $CD41 ; CPU:$CAA9 PRG:0AA9 20 41 CD jsr $CC85 ; CPU:$CAAC PRG:0AAC 20 85 CC jsr $CCAF ; CPU:$CAAF PRG:0AAF 20 AF CC ; ----------------------------------------------------------------------------- ; Routine: NmiFrameUpdate4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiFrameUpdate4: jsr $CE43 ; CPU:$CAB2 PRG:0AB2 20 43 CE ; ----------------------------------------------------------------------------- ; Routine: NmiExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiExit: ldy #$01 ; CPU:$CAB5 PRG:0AB5 A0 01 sty Zp22 ; CPU:$CAB7 PRG:0AB7 84 22 sty Zp20 ; CPU:$CAB9 PRG:0AB9 84 20 pla ; CPU:$CABB PRG:0ABB 68 tay ; CPU:$CABC PRG:0ABC A8 pla ; CPU:$CABD PRG:0ABD 68 tax ; CPU:$CABE PRG:0ABE AA pla ; CPU:$CABF PRG:0ABF 68 plp ; CPU:$CAC0 PRG:0AC0 28 rti ; CPU:$CAC1 PRG:0AC1 40 ; ----------------------------------------------------------------------------- ; Routine: NmiVBlankOnly_CAC2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- NmiVBlankOnly_CAC2: lda Zp09 ; CPU:$CAC2 PRG:0AC2 A5 09 and #$E7 ; CPU:$CAC4 PRG:0AC4 29 E7 sta Zp09 ; CPU:$CAC6 PRG:0AC6 85 09 sta $2001 ; CPU:$CAC8 PRG:0AC8 8D 01 20 jsr $D174 ; CPU:$CACB PRG:0ACB 20 74 D1 lda Zp09 ; CPU:$CACE PRG:0ACE A5 09 ora #$18 ; CPU:$CAD0 PRG:0AD0 09 18 sta Zp09 ; CPU:$CAD2 PRG:0AD2 85 09 sta $2001 ; CPU:$CAD4 PRG:0AD4 8D 01 20 jmp $CAB2 ; CPU:$CAD7 PRG:0AD7 4C B2 CA ; ----------------------------------------------------------------------------- ; Routine: UpdateScroll ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScroll: lda Zp24 ; CPU:$CADA PRG:0ADA A5 24 beq TitleScreenCheckMode ; CPU:$CADC PRG:0ADC F0 03 jmp $CB91 ; CPU:$CADE PRG:0ADE 4C 91 CB ; ----------------------------------------------------------------------------- ; Routine: TitleScreenCheckMode ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- TitleScreenCheckMode: lda Zp16 ; CPU:$CAE1 PRG:0AE1 A5 16 and #$10 ; CPU:$CAE3 PRG:0AE3 29 10 beq TitleScreenLoopCallInitAPU ; CPU:$CAE5 PRG:0AE5 F0 7A ldy $05FC ; CPU:$CAE7 PRG:0AE7 AC FC 05 bne UpdateScrollEntry ; CPU:$CAEA PRG:0AEA D0 7A iny ; CPU:$CAEC PRG:0AEC C8 sty $05FC ; CPU:$CAED PRG:0AED 8C FC 05 ldy Zp25 ; CPU:$CAF0 PRG:0AF0 A4 25 cpy #$10 ; CPU:$CAF2 PRG:0AF2 C0 10 beq CheckControllerStartExit ; CPU:$CAF4 PRG:0AF4 F0 3B cpy #$03 ; CPU:$CAF6 PRG:0AF6 C0 03 beq CheckControllerStartEntry ; CPU:$CAF8 PRG:0AF8 F0 0C cpy #$04 ; CPU:$CAFA PRG:0AFA C0 04 beq CheckControllerStartEntry ; CPU:$CAFC PRG:0AFC F0 08 cpy #$0B ; CPU:$CAFE PRG:0AFE C0 0B beq CheckControllerStartEntry ; CPU:$CB00 PRG:0B00 F0 04 cpy #$0C ; CPU:$CB02 PRG:0B02 C0 0C bne UpdateScrollEntry ; CPU:$CB04 PRG:0B04 D0 60 ; ----------------------------------------------------------------------------- ; Routine: CheckControllerStartEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckControllerStartEntry: lda $0321 ; CPU:$CB06 PRG:0B06 AD 21 03 cmp #$0B ; CPU:$CB09 PRG:0B09 C9 0B beq UpdateScrollEntry ; CPU:$CB0B PRG:0B0B F0 59 ldx #$05 ; CPU:$CB0D PRG:0B0D A2 05 ; ----------------------------------------------------------------------------- ; Routine: CheckControllerStartLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckControllerStartLoop: lda Zp2A,x ; CPU:$CB0F PRG:0B0F B5 2A sta $0430,x ; CPU:$CB11 PRG:0B11 9D 30 04 dex ; CPU:$CB14 PRG:0B14 CA bpl CheckControllerStartLoop ; CPU:$CB15 PRG:0B15 10 F8 lda Zp09 ; CPU:$CB17 PRG:0B17 A5 09 and #$0E ; CPU:$CB19 PRG:0B19 29 0E sta $2001 ; CPU:$CB1B PRG:0B1B 8D 01 20 sta Zp09 ; CPU:$CB1E PRG:0B1E 85 09 lda Zp25 ; CPU:$CB20 PRG:0B20 A5 25 sta Zp1D ; CPU:$CB22 PRG:0B22 85 1D lda #$00 ; CPU:$CB24 PRG:0B24 A9 00 sta Zp96 ; CPU:$CB26 PRG:0B26 85 96 lda #$10 ; CPU:$CB28 PRG:0B28 A9 10 sta Zp25 ; CPU:$CB2A PRG:0B2A 85 25 lda #$02 ; CPU:$CB2C PRG:0B2C A9 02 jmp $CB55 ; CPU:$CB2E PRG:0B2E 4C 55 CB ; ----------------------------------------------------------------------------- ; Routine: CheckControllerStartExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckControllerStartExit: lda Zp09 ; CPU:$CB31 PRG:0B31 A5 09 ora #$10 ; CPU:$CB33 PRG:0B33 09 10 sta $2001 ; CPU:$CB35 PRG:0B35 8D 01 20 sta Zp09 ; CPU:$CB38 PRG:0B38 85 09 lda #$11 ; CPU:$CB3A PRG:0B3A A9 11 sta Zp25 ; CPU:$CB3C PRG:0B3C 85 25 lda #$30 ; CPU:$CB3E PRG:0B3E A9 30 sta Zp1C ; CPU:$CB40 PRG:0B40 85 1C lda #$00 ; CPU:$CB42 PRG:0B42 A9 00 jsr $E70C ; CPU:$CB44 PRG:0B44 20 0C E7 jsr $E793 ; CPU:$CB47 PRG:0B47 20 93 E7 ; ---- data $CB4A-$CB4A (1 bytes) ---- .byte $A5 ; CPU:$CB4A PRG:0B4A A5 ; ----------------------------------------------------------------------------- ; Routine: CheckControllerStartWait ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckControllerStartWait: inc ZpD0 ; CPU:$CB4B PRG:0B4B E6 D0 ; ---- data $CB4D-$CB4D (1 bytes) ---- .byte $03 ; CPU:$CB4D PRG:0B4D 03 ; ----------------------------------------------------------------------------- ; Routine: CheckControllerStartJmp ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckControllerStartJmp: jmp $E7F7 ; CPU:$CB4E PRG:0B4E 4C F7 E7 ; ----------------------------------------------------------------------------- ; Routine: GameplayFrameCallD012 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- GameplayFrameCallD012: jsr $D012 ; CPU:$CB51 PRG:0B51 20 12 D0 rts ; CPU:$CB54 PRG:0B54 60 ; ----------------------------------------------------------------------------- ; Routine: GameplayFrameCallE70C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- GameplayFrameCallE70C: jsr $E70C ; CPU:$CB55 PRG:0B55 20 0C E7 jsr $E793 ; CPU:$CB58 PRG:0B58 20 93 E7 jsr $D012 ; CPU:$CB5B PRG:0B5B 20 12 D0 jmp $E7DB ; CPU:$CB5E PRG:0B5E 4C DB E7 ; ----------------------------------------------------------------------------- ; Routine: TitleScreenLoopCallInitAPU ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- TitleScreenLoopCallInitAPU: lda #$00 ; CPU:$CB61 PRG:0B61 A9 00 sta $05FC ; CPU:$CB63 PRG:0B63 8D FC 05 ; ----------------------------------------------------------------------------- ; Routine: UpdateScrollEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScrollEntry: lda Zp25 ; CPU:$CB66 PRG:0B66 A5 25 jsr $CDE0 ; CPU:$CB68 PRG:0B68 20 E0 CD sta $B7D0,x ; CPU:$CB6B PRG:0B6B 9D D0 B7 bne CheckControllerStartJmp ; CPU:$CB6E PRG:0B6E D0 DE ; ---- data $CB70-$CBAC (61 bytes) ---- ; referenced by `jmp $CB91` at $CADE (operand $CB91 falls inside this region) .byte $D0, $87, $D1, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19, $D0, $19 ; CPU:$CB70 PRG:0B70 D0 87 D1 19 D0 19 D0 19 D0 19 D0 19 D0 19 D0 19 .byte $D0, $19, $D0, $19, $D0, $19, $D0, $52, $D1, $19, $D0, $19, $D0, $BD, $CC, $5E ; CPU:$CB80 PRG:0B80 D0 19 D0 19 D0 19 D0 52 D1 19 D0 19 D0 BD CC 5E .byte $D0, $A5, $C0, $D0, $2B, $A9, $11, $8D, $00, $05, $A0, $22, $A2, $26, $AD, $FE ; CPU:$CB90 PRG:0B90 D0 A5 C0 D0 2B A9 11 8D 00 05 A0 22 A2 26 AD FE .byte $05, $F0, $02, $A2, $2F, $8E, $01, $05, $A2, $64, $20, $8E, $D0 ; CPU:$CBA0 PRG:0BA0 05 F0 02 A2 2F 8E 01 05 A2 64 20 8E D0 ldx #$26 ; CPU:$CBAD PRG:0BAD A2 26 lda $05FE ; CPU:$CBAF PRG:0BAF AD FE 05 bne InitSpritesSetPos ; CPU:$CBB2 PRG:0BB2 D0 02 ldx #$2F ; CPU:$CBB4 PRG:0BB4 A2 2F ; ----------------------------------------------------------------------------- ; Routine: InitSpritesSetPos ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesSetPos: stx $0501 ; CPU:$CBB6 PRG:0BB6 8E 01 05 ldx #$A4 ; CPU:$CBB9 PRG:0BB9 A2 A4 ldy #$22 ; CPU:$CBBB PRG:0BBB A0 22 jsr $D08E ; CPU:$CBBD PRG:0BBD 20 8E D0 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesZero5FF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesZero5FF: lda #$00 ; CPU:$CBC0 PRG:0BC0 A9 00 sta $05FF ; CPU:$CBC2 PRG:0BC2 8D FF 05 lda #$01 ; CPU:$CBC5 PRG:0BC5 A9 01 sta ZpB9 ; CPU:$CBC7 PRG:0BC7 85 B9 sta ZpBA ; CPU:$CBC9 PRG:0BC9 85 BA lda Zp26 ; CPU:$CBCB PRG:0BCB A5 26 beq InitSpritesBeqCBFB ; CPU:$CBCD PRG:0BCD F0 2C lda $05FF ; CPU:$CBCF PRG:0BCF AD FF 05 cmp #$01 ; CPU:$CBD2 PRG:0BD2 C9 01 beq InitSprites ; CPU:$CBD4 PRG:0BD4 F0 0C cmp #$02 ; CPU:$CBD6 PRG:0BD6 C9 02 beq InitSpritesExit ; CPU:$CBD8 PRG:0BD8 F0 31 ; ----------------------------------------------------------------------------- ; Routine: UpdateScrollLogic ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScrollLogic: lda Zp16 ; CPU:$CBDA PRG:0BDA A5 16 and #$30 ; CPU:$CBDC PRG:0BDC 29 30 cmp #$10 ; CPU:$CBDE PRG:0BDE C9 10 bne InitSpritesAlt ; CPU:$CBE0 PRG:0BE0 D0 15 ; ----------------------------------------------------------------------------- ; 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: lda #$00 ; CPU:$CBE2 PRG:0BE2 A9 00 sta Zp24 ; CPU:$CBE4 PRG:0BE4 85 24 sta Zp25 ; CPU:$CBE6 PRG:0BE6 85 25 sta ZpC0 ; CPU:$CBE8 PRG:0BE8 85 C0 jsr $E793 ; CPU:$CBEA PRG:0BEA 20 93 E7 jsr $D01A ; CPU:$CBED PRG:0BED 20 1A D0 lda #$02 ; CPU:$CBF0 PRG:0BF0 A9 02 sta Zp2A ; CPU:$CBF2 PRG:0BF2 85 2A sta Zp2D ; CPU:$CBF4 PRG:0BF4 85 2D rts ; CPU:$CBF6 PRG:0BF6 60 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesAlt: ldx Zp26 ; CPU:$CBF7 PRG:0BF7 A6 26 bne UpdateScrollCheckZp1F ; CPU:$CBF9 PRG:0BF9 D0 07 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesBeqCBFB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesBeqCBFB: lda #$30 ; CPU:$CBFB PRG:0BFB A9 30 sta Zp2D ; CPU:$CBFD PRG:0BFD 85 2D jmp $CC42 ; CPU:$CBFF PRG:0BFF 4C 42 CC ; ----------------------------------------------------------------------------- ; Routine: UpdateScrollCheckZp1F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScrollCheckZp1F: cmp #$20 ; CPU:$CC02 PRG:0C02 C9 20 bne InitSpritesCpy02 ; CPU:$CC04 PRG:0C04 D0 15 lda $05FD ; CPU:$CC06 PRG:0C06 AD FD 05 bne UpdateScrollReadDispatch ; CPU:$CC09 PRG:0C09 D0 1E ; ----------------------------------------------------------------------------- ; Routine: InitSpritesExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesExit: ldy $05FE ; CPU:$CC0B PRG:0C0B AC FE 05 iny ; CPU:$CC0E PRG:0C0E C8 cpy #$02 ; CPU:$CC0F PRG:0C0F C0 02 bne InitSpritesIncY ; CPU:$CC11 PRG:0C11 D0 02 ldy #$00 ; CPU:$CC13 PRG:0C13 A0 00 ; ----------------------------------------------------------------------------- ; Routine: InitSpritesIncY ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesIncY: sty $05FE ; CPU:$CC15 PRG:0C15 8C FE 05 jmp $CC24 ; CPU:$CC18 PRG:0C18 4C 24 CC ; ----------------------------------------------------------------------------- ; Routine: InitSpritesCpy02 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesCpy02: cmp #$00 ; CPU:$CC1B PRG:0C1B C9 00 bne InitSpritesSet5FD ; CPU:$CC1D PRG:0C1D D0 05 sta $05FD ; CPU:$CC1F PRG:0C1F 8D FD 05 beq UpdateScrollReadZpA4 ; CPU:$CC22 PRG:0C22 F0 1A ; ----------------------------------------------------------------------------- ; Routine: InitSpritesSet5FD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpritesSet5FD: lda #$01 ; CPU:$CC24 PRG:0C24 A9 01 sta $05FD ; CPU:$CC26 PRG:0C26 8D FD 05 ; ----------------------------------------------------------------------------- ; Routine: UpdateScrollReadDispatch ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScrollReadDispatch: lda ZpC0 ; CPU:$CC29 PRG:0C29 A5 C0 beq UpdateScrollCheckDispatch ; CPU:$CC2B PRG:0C2B F0 0D lda #$00 ; CPU:$CC2D PRG:0C2D A9 00 sta ZpC0 ; CPU:$CC2F PRG:0C2F 85 C0 sta ZpF0 ; CPU:$CC31 PRG:0C31 85 F0 sta ZpF1 ; CPU:$CC33 PRG:0C33 85 F1 sta ZpF2 ; CPU:$CC35 PRG:0C35 85 F2 jmp $DA25 ; CPU:$CC37 PRG:0C37 4C 25 DA ; ----------------------------------------------------------------------------- ; Routine: UpdateScrollCheckDispatch ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScrollCheckDispatch: lda #$30 ; CPU:$CC3A PRG:0C3A A9 30 sta Zp2D ; CPU:$CC3C PRG:0C3C 85 2D ; ----------------------------------------------------------------------------- ; Routine: UpdateScrollReadZpA4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScrollReadZpA4: cpx #$01 ; CPU:$CC3E PRG:0C3E E0 01 bne UpdateScrollCheckDispatchAlt ; CPU:$CC40 PRG:0C40 D0 00 ; ----------------------------------------------------------------------------- ; Routine: UpdateScrollCheckDispatchAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScrollCheckDispatchAlt: lda ZpC0 ; CPU:$CC42 PRG:0C42 A5 C0 bne UpdateScrollCheckZpA4 ; CPU:$CC44 PRG:0C44 D0 16 lda ZpA4 ; CPU:$CC46 PRG:0C46 A5 A4 sta $0501 ; CPU:$CC48 PRG:0C48 8D 01 05 lda ZpA5 ; CPU:$CC4B PRG:0C4B A5 A5 sta $0502 ; CPU:$CC4D PRG:0C4D 8D 02 05 lda #$12 ; CPU:$CC50 PRG:0C50 A9 12 sta $0500 ; CPU:$CC52 PRG:0C52 8D 00 05 ldx #$F4 ; CPU:$CC55 PRG:0C55 A2 F4 ldy #$22 ; CPU:$CC57 PRG:0C57 A0 22 jsr $D08E ; CPU:$CC59 PRG:0C59 20 8E D0 ; ----------------------------------------------------------------------------- ; Routine: UpdateScrollCheckZpA4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScrollCheckZpA4: lda Zp26 ; CPU:$CC5C PRG:0C5C A5 26 jsr $CDE0 ; CPU:$CC5E PRG:0C5E 20 E0 CD ; ---- data $CC61-$CC66 (6 bytes) ---- .byte $C3, $CF, $F2, $CF, $0F, $D0 ; CPU:$CC61 PRG:0C61 C3 CF F2 CF 0F D0 ; ----------------------------------------------------------------------------- ; Routine: UpdateOAM_CC67 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateOAM_CC67: lda #$02 ; CPU:$CC67 PRG:0C67 A9 02 jsr $CC6E ; CPU:$CC69 PRG:0C69 20 6E CC lda #$01 ; CPU:$CC6C PRG:0C6C A9 01 ; ----------------------------------------------------------------------------- ; Routine: UpdateOAMSetPointer ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateOAMSetPointer: sta Zp01 ; CPU:$CC6E PRG:0C6E 85 01 lda #$2F ; CPU:$CC70 PRG:0C70 A9 2F sta Zp00 ; CPU:$CC72 PRG:0C72 85 00 jmp $CD85 ; CPU:$CC74 PRG:0C74 4C 85 CD ; ----------------------------------------------------------------------------- ; Routine: UpdateOAMExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateOAMExit: ldy #$00 ; CPU:$CC77 PRG:0C77 A0 00 lda #$F4 ; CPU:$CC79 PRG:0C79 A9 F4 ; ----------------------------------------------------------------------------- ; Routine: UpdateOAMClear200 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateOAMClear200: sta $0200,y ; CPU:$CC7B PRG:0C7B 99 00 02 iny ; CPU:$CC7E PRG:0C7E C8 iny ; CPU:$CC7F PRG:0C7F C8 iny ; CPU:$CC80 PRG:0C80 C8 iny ; CPU:$CC81 PRG:0C81 C8 bne UpdateOAMClear200 ; CPU:$CC82 PRG:0C82 D0 F7 rts ; CPU:$CC84 PRG:0C84 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateOAM_CC85 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateOAM_CC85: ldy Zp23 ; CPU:$CC85 PRG:0C85 A4 23 beq UpdateOAMDecrement ; CPU:$CC87 PRG:0C87 F0 25 dey ; CPU:$CC89 PRG:0C89 88 tya ; CPU:$CC8A PRG:0C8A 98 asl a ; CPU:$CC8B PRG:0C8B 0A tay ; CPU:$CC8C PRG:0C8C A8 lda $F5B2,y ; CPU:$CC8D PRG:0C8D B9 B2 F5 ldx $F5B3,y ; CPU:$CC90 PRG:0C90 BE B3 F5 ldy #$00 ; CPU:$CC93 PRG:0C93 A0 00 sty Zp23 ; CPU:$CC95 PRG:0C95 84 23 ; ----------------------------------------------------------------------------- ; Routine: UpdateOAMCheckZp23 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateOAMCheckZp23: sta Zp00 ; CPU:$CC97 PRG:0C97 85 00 stx Zp01 ; CPU:$CC99 PRG:0C99 86 01 jsr $CE3A ; CPU:$CC9B PRG:0C9B 20 3A CE lda #$3F ; CPU:$CC9E PRG:0C9E A9 3F sta $2006 ; CPU:$CCA0 PRG:0CA0 8D 06 20 lda #$00 ; CPU:$CCA3 PRG:0CA3 A9 00 sta $2006 ; CPU:$CCA5 PRG:0CA5 8D 06 20 sta $2006 ; CPU:$CCA8 PRG:0CA8 8D 06 20 sta $2006 ; CPU:$CCAB PRG:0CAB 8D 06 20 ; ----------------------------------------------------------------------------- ; Routine: UpdateOAMDecrement ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateOAMDecrement: rts ; CPU:$CCAE PRG:0CAE 60 ; ----------------------------------------------------------------------------- ; Routine: UpdatePalettes ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePalettes: ldy Zp27 ; CPU:$CCAF PRG:0CAF A4 27 beq UpdateOAMDecrement ; CPU:$CCB1 PRG:0CB1 F0 FB ldy #$00 ; CPU:$CCB3 PRG:0CB3 A0 00 sty Zp27 ; CPU:$CCB5 PRG:0CB5 84 27 lda #$00 ; CPU:$CCB7 PRG:0CB7 A9 00 ldx #$04 ; CPU:$CCB9 PRG:0CB9 A2 04 bne UpdateOAMCheckZp23 ; CPU:$CCBB PRG:0CBB D0 DA dec Zp1C ; CPU:$CCBD PRG:0CBD C6 1C bne UpdateOAMZeroY ; CPU:$CCBF PRG:0CBF D0 0E ldx #$05 ; CPU:$CCC1 PRG:0CC1 A2 05 ; ----------------------------------------------------------------------------- ; Routine: UpdateOAMCheckZp27 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateOAMCheckZp27: lda $0430,x ; CPU:$CCC3 PRG:0CC3 BD 30 04 sta Zp2A,x ; CPU:$CCC6 PRG:0CC6 95 2A dex ; CPU:$CCC8 PRG:0CC8 CA bpl UpdateOAMCheckZp27 ; CPU:$CCC9 PRG:0CC9 10 F8 lda Zp1D ; CPU:$CCCB PRG:0CCB A5 1D sta Zp25 ; CPU:$CCCD PRG:0CCD 85 25 ; ----------------------------------------------------------------------------- ; Routine: UpdateOAMZeroY ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateOAMZeroY: rts ; CPU:$CCCF PRG:0CCF 60 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayers ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayers: lda #$01 ; CPU:$CCD0 PRG:0CD0 A9 01 sta $4016 ; CPU:$CCD2 PRG:0CD2 8D 16 40 lda #$00 ; CPU:$CCD5 PRG:0CD5 A9 00 sta $4016 ; CPU:$CCD7 PRG:0CD7 8D 16 40 ldy #$40 ; CPU:$CCDA PRG:0CDA A0 40 ldx $032A ; CPU:$CCDC PRG:0CDC AE 2A 03 beq UpdatePalettesCheckZp27 ; CPU:$CCDF PRG:0CDF F0 02 ldy #$42 ; CPU:$CCE1 PRG:0CE1 A0 42 ; ----------------------------------------------------------------------------- ; Routine: UpdatePalettesCheckZp27 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePalettesCheckZp27: sty Zp01 ; CPU:$CCE3 PRG:0CE3 84 01 ldx #$00 ; CPU:$CCE5 PRG:0CE5 A2 00 jsr $CCFB ; CPU:$CCE7 PRG:0CE7 20 FB CC ldy #$40 ; CPU:$CCEA PRG:0CEA A0 40 ldx $030A ; CPU:$CCEC PRG:0CEC AE 0A 03 beq UpdatePalettesZeroY ; CPU:$CCEF PRG:0CEF F0 02 ldy #$41 ; CPU:$CCF1 PRG:0CF1 A0 41 ; ----------------------------------------------------------------------------- ; Routine: UpdatePalettesZeroY ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePalettesZeroY: sty Zp01 ; CPU:$CCF3 PRG:0CF3 84 01 ldx #$01 ; CPU:$CCF5 PRG:0CF5 A2 01 jsr $CCFB ; CPU:$CCF7 PRG:0CF7 20 FB CC rts ; CPU:$CCFA PRG:0CFA 60 ; ----------------------------------------------------------------------------- ; Routine: ProcessControllerInputLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessControllerInputLoop: ldy #$08 ; CPU:$CCFB PRG:0CFB A0 08 ; ----------------------------------------------------------------------------- ; Routine: ProcessControllerInputStore ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessControllerInputStore: pha ; CPU:$CCFD PRG:0CFD 48 lda Zp16,x ; CPU:$CCFE PRG:0CFE B5 16 and Zp01 ; CPU:$CD00 PRG:0D00 25 01 sta Zp02 ; CPU:$CD02 PRG:0D02 85 02 lda $4016,x ; CPU:$CD04 PRG:0D04 BD 16 40 sta Zp00 ; CPU:$CD07 PRG:0D07 85 00 lsr a ; CPU:$CD09 PRG:0D09 4A ora Zp00 ; CPU:$CD0A PRG:0D0A 05 00 lsr a ; CPU:$CD0C PRG:0D0C 4A pla ; CPU:$CD0D PRG:0D0D 68 rol a ; CPU:$CD0E PRG:0D0E 2A dey ; CPU:$CD0F PRG:0D0F 88 bne ProcessControllerInputStore ; CPU:$CD10 PRG:0D10 D0 EB ldy Zp16,x ; CPU:$CD12 PRG:0D12 B4 16 sty Zp00 ; CPU:$CD14 PRG:0D14 84 00 sta Zp16,x ; CPU:$CD16 PRG:0D16 95 16 and #$FF ; CPU:$CD18 PRG:0D18 29 FF bpl RoundLogicCheckZp21 ; CPU:$CD1A PRG:0D1A 10 06 bit Zp00 ; CPU:$CD1C PRG:0D1C 24 00 bpl RoundLogicCheckZp21 ; CPU:$CD1E PRG:0D1E 10 02 and #$7F ; CPU:$CD20 PRG:0D20 29 7F ; ----------------------------------------------------------------------------- ; Routine: RoundLogicCheckZp21 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- RoundLogicCheckZp21: ldy Zp18,x ; CPU:$CD22 PRG:0D22 B4 18 sta Zp18,x ; CPU:$CD24 PRG:0D24 95 18 tya ; CPU:$CD26 PRG:0D26 98 and #$0F ; CPU:$CD27 PRG:0D27 29 0F and Zp18,x ; CPU:$CD29 PRG:0D29 35 18 beq RoundLogicBeqCD84 ; CPU:$CD2B PRG:0D2B F0 06 ora #$F0 ; CPU:$CD2D PRG:0D2D 09 F0 and Zp18,x ; CPU:$CD2F PRG:0D2F 35 18 sta Zp18,x ; CPU:$CD31 PRG:0D31 95 18 ; ----------------------------------------------------------------------------- ; Routine: RoundLogicBeqCD84 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- RoundLogicBeqCD84: lda Zp02 ; CPU:$CD33 PRG:0D33 A5 02 bne RoundLogicSet21 ; CPU:$CD35 PRG:0D35 D0 01 rts ; CPU:$CD37 PRG:0D37 60 ; ----------------------------------------------------------------------------- ; Routine: RoundLogicSet21 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- RoundLogicSet21: lda #$FF ; CPU:$CD38 PRG:0D38 A9 FF eor Zp01 ; CPU:$CD3A PRG:0D3A 45 01 and Zp18,x ; CPU:$CD3C PRG:0D3C 35 18 sta Zp18,x ; CPU:$CD3E PRG:0D3E 95 18 rts ; CPU:$CD40 PRG:0D40 60 ; ----------------------------------------------------------------------------- ; Routine: ProcessControllerInputEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessControllerInputEntry: lda Zp21 ; CPU:$CD41 PRG:0D41 A5 21 beq ProcessControllerInputRead2002Alt ; CPU:$CD43 PRG:0D43 F0 3F lda #$21 ; CPU:$CD45 PRG:0D45 A9 21 sta Zp00 ; CPU:$CD47 PRG:0D47 85 00 lda #$05 ; CPU:$CD49 PRG:0D49 A9 05 sta Zp01 ; CPU:$CD4B PRG:0D4B 85 01 lda Zp08 ; CPU:$CD4D PRG:0D4D A5 08 and #$FB ; CPU:$CD4F PRG:0D4F 29 FB sta $2000 ; CPU:$CD51 PRG:0D51 8D 00 20 sta Zp08 ; CPU:$CD54 PRG:0D54 85 08 ldx $2002 ; CPU:$CD56 PRG:0D56 AE 02 20 ldy #$00 ; CPU:$CD59 PRG:0D59 A0 00 beq ProcessControllerInputStaZp08 ; CPU:$CD5B PRG:0D5B F0 19 ; ----------------------------------------------------------------------------- ; Routine: ProcessControllerInputRead2002 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessControllerInputRead2002: sta $2006 ; CPU:$CD5D PRG:0D5D 8D 06 20 iny ; CPU:$CD60 PRG:0D60 C8 lda (Zp00),y ; CPU:$CD61 PRG:0D61 B1 00 sta $2006 ; CPU:$CD63 PRG:0D63 8D 06 20 iny ; CPU:$CD66 PRG:0D66 C8 lda (Zp00),y ; CPU:$CD67 PRG:0D67 B1 00 and #$3F ; CPU:$CD69 PRG:0D69 29 3F tax ; CPU:$CD6B PRG:0D6B AA ; ----------------------------------------------------------------------------- ; Routine: ProcessControllerInputAndFB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessControllerInputAndFB: iny ; CPU:$CD6C PRG:0D6C C8 lda (Zp00),y ; CPU:$CD6D PRG:0D6D B1 00 sta $2007 ; CPU:$CD6F PRG:0D6F 8D 07 20 dex ; CPU:$CD72 PRG:0D72 CA bne ProcessControllerInputAndFB ; CPU:$CD73 PRG:0D73 D0 F7 iny ; CPU:$CD75 PRG:0D75 C8 ; ----------------------------------------------------------------------------- ; Routine: ProcessControllerInputStaZp08 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessControllerInputStaZp08: lda (Zp00),y ; CPU:$CD76 PRG:0D76 B1 00 bne ProcessControllerInputRead2002 ; CPU:$CD78 PRG:0D78 D0 E3 lda #$00 ; CPU:$CD7A PRG:0D7A A9 00 sta $0520 ; CPU:$CD7C PRG:0D7C 8D 20 05 sta $0521 ; CPU:$CD7F PRG:0D7F 8D 21 05 sta Zp21 ; CPU:$CD82 PRG:0D82 85 21 ; ----------------------------------------------------------------------------- ; Routine: ProcessControllerInputRead2002Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessControllerInputRead2002Alt: rts ; CPU:$CD84 PRG:0D84 60 ; ----------------------------------------------------------------------------- ; Routine: ProcessControllerInputRead2002Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessControllerInputRead2002Alt2: lda $2002 ; CPU:$CD85 PRG:0D85 AD 02 20 lda Zp08 ; CPU:$CD88 PRG:0D88 A5 08 and #$FB ; CPU:$CD8A PRG:0D8A 29 FB sta $2000 ; CPU:$CD8C PRG:0D8C 8D 00 20 sta Zp08 ; CPU:$CD8F PRG:0D8F 85 08 lda #$1C ; CPU:$CD91 PRG:0D91 A9 1C clc ; CPU:$CD93 PRG:0D93 18 ; ----------------------------------------------------------------------------- ; Routine: ProcessControllerInputAnd04 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessControllerInputAnd04: adc #$04 ; CPU:$CD94 PRG:0D94 69 04 dec Zp01 ; CPU:$CD96 PRG:0D96 C6 01 bne ProcessControllerInputAnd04 ; CPU:$CD98 PRG:0D98 D0 FA sta Zp02 ; CPU:$CD9A PRG:0D9A 85 02 sta $2006 ; CPU:$CD9C PRG:0D9C 8D 06 20 lda #$00 ; CPU:$CD9F PRG:0D9F A9 00 sta $2006 ; CPU:$CDA1 PRG:0DA1 8D 06 20 ldx #$04 ; CPU:$CDA4 PRG:0DA4 A2 04 ldy #$00 ; CPU:$CDA6 PRG:0DA6 A0 00 lda Zp00 ; CPU:$CDA8 PRG:0DA8 A5 00 ; ----------------------------------------------------------------------------- ; Routine: ProcessControllerInputOra18 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessControllerInputOra18: sta $2007 ; CPU:$CDAA PRG:0DAA 8D 07 20 dey ; CPU:$CDAD PRG:0DAD 88 bne ProcessControllerInputOra18 ; CPU:$CDAE PRG:0DAE D0 FA dex ; CPU:$CDB0 PRG:0DB0 CA bne ProcessControllerInputOra18 ; CPU:$CDB1 PRG:0DB1 D0 F7 lda Zp02 ; CPU:$CDB3 PRG:0DB3 A5 02 adc #$03 ; CPU:$CDB5 PRG:0DB5 69 03 sta $2006 ; CPU:$CDB7 PRG:0DB7 8D 06 20 lda #$C0 ; CPU:$CDBA PRG:0DBA A9 C0 sta $2006 ; CPU:$CDBC PRG:0DBC 8D 06 20 ldy #$40 ; CPU:$CDBF PRG:0DBF A0 40 lda #$00 ; CPU:$CDC1 PRG:0DC1 A9 00 ; ----------------------------------------------------------------------------- ; Routine: ProcessControllerInputStaZp09 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessControllerInputStaZp09: sta $2007 ; CPU:$CDC3 PRG:0DC3 8D 07 20 dey ; CPU:$CDC6 PRG:0DC6 88 bne ProcessControllerInputStaZp09 ; CPU:$CDC7 PRG:0DC7 D0 FA rts ; CPU:$CDC9 PRG:0DC9 60 ; ----------------------------------------------------------------------------- ; Routine: RoundLogicEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- RoundLogicEntry: ldx #$01 ; CPU:$CDCA PRG:0DCA A2 01 dec Zp2A ; CPU:$CDCC PRG:0DCC C6 2A bpl RoundLogicDecZp2A ; CPU:$CDCE PRG:0DCE 10 06 lda #$0A ; CPU:$CDD0 PRG:0DD0 A9 0A sta Zp2A ; CPU:$CDD2 PRG:0DD2 85 2A ldx #$03 ; CPU:$CDD4 PRG:0DD4 A2 03 ; ----------------------------------------------------------------------------- ; Routine: RoundLogicDecZp2A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- RoundLogicDecZp2A: lda Zp2B,x ; CPU:$CDD6 PRG:0DD6 B5 2B beq RoundLogicBplCDD6 ; CPU:$CDD8 PRG:0DD8 F0 02 dec Zp2B,x ; CPU:$CDDA PRG:0DDA D6 2B ; ----------------------------------------------------------------------------- ; Routine: RoundLogicBplCDD6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- RoundLogicBplCDD6: dex ; CPU:$CDDC PRG:0DDC CA bpl RoundLogicDecZp2A ; CPU:$CDDD PRG:0DDD 10 F7 rts ; CPU:$CDDF PRG:0DDF 60 ; ----------------------------------------------------------------------------- ; Routine: ProcessControllerInput ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessControllerInput: stx Zp28 ; CPU:$CDE0 PRG:0DE0 86 28 sty Zp29 ; CPU:$CDE2 PRG:0DE2 84 29 asl a ; CPU:$CDE4 PRG:0DE4 0A tay ; CPU:$CDE5 PRG:0DE5 A8 iny ; CPU:$CDE6 PRG:0DE6 C8 pla ; CPU:$CDE7 PRG:0DE7 68 sta Zp14 ; CPU:$CDE8 PRG:0DE8 85 14 pla ; CPU:$CDEA PRG:0DEA 68 sta Zp15 ; CPU:$CDEB PRG:0DEB 85 15 lda (Zp14),y ; CPU:$CDED PRG:0DED B1 14 tax ; CPU:$CDEF PRG:0DEF AA iny ; CPU:$CDF0 PRG:0DF0 C8 lda (Zp14),y ; CPU:$CDF1 PRG:0DF1 B1 14 sta Zp15 ; CPU:$CDF3 PRG:0DF3 85 15 stx Zp14 ; CPU:$CDF5 PRG:0DF5 86 14 ldx Zp28 ; CPU:$CDF7 PRG:0DF7 A6 28 ldy Zp29 ; CPU:$CDF9 PRG:0DF9 A4 29 jmp ($0014) ; CPU:$CDFB PRG:0DFB 6C 14 00 ; ----------------------------------------------------------------------------- ; Routine: RoundLogicSaveXY ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- RoundLogicSaveXY: sta $2006 ; CPU:$CDFE PRG:0DFE 8D 06 20 iny ; CPU:$CE01 PRG:0E01 C8 lda (Zp00),y ; CPU:$CE02 PRG:0E02 B1 00 sta $2006 ; CPU:$CE04 PRG:0E04 8D 06 20 iny ; CPU:$CE07 PRG:0E07 C8 lda (Zp00),y ; CPU:$CE08 PRG:0E08 B1 00 asl a ; CPU:$CE0A PRG:0E0A 0A pha ; CPU:$CE0B PRG:0E0B 48 lda Zp08 ; CPU:$CE0C PRG:0E0C A5 08 ora #$04 ; CPU:$CE0E PRG:0E0E 09 04 bcs ScrollBackgroundEntry ; CPU:$CE10 PRG:0E10 B0 02 and #$FB ; CPU:$CE12 PRG:0E12 29 FB ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundEntry: sta $2000 ; CPU:$CE14 PRG:0E14 8D 00 20 sta Zp08 ; CPU:$CE17 PRG:0E17 85 08 pla ; CPU:$CE19 PRG:0E19 68 asl a ; CPU:$CE1A PRG:0E1A 0A bcc ScrollBackgroundIncX ; CPU:$CE1B PRG:0E1B 90 03 ora #$02 ; CPU:$CE1D PRG:0E1D 09 02 iny ; CPU:$CE1F PRG:0E1F C8 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundIncX ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundIncX: lsr a ; CPU:$CE20 PRG:0E20 4A lsr a ; CPU:$CE21 PRG:0E21 4A tax ; CPU:$CE22 PRG:0E22 AA ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundTXA_CE23 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundTXA_CE23: bcs ScrollBackgroundCmp6F_CE26 ; CPU:$CE23 PRG:0E23 B0 01 iny ; CPU:$CE25 PRG:0E25 C8 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundCmp6F_CE26 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundCmp6F_CE26: lda (Zp00),y ; CPU:$CE26 PRG:0E26 B1 00 sta $2007 ; CPU:$CE28 PRG:0E28 8D 07 20 dex ; CPU:$CE2B PRG:0E2B CA bne ScrollBackgroundTXA_CE23 ; CPU:$CE2C PRG:0E2C D0 F5 sec ; CPU:$CE2E PRG:0E2E 38 tya ; CPU:$CE2F PRG:0E2F 98 adc Zp00 ; CPU:$CE30 PRG:0E30 65 00 sta Zp00 ; CPU:$CE32 PRG:0E32 85 00 lda #$00 ; CPU:$CE34 PRG:0E34 A9 00 adc Zp01 ; CPU:$CE36 PRG:0E36 65 01 sta Zp01 ; CPU:$CE38 PRG:0E38 85 01 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundRead2002 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundRead2002: ldx $2002 ; CPU:$CE3A PRG:0E3A AE 02 20 ldy #$00 ; CPU:$CE3D PRG:0E3D A0 00 lda (Zp00),y ; CPU:$CE3F PRG:0E3F B1 00 bne RoundLogicSaveXY ; CPU:$CE41 PRG:0E41 D0 BB ; ----------------------------------------------------------------------------- ; Routine: ScrollBackground ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackground: pha ; CPU:$CE43 PRG:0E43 48 lda Zp0A ; CPU:$CE44 PRG:0E44 A5 0A sta $2005 ; CPU:$CE46 PRG:0E46 8D 05 20 lda Zp0B ; CPU:$CE49 PRG:0E49 A5 0B sta $2005 ; CPU:$CE4B PRG:0E4B 8D 05 20 lda Zp08 ; CPU:$CE4E PRG:0E4E A5 08 sta $2000 ; CPU:$CE50 PRG:0E50 8D 00 20 pla ; CPU:$CE53 PRG:0E53 68 rts ; CPU:$CE54 PRG:0E54 60 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundSetZp21 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundSetZp21: lda #$01 ; CPU:$CE55 PRG:0E55 A9 01 sta Zp21 ; CPU:$CE57 PRG:0E57 85 21 ldy #$00 ; CPU:$CE59 PRG:0E59 A0 00 lda (Zp02),y ; CPU:$CE5B PRG:0E5B B1 02 and #$0F ; CPU:$CE5D PRG:0E5D 29 0F sta Zp05 ; CPU:$CE5F PRG:0E5F 85 05 lda (Zp02),y ; CPU:$CE61 PRG:0E61 B1 02 lsr a ; CPU:$CE63 PRG:0E63 4A lsr a ; CPU:$CE64 PRG:0E64 4A lsr a ; CPU:$CE65 PRG:0E65 4A lsr a ; CPU:$CE66 PRG:0E66 4A sta Zp04 ; CPU:$CE67 PRG:0E67 85 04 ldx $0520 ; CPU:$CE69 PRG:0E69 AE 20 05 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundLoop: lda Zp01 ; CPU:$CE6C PRG:0E6C A5 01 sta $0521,x ; CPU:$CE6E PRG:0E6E 9D 21 05 jsr $CEAD ; CPU:$CE71 PRG:0E71 20 AD CE lda Zp00 ; CPU:$CE74 PRG:0E74 A5 00 sta $0521,x ; CPU:$CE76 PRG:0E76 9D 21 05 jsr $CEAD ; CPU:$CE79 PRG:0E79 20 AD CE lda Zp05 ; CPU:$CE7C PRG:0E7C A5 05 sta Zp06 ; CPU:$CE7E PRG:0E7E 85 06 sta $0521,x ; CPU:$CE80 PRG:0E80 9D 21 05 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundInx ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundInx: jsr $CEAD ; CPU:$CE83 PRG:0E83 20 AD CE iny ; CPU:$CE86 PRG:0E86 C8 lda (Zp02),y ; CPU:$CE87 PRG:0E87 B1 02 sta $0521,x ; CPU:$CE89 PRG:0E89 9D 21 05 dec Zp06 ; CPU:$CE8C PRG:0E8C C6 06 bne ScrollBackgroundInx ; CPU:$CE8E PRG:0E8E D0 F3 jsr $CEAD ; CPU:$CE90 PRG:0E90 20 AD CE stx $0520 ; CPU:$CE93 PRG:0E93 8E 20 05 clc ; CPU:$CE96 PRG:0E96 18 lda #$20 ; CPU:$CE97 PRG:0E97 A9 20 adc Zp00 ; CPU:$CE99 PRG:0E99 65 00 sta Zp00 ; CPU:$CE9B PRG:0E9B 85 00 lda #$00 ; CPU:$CE9D PRG:0E9D A9 00 adc Zp01 ; CPU:$CE9F PRG:0E9F 65 01 sta Zp01 ; CPU:$CEA1 PRG:0EA1 85 01 dec Zp04 ; CPU:$CEA3 PRG:0EA3 C6 04 bne ScrollBackgroundLoop ; CPU:$CEA5 PRG:0EA5 D0 C5 lda #$00 ; CPU:$CEA7 PRG:0EA7 A9 00 sta $0521,x ; CPU:$CEA9 PRG:0EA9 9D 21 05 rts ; CPU:$CEAC PRG:0EAC 60 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundTXA_CEAD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundTXA_CEAD: inx ; CPU:$CEAD PRG:0EAD E8 txa ; CPU:$CEAE PRG:0EAE 8A cmp #$6F ; CPU:$CEAF PRG:0EAF C9 6F bcc ScrollBackgroundCmp6F_CEBD ; CPU:$CEB1 PRG:0EB1 90 0A ldx $0520 ; CPU:$CEB3 PRG:0EB3 AE 20 05 lda #$00 ; CPU:$CEB6 PRG:0EB6 A9 00 sta $0521,x ; CPU:$CEB8 PRG:0EB8 9D 21 05 pla ; CPU:$CEBB PRG:0EBB 68 pla ; CPU:$CEBC PRG:0EBC 68 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundCmp6F_CEBD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundCmp6F_CEBD: rts ; CPU:$CEBD PRG:0EBD 60 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundAdc01 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundAdc01: clc ; CPU:$CEBE PRG:0EBE 18 adc #$01 ; CPU:$CEBF PRG:0EBF 69 01 and #$0F ; CPU:$CEC1 PRG:0EC1 29 0F asl a ; CPU:$CEC3 PRG:0EC3 0A asl a ; CPU:$CEC4 PRG:0EC4 0A ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundAnd0F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundAnd0F: tax ; CPU:$CEC5 PRG:0EC5 AA lda Zp04 ; CPU:$CEC6 PRG:0EC6 A5 04 beq ScrollBackgroundAdcZp01_CEF1 ; CPU:$CEC8 PRG:0EC8 F0 27 lda ZpC3,x ; CPU:$CECA PRG:0ECA B5 C3 beq ScrollBackgroundCmp0A_CEF5 ; CPU:$CECC PRG:0ECC F0 27 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundStaZp01 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundStaZp01: clc ; CPU:$CECE PRG:0ECE 18 lda ZpC6,x ; CPU:$CECF PRG:0ECF B5 C6 sta Zp03 ; CPU:$CED1 PRG:0ED1 85 03 lda Zp07 ; CPU:$CED3 PRG:0ED3 A5 07 jsr $CF4F ; CPU:$CED5 PRG:0ED5 20 4F CF sta ZpC6,x ; CPU:$CED8 PRG:0ED8 95 C6 lda ZpC5,x ; CPU:$CEDA PRG:0EDA B5 C5 sta Zp03 ; CPU:$CEDC PRG:0EDC 85 03 lda Zp06 ; CPU:$CEDE PRG:0EDE A5 06 jsr $CF4F ; CPU:$CEE0 PRG:0EE0 20 4F CF sta ZpC5,x ; CPU:$CEE3 PRG:0EE3 95 C5 lda ZpC4,x ; CPU:$CEE5 PRG:0EE5 B5 C4 sta Zp03 ; CPU:$CEE7 PRG:0EE7 85 03 lda Zp05 ; CPU:$CEE9 PRG:0EE9 A5 05 jsr $CF4F ; CPU:$CEEB PRG:0EEB 20 4F CF sta ZpC4,x ; CPU:$CEEE PRG:0EEE 95 C4 rts ; CPU:$CEF0 PRG:0EF0 60 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundAdcZp01_CEF1 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundAdcZp01_CEF1: lda ZpC3,x ; CPU:$CEF1 PRG:0EF1 B5 C3 beq ScrollBackgroundStaZp01 ; CPU:$CEF3 PRG:0EF3 F0 D9 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundCmp0A_CEF5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundCmp0A_CEF5: sec ; CPU:$CEF5 PRG:0EF5 38 lda ZpC6,x ; CPU:$CEF6 PRG:0EF6 B5 C6 sta Zp03 ; CPU:$CEF8 PRG:0EF8 85 03 lda Zp07 ; CPU:$CEFA PRG:0EFA A5 07 jsr $CF70 ; CPU:$CEFC PRG:0EFC 20 70 CF sta ZpC6,x ; CPU:$CEFF PRG:0EFF 95 C6 lda ZpC5,x ; CPU:$CF01 PRG:0F01 B5 C5 sta Zp03 ; CPU:$CF03 PRG:0F03 85 03 lda Zp06 ; CPU:$CF05 PRG:0F05 A5 06 jsr $CF70 ; CPU:$CF07 PRG:0F07 20 70 CF sta ZpC5,x ; CPU:$CF0A PRG:0F0A 95 C5 lda ZpC4,x ; CPU:$CF0C PRG:0F0C B5 C4 sta Zp03 ; CPU:$CF0E PRG:0F0E 85 03 lda Zp05 ; CPU:$CF10 PRG:0F10 A5 05 jsr $CF70 ; CPU:$CF12 PRG:0F12 20 70 CF sta ZpC4,x ; CPU:$CF15 PRG:0F15 95 C4 lda ZpC4,x ; CPU:$CF17 PRG:0F17 B5 C4 bne ScrollBackgroundSbcZp01_CF23 ; CPU:$CF19 PRG:0F19 D0 08 lda ZpC5,x ; CPU:$CF1B PRG:0F1B B5 C5 bne ScrollBackgroundSbcZp01_CF23 ; CPU:$CF1D PRG:0F1D D0 04 lda ZpC6,x ; CPU:$CF1F PRG:0F1F B5 C6 beq ScrollBackgroundStaZp01Alt ; CPU:$CF21 PRG:0F21 F0 02 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundSbcZp01_CF23 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundSbcZp01_CF23: bcs ScrollBackgroundCallCF92 ; CPU:$CF23 PRG:0F23 B0 29 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundStaZp01Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundStaZp01Alt: lda #$00 ; CPU:$CF25 PRG:0F25 A9 00 sta ZpC3,x ; CPU:$CF27 PRG:0F27 95 C3 sta ZpC4,x ; CPU:$CF29 PRG:0F29 95 C4 sta ZpC5,x ; CPU:$CF2B PRG:0F2B 95 C5 sta ZpC6,x ; CPU:$CF2D PRG:0F2D 95 C6 inc Zp3D ; CPU:$CF2F PRG:0F2F E6 3D rts ; CPU:$CF31 PRG:0F31 60 ; ---- data $CF32-$CF4D (28 bytes) ---- .byte $95, $C3, $38, $A9, $00, $85, $03, $B5, $C6, $20, $70, $CF, $95, $C6, $B5, $C5 ; CPU:$CF32 PRG:0F32 95 C3 38 A9 00 85 03 B5 C6 20 70 CF 95 C6 B5 C5 .byte $20, $70, $CF, $95, $C5, $B5, $C4, $20, $70, $CF, $95, $C4 ; CPU:$CF42 PRG:0F42 20 70 CF 95 C5 B5 C4 20 70 CF 95 C4 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundCallCF92 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundCallCF92: rts ; CPU:$CF4E PRG:0F4E 60 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundCallCF92Entry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundCallCF92Entry: jsr $CF92 ; CPU:$CF4F PRG:0F4F 20 92 CF adc Zp01 ; CPU:$CF52 PRG:0F52 65 01 cmp #$0A ; CPU:$CF54 PRG:0F54 C9 0A bcc ScrollBackgroundAdcZp01_CF5A ; CPU:$CF56 PRG:0F56 90 02 adc #$05 ; CPU:$CF58 PRG:0F58 69 05 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundAdcZp01_CF5A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundAdcZp01_CF5A: clc ; CPU:$CF5A PRG:0F5A 18 adc Zp02 ; CPU:$CF5B PRG:0F5B 65 02 sta Zp02 ; CPU:$CF5D PRG:0F5D 85 02 lda Zp03 ; CPU:$CF5F PRG:0F5F A5 03 and #$F0 ; CPU:$CF61 PRG:0F61 29 F0 adc Zp02 ; CPU:$CF63 PRG:0F63 65 02 bcc ScrollBackgroundSbcZp01_CF6B ; CPU:$CF65 PRG:0F65 90 04 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundCmp0A_CF67 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundCmp0A_CF67: adc #$5F ; CPU:$CF67 PRG:0F67 69 5F sec ; CPU:$CF69 PRG:0F69 38 rts ; CPU:$CF6A PRG:0F6A 60 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundSbcZp01_CF6B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundSbcZp01_CF6B: cmp #$A0 ; CPU:$CF6B PRG:0F6B C9 A0 bcs ScrollBackgroundCmp0A_CF67 ; CPU:$CF6D PRG:0F6D B0 F8 rts ; CPU:$CF6F PRG:0F6F 60 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundCallCF92Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundCallCF92Alt: jsr $CF92 ; CPU:$CF70 PRG:0F70 20 92 CF sbc Zp01 ; CPU:$CF73 PRG:0F73 E5 01 sta Zp01 ; CPU:$CF75 PRG:0F75 85 01 bcs ScrollBackgroundCallCF92Alt2 ; CPU:$CF77 PRG:0F77 B0 0A adc #$0A ; CPU:$CF79 PRG:0F79 69 0A sta Zp01 ; CPU:$CF7B PRG:0F7B 85 01 lda Zp02 ; CPU:$CF7D PRG:0F7D A5 02 adc #$0F ; CPU:$CF7F PRG:0F7F 69 0F sta Zp02 ; CPU:$CF81 PRG:0F81 85 02 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundCallCF92Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundCallCF92Alt2: lda Zp03 ; CPU:$CF83 PRG:0F83 A5 03 and #$F0 ; CPU:$CF85 PRG:0F85 29 F0 sec ; CPU:$CF87 PRG:0F87 38 sbc Zp02 ; CPU:$CF88 PRG:0F88 E5 02 bcs ScrollBackgroundStaZp01Alt2 ; CPU:$CF8A PRG:0F8A B0 03 adc #$A0 ; CPU:$CF8C PRG:0F8C 69 A0 clc ; CPU:$CF8E PRG:0F8E 18 ; ----------------------------------------------------------------------------- ; Routine: ScrollBackgroundStaZp01Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ScrollBackgroundStaZp01Alt2: ora Zp01 ; CPU:$CF8F PRG:0F8F 05 01 rts ; CPU:$CF91 PRG:0F91 60 ; ----------------------------------------------------------------------------- ; 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: pha ; CPU:$CF92 PRG:0F92 48 and #$0F ; CPU:$CF93 PRG:0F93 29 0F sta Zp01 ; CPU:$CF95 PRG:0F95 85 01 pla ; CPU:$CF97 PRG:0F97 68 and #$F0 ; CPU:$CF98 PRG:0F98 29 F0 sta Zp02 ; CPU:$CF9A PRG:0F9A 85 02 lda Zp03 ; CPU:$CF9C PRG:0F9C A5 03 and #$0F ; CPU:$CF9E PRG:0F9E 29 0F rts ; CPU:$CFA0 PRG:0FA0 60 ; ----------------------------------------------------------------------------- ; Routine: CheckRoundEnd ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckRoundEnd: lda $05EC ; CPU:$CFA1 PRG:0FA1 AD EC 05 and #$02 ; CPU:$CFA4 PRG:0FA4 29 02 sta Zp07 ; CPU:$CFA6 PRG:0FA6 85 07 lda $05ED ; CPU:$CFA8 PRG:0FA8 AD ED 05 and #$02 ; CPU:$CFAB PRG:0FAB 29 02 eor Zp07 ; CPU:$CFAD PRG:0FAD 45 07 clc ; CPU:$CFAF PRG:0FAF 18 beq CheckRoundEndEntry ; CPU:$CFB0 PRG:0FB0 F0 01 sec ; CPU:$CFB2 PRG:0FB2 38 ; ----------------------------------------------------------------------------- ; Routine: CheckRoundEndEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckRoundEndEntry: ror $05EC ; CPU:$CFB3 PRG:0FB3 6E EC 05 ror $05ED ; CPU:$CFB6 PRG:0FB6 6E ED 05 ror $05EE ; CPU:$CFB9 PRG:0FB9 6E EE 05 ror $05EF ; CPU:$CFBC PRG:0FBC 6E EF 05 lda $05EC ; CPU:$CFBF PRG:0FBF AD EC 05 rts ; CPU:$CFC2 PRG:0FC2 60 ; ---- data $CFC3-$D011 (79 bytes) ---- .byte $20, $1A, $D0, $20, $6C, $CC, $20, $12, $D0, $A9, $02, $85, $01, $A9, $50, $85 ; CPU:$CFC3 PRG:0FC3 20 1A D0 20 6C CC 20 12 D0 A9 02 85 01 A9 50 85 .byte $00, $20, $85, $CD, $20, $77, $CC, $20, $12, $D0, $A2, $AF, $A0, $F3, $20, $50 ; CPU:$CFD3 PRG:0FD3 00 20 85 CD 20 77 CC 20 12 D0 A2 AF A0 F3 20 50 .byte $D0, $A9, $01, $85, $23, $A9, $01, $8D, $FD, $05, $E6, $26, $4C, $27, $D0, $A5 ; CPU:$CFE3 PRG:0FE3 D0 A9 01 85 23 A9 01 8D FD 05 E6 26 4C 27 D0 A5 .byte $2D, $D0, $18, $A9, $01, $85, $C0, $A9, $00, $85, $1F, $85, $25, $20, $93, $E7 ; CPU:$CFF3 PRG:0FF3 2D D0 18 A9 01 85 C0 A9 00 85 1F 85 25 20 93 E7 .byte $20, $1A, $D0, $A9, $02, $85, $2A, $85, $2D, $E6, $26, $60, $4C, $66, $CB ; CPU:$D003 PRG:1003 20 1A D0 A9 02 85 2A 85 2D E6 26 60 4C 66 CB ; ----------------------------------------------------------------------------- ; Routine: UpdateRoundTimerCallD057 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateRoundTimerCallD057: jsr $D057 ; CPU:$D012 PRG:1012 20 57 D0 ; ----------------------------------------------------------------------------- ; Routine: UpdateRoundTimerBeq ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateRoundTimerBeq: lda Zp20 ; CPU:$D015 PRG:1015 A5 20 beq UpdateRoundTimerBeq ; CPU:$D017 PRG:1017 F0 FC rts ; CPU:$D019 PRG:1019 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateRoundTimerInit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateRoundTimerInit: jsr $D012 ; CPU:$D01A PRG:101A 20 12 D0 lda Zp09 ; CPU:$D01D PRG:101D A5 09 and #$E7 ; CPU:$D01F PRG:101F 29 E7 sta Zp09 ; CPU:$D021 PRG:1021 85 09 sta $2001 ; CPU:$D023 PRG:1023 8D 01 20 rts ; CPU:$D026 PRG:1026 60 ; ---- data $D027-$D02F (9 bytes) ---- .byte $20, $12, $D0, $A5, $09, $09, $18, $D0, $F1 ; CPU:$D027 PRG:1027 20 12 D0 A5 09 09 18 D0 F1 ; ----------------------------------------------------------------------------- ; Routine: DrawBackgroundEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawBackgroundEntry: sty ZpA2 ; CPU:$D030 PRG:1030 84 A2 ldx #$00 ; CPU:$D032 PRG:1032 A2 00 ; ----------------------------------------------------------------------------- ; Routine: DrawBackgroundSetZpA2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawBackgroundSetZpA2: lda $0300,y ; CPU:$D034 PRG:1034 B9 00 03 sta Zp30,x ; CPU:$D037 PRG:1037 95 30 iny ; CPU:$D039 PRG:1039 C8 inx ; CPU:$D03A PRG:103A E8 cpx #$20 ; CPU:$D03B PRG:103B E0 20 bne DrawBackgroundSetZpA2 ; CPU:$D03D PRG:103D D0 F5 rts ; CPU:$D03F PRG:103F 60 ; ----------------------------------------------------------------------------- ; Routine: DrawBackgroundSetZpA2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawBackgroundSetZpA2Alt: ldy ZpA2 ; CPU:$D040 PRG:1040 A4 A2 ldx #$00 ; CPU:$D042 PRG:1042 A2 00 ; ----------------------------------------------------------------------------- ; Routine: DrawBackgroundLdx0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawBackgroundLdx0: lda Zp30,x ; CPU:$D044 PRG:1044 B5 30 sta $0300,y ; CPU:$D046 PRG:1046 99 00 03 iny ; CPU:$D049 PRG:1049 C8 inx ; CPU:$D04A PRG:104A E8 cpx #$20 ; CPU:$D04B PRG:104B E0 20 bne DrawBackgroundLdx0 ; CPU:$D04D PRG:104D D0 F5 rts ; CPU:$D04F PRG:104F 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateRoundTimerInitSetPtr ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateRoundTimerInitSetPtr: stx Zp00 ; CPU:$D050 PRG:1050 86 00 sty Zp01 ; CPU:$D052 PRG:1052 84 01 jmp $CE3A ; CPU:$D054 PRG:1054 4C 3A CE ; ----------------------------------------------------------------------------- ; Routine: UpdateRoundTimer ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateRoundTimer: lda #$00 ; CPU:$D057 PRG:1057 A9 00 sta Zp20 ; CPU:$D059 PRG:1059 85 20 sta Zp22 ; CPU:$D05B PRG:105B 85 22 rts ; CPU:$D05D PRG:105D 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateRoundTimerInitSetZp09 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateRoundTimerInitSetZp09: lda Zp2D ; CPU:$D05E PRG:105E A5 2D bne UpdateRoundTimerInitCallCE3A ; CPU:$D060 PRG:1060 D0 04 lda Zp1E ; CPU:$D062 PRG:1062 A5 1E sta Zp25 ; CPU:$D064 PRG:1064 85 25 ; ----------------------------------------------------------------------------- ; Routine: UpdateRoundTimerInitCallCE3A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateRoundTimerInitCallCE3A: rts ; CPU:$D066 PRG:1066 60 ; ---- data $D067-$D079 (19 bytes) ---- .byte $86, $1E, $85, $2D, $A9, $12, $85, $25, $60, $A0, $00, $98, $99, $00, $03, $C8 ; CPU:$D067 PRG:1067 86 1E 85 2D A9 12 85 25 60 A0 00 98 99 00 03 C8 .byte $D0, $FA, $60 ; CPU:$D077 PRG:1077 D0 FA 60 ; ----------------------------------------------------------------------------- ; Routine: SetupInitialStateEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetupInitialStateEntry: lda #$00 ; CPU:$D07A PRG:107A A9 00 ldx #$30 ; CPU:$D07C PRG:107C A2 30 ; ----------------------------------------------------------------------------- ; Routine: SetupInitialStateLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SetupInitialStateLoop: sta Zp00,x ; CPU:$D07E PRG:107E 95 00 inx ; CPU:$D080 PRG:1080 E8 bne SetupInitialStateLoop ; CPU:$D081 PRG:1081 D0 FB rts ; CPU:$D083 PRG:1083 60 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMAEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMAEntry: lda #$00 ; CPU:$D084 PRG:1084 A9 00 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMALoop_D086 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMALoop_D086: ldx #$8F ; CPU:$D086 PRG:1086 A2 8F ; ----------------------------------------------------------------------------- ; Routine: SpriteDMASetZp00 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMASetZp00: sta Zp30,x ; CPU:$D088 PRG:1088 95 30 dex ; CPU:$D08A PRG:108A CA bpl SpriteDMASetZp00 ; CPU:$D08B PRG:108B 10 FB rts ; CPU:$D08D PRG:108D 60 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMA ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMA: stx Zp00 ; CPU:$D08E PRG:108E 86 00 sty Zp01 ; CPU:$D090 PRG:1090 84 01 ldx #$00 ; CPU:$D092 PRG:1092 A2 00 ldy #$05 ; CPU:$D094 PRG:1094 A0 05 stx Zp02 ; CPU:$D096 PRG:1096 86 02 sty Zp03 ; CPU:$D098 PRG:1098 84 03 jmp $CE55 ; CPU:$D09A PRG:109A 4C 55 CE ; ---- data $D09D-$D173 (215 bytes) ---- .byte $20, $84, $D0, $20, $12, $D0, $20, $67, $CC, $20, $8A, $E7, $A2, $01, $A5, $C0 ; CPU:$D09D PRG:109D 20 84 D0 20 12 D0 20 67 CC 20 8A E7 A2 01 A5 C0 .byte $D0, $05, $AD, $FE, $05, $85, $1F, $86, $25, $60, $20, $12, $D0, $A2, $C4, $A0 ; CPU:$D0AD PRG:10AD D0 05 AD FE 05 85 1F 86 25 60 20 12 D0 A2 C4 A0 .byte $EB, $20, $50, $D0, $A2, $5C, $A0, $F1, $A5, $1F, $F0, $04, $A2, $5D, $A0, $F0 ; CPU:$D0BD PRG:10BD EB 20 50 D0 A2 5C A0 F1 A5 1F F0 04 A2 5D A0 F0 .byte $20, $50, $D0, $A9, $02, $85, $23, $A9, $02, $85, $25, $20, $43, $CE, $20, $27 ; CPU:$D0CD PRG:10CD 20 50 D0 A9 02 85 23 A9 02 85 25 20 43 CE 20 27 .byte $D0, $20, $8A, $E7, $20, $C0, $E4, $A0, $00, $84, $A1, $20, $30, $D0, $20, $AC ; CPU:$D0DD PRG:10DD D0 20 8A E7 20 C0 E4 A0 00 84 A1 20 30 D0 20 AC .byte $E5, $A0, $20, $20, $30, $D0, $20, $AC, $E5, $A0, $40, $20, $30, $D0, $20, $AC ; CPU:$D0ED PRG:10ED E5 A0 20 20 30 D0 20 AC E5 A0 40 20 30 D0 20 AC .byte $E5, $A9, $90, $8D, $00, $20, $85, $08, $20, $E3, $E7, $20, $E0, $E3, $20, $E3 ; CPU:$D0FD PRG:10FD E5 A9 90 8D 00 20 85 08 20 E3 E7 20 E0 E3 20 E3 .byte $DC, $A9, $00, $85, $9D, $85, $94, $85, $0A, $85, $8F, $85, $71, $85, $72, $85 ; CPU:$D10D PRG:110D DC A9 00 85 9D 85 94 85 0A 85 8F 85 71 85 72 85 .byte $74, $A9, $F4, $8D, $58, $02, $A5, $08, $29, $FE, $85, $08, $A9, $55, $85, $73 ; CPU:$D11D PRG:111D 74 A9 F4 8D 58 02 A5 08 29 FE 85 08 A9 55 85 73 .byte $A9, $01, $85, $95, $A5, $1F, $D0, $08, $A9, $02, $85, $96, $A5, $C0, $F0, $00 ; CPU:$D12D PRG:112D A9 01 85 95 A5 1F D0 08 A9 02 85 96 A5 C0 F0 00 .byte $A9, $03, $85, $85, $A6, $1F, $D0, $0A, $A6, $C0, $D0, $06, $A9, $40, $85, $2B ; CPU:$D13D PRG:113D A9 03 85 85 A6 1F D0 0A A6 C0 D0 06 A9 40 85 2B .byte $A9, $0E, $85, $25, $60, $A5, $2B, $D0, $10, $A9, $01, $8D, $01, $03, $8D, $21 ; CPU:$D14D PRG:114D A9 0E 85 25 60 A5 2B D0 10 A9 01 8D 01 03 8D 21 .byte $03, $8D, $41, $03, $A9, $03, $85, $25, $60, $A9, $00, $8D, $01, $03, $8D, $21 ; CPU:$D15D PRG:115D 03 8D 41 03 A9 03 85 25 60 A9 00 8D 01 03 8D 21 .byte $03, $8D, $41, $03, $4C, $A4, $D1 ; CPU:$D16D PRG:116D 03 8D 41 03 4C A4 D1 ; ----------------------------------------------------------------------------- ; Routine: UpdatePPUMask ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePPUMask: lda Zp85 ; CPU:$D174 PRG:1174 A5 85 asl a ; CPU:$D176 PRG:1176 0A tax ; CPU:$D177 PRG:1177 AA lda $F771,x ; CPU:$D178 PRG:1178 BD 71 F7 ldy $F772,x ; CPU:$D17B PRG:117B BC 72 F7 tax ; CPU:$D17E PRG:117E AA jsr $D050 ; CPU:$D17F PRG:117F 20 50 D0 lda #$00 ; CPU:$D182 PRG:1182 A9 00 sta Zp86 ; CPU:$D184 PRG:1184 85 86 rts ; CPU:$D186 PRG:1186 60 ; ----------------------------------------------------------------------------- ; Routine: UpdatePPUMaskExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePPUMaskExit: lda ZpC0 ; CPU:$D187 PRG:1187 A5 C0 beq UpdatePPUMaskCheckZp85 ; CPU:$D189 PRG:1189 F0 19 lda Zp80 ; CPU:$D18B PRG:118B A5 80 cmp #$08 ; CPU:$D18D PRG:118D C9 08 bne UpdatePPUMaskCheckZp85 ; CPU:$D18F PRG:118F D0 13 lda Zp81 ; CPU:$D191 PRG:1191 A5 81 cmp #$05 ; CPU:$D193 PRG:1193 C9 05 bne UpdatePPUMaskCheckZp85 ; CPU:$D195 PRG:1195 D0 0D lda #$00 ; CPU:$D197 PRG:1197 A9 00 sta ZpC0 ; CPU:$D199 PRG:1199 85 C0 sta ZpF0 ; CPU:$D19B PRG:119B 85 F0 sta ZpF1 ; CPU:$D19D PRG:119D 85 F1 sta ZpF2 ; CPU:$D19F PRG:119F 85 F2 jmp $DA25 ; CPU:$D1A1 PRG:11A1 4C 25 DA ; ----------------------------------------------------------------------------- ; Routine: UpdatePPUMaskCheckZp85 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePPUMaskCheckZp85: ldx #$00 ; CPU:$D1A4 PRG:11A4 A2 00 lda Zp2A ; CPU:$D1A6 PRG:11A6 A5 2A and #$01 ; CPU:$D1A8 PRG:11A8 29 01 beq UpdatePPUMaskASL ; CPU:$D1AA PRG:11AA F0 02 ldx #$04 ; CPU:$D1AC PRG:11AC A2 04 ; ----------------------------------------------------------------------------- ; Routine: UpdatePPUMaskASL ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePPUMaskASL: jsr $E26C ; CPU:$D1AE PRG:11AE 20 6C E2 jsr $E2D8 ; CPU:$D1B1 PRG:11B1 20 D8 E2 lda Zp87 ; CPU:$D1B4 PRG:11B4 A5 87 beq UpdatePPUMaskEntry ; CPU:$D1B6 PRG:11B6 F0 0C dec Zp87 ; CPU:$D1B8 PRG:11B8 C6 87 bne UpdatePPUMaskEntry ; CPU:$D1BA PRG:11BA D0 08 lda #$F4 ; CPU:$D1BC PRG:11BC A9 F4 sta $0258 ; CPU:$D1BE PRG:11BE 8D 58 02 sta $025C ; CPU:$D1C1 PRG:11C1 8D 5C 02 ; ----------------------------------------------------------------------------- ; Routine: UpdatePPUMaskEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePPUMaskEntry: ldy #$01 ; CPU:$D1C4 PRG:11C4 A0 01 sty Zp89 ; CPU:$D1C6 PRG:11C6 84 89 ldy #$20 ; CPU:$D1C8 PRG:11C8 A0 20 ; ----------------------------------------------------------------------------- ; Routine: UpdatePPUMaskCheckZp8B ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePPUMaskCheckZp8B: lda Zp8B ; CPU:$D1CA PRG:11CA A5 8B beq UpdatePPUMaskSetZp88 ; CPU:$D1CC PRG:11CC F0 2B lda $0303 ; CPU:$D1CE PRG:11CE AD 03 03 sec ; CPU:$D1D1 PRG:11D1 38 sbc $0323 ; CPU:$D1D2 PRG:11D2 ED 23 03 ldx $0305 ; CPU:$D1D5 PRG:11D5 AE 05 03 cpx #$11 ; CPU:$D1D8 PRG:11D8 E0 11 beq UpdatePPUMaskBCS ; CPU:$D1DA PRG:11DA F0 0C ldx $0325 ; CPU:$D1DC PRG:11DC AE 25 03 cpx #$11 ; CPU:$D1DF PRG:11DF E0 11 beq UpdatePPUMaskBCS ; CPU:$D1E1 PRG:11E1 F0 05 cmp #$19 ; CPU:$D1E3 PRG:11E3 C9 19 jmp $D1EA ; CPU:$D1E5 PRG:11E5 4C EA D1 ; ----------------------------------------------------------------------------- ; Routine: UpdatePPUMaskBCS ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePPUMaskBCS: cmp #$09 ; CPU:$D1E8 PRG:11E8 C9 09 ; ----------------------------------------------------------------------------- ; Routine: UpdatePPUMaskLdx01 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePPUMaskLdx01: bcs UpdatePPUMaskSetZp88 ; CPU:$D1EA PRG:11EA B0 0D ldx #$01 ; CPU:$D1EC PRG:11EC A2 01 stx Zp88 ; CPU:$D1EE PRG:11EE 86 88 dex ; CPU:$D1F0 PRG:11F0 CA stx Zp8B ; CPU:$D1F1 PRG:11F1 86 8B stx $031F ; CPU:$D1F3 PRG:11F3 8E 1F 03 stx $033F ; CPU:$D1F6 PRG:11F6 8E 3F 03 ; ----------------------------------------------------------------------------- ; Routine: UpdatePPUMaskSetZp88 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePPUMaskSetZp88: jsr $D030 ; CPU:$D1F9 PRG:11F9 20 30 D0 jsr $DE03 ; CPU:$D1FC PRG:11FC 20 03 DE jsr $E040 ; CPU:$D1FF PRG:11FF 20 40 E0 ldy Zp46 ; CPU:$D202 PRG:1202 A4 46 beq UpdatePlayersCheckZp00 ; CPU:$D204 PRG:1204 F0 0D lda Zp45 ; CPU:$D206 PRG:1206 A5 45 beq UpdatePlayersBitZp00 ; CPU:$D208 PRG:1208 F0 39 dec Zp45 ; CPU:$D20A PRG:120A C6 45 cmp #$07 ; CPU:$D20C PRG:120C C9 07 bcs UpdatePlayersCheckZp00 ; CPU:$D20E PRG:120E B0 03 jmp $D2B2 ; CPU:$D210 PRG:1210 4C B2 D2 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersCheckZp00 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersCheckZp00: jsr $E7FE ; CPU:$D213 PRG:1213 20 FE E7 lda Zp31 ; CPU:$D216 PRG:1216 A5 31 jsr $CDE0 ; CPU:$D218 PRG:1218 20 E0 CD ; ---- data $D21B-$D242 (40 bytes) ---- .byte $B2, $D2, $6E, $D2, $61, $D3, $FA, $D3, $98, $D3, $6C, $D4, $C4, $D4, $A2, $D5 ; CPU:$D21B PRG:121B B2 D2 6E D2 61 D3 FA D3 98 D3 6C D4 C4 D4 A2 D5 .byte $C4, $D5, $56, $D6, $01, $D5, $AB, $D6, $61, $D2, $0C, $D8, $34, $D8, $75, $D8 ; CPU:$D22B PRG:122B C4 D5 56 D6 01 D5 AB D6 61 D2 0C D8 34 D8 75 D8 .byte $B4, $D8, $EA, $D8, $16, $D9, $7D, $D9 ; CPU:$D23B PRG:123B B4 D8 EA D8 16 D9 7D D9 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersBitZp00 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersBitZp00: sty Zp43 ; CPU:$D243 PRG:1243 84 43 jsr $E459 ; CPU:$D245 PRG:1245 20 59 E4 lda Zp31 ; CPU:$D248 PRG:1248 A5 31 cmp #$0D ; CPU:$D24A PRG:124A C9 0D bne UpdatePlayersCpyZp43 ; CPU:$D24C PRG:124C D0 06 sta $031C,x ; CPU:$D24E PRG:124E 9D 1C 03 jsr $E21E ; CPU:$D251 PRG:1251 20 1E E2 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersCpyZp43 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersCpyZp43: lda #$05 ; CPU:$D254 PRG:1254 A9 05 sta Zp31 ; CPU:$D256 PRG:1256 85 31 lda #$00 ; CPU:$D258 PRG:1258 A9 00 sta Zp3E ; CPU:$D25A PRG:125A 85 3E sta $0315,x ; CPU:$D25C PRG:125C 9D 15 03 beq UpdatePlayersCheckZp00 ; CPU:$D25F PRG:125F F0 B2 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersStxZp31 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersStxZp31: lda Zp88 ; CPU:$D261 PRG:1261 A5 88 bne UpdatePlayersStyZp43 ; CPU:$D263 PRG:1263 D0 39 ldy #$0B ; CPU:$D265 PRG:1265 A0 0B sty Zp4F ; CPU:$D267 PRG:1267 84 4F bne UpdatePlayersStyZp43Alt ; CPU:$D269 PRG:1269 D0 3E jmp $D304 ; CPU:$D26B PRG:126B 4C 04 D3 ; ---- data $D26E-$D27A (13 bytes) ---- .byte $20, $6E, $E4, $A2, $04, $A0, $0D, $A9, $01, $24, $00, $D0, $F0 ; CPU:$D26E PRG:126E 20 6E E4 A2 04 A0 0D A9 01 24 00 D0 F0 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersEntry: ldy #$01 ; CPU:$D27B PRG:127B A0 01 lda #$40 ; CPU:$D27D PRG:127D A9 40 bit Zp00 ; CPU:$D27F PRG:127F 24 00 bne UpdatePlayersCpyZp43Alt ; CPU:$D281 PRG:1281 D0 06 iny ; CPU:$D283 PRG:1283 C8 iny ; CPU:$D284 PRG:1284 C8 lda #$80 ; CPU:$D285 PRG:1285 A9 80 bit Zp00 ; CPU:$D287 PRG:1287 24 00 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersCpyZp43Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersCpyZp43Alt: bne UpdatePlayersCallE462_CF ; CPU:$D289 PRG:1289 D0 3C lda #$02 ; CPU:$D28B PRG:128B A9 02 bit Zp00 ; CPU:$D28D PRG:128D 24 00 bne UpdatePlayersStxZp31 ; CPU:$D28F PRG:128F D0 D0 lda Zp88 ; CPU:$D291 PRG:1291 A5 88 bne UpdatePlayersStyZp43 ; CPU:$D293 PRG:1293 D0 09 lda Zp4F ; CPU:$D295 PRG:1295 A5 4F beq UpdatePlayersStyZp43 ; CPU:$D297 PRG:1297 F0 05 jsr $D7DB ; CPU:$D299 PRG:1299 20 DB D7 bne UpdatePlayersCallE5AC ; CPU:$D29C PRG:129C D0 14 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersStyZp43 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersStyZp43: ldy #$06 ; CPU:$D29E PRG:129E A0 06 lda Zp44 ; CPU:$D2A0 PRG:12A0 A5 44 bne UpdatePlayersEntryAlt ; CPU:$D2A2 PRG:12A2 D0 01 dey ; CPU:$D2A4 PRG:12A4 88 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersEntryAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersEntryAlt: ldx #$01 ; CPU:$D2A5 PRG:12A5 A2 01 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersStxZp31Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersStxZp31Alt: stx Zp31 ; CPU:$D2A7 PRG:12A7 86 31 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersStyZp43Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersStyZp43Alt: cpy Zp43 ; CPU:$D2A9 PRG:12A9 C4 43 bne UpdatePlayersCallE462 ; CPU:$D2AB PRG:12AB D0 17 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersCallE4E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersCallE4E2: sty Zp43 ; CPU:$D2AD PRG:12AD 84 43 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersCallE4E2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersCallE4E2Alt: jsr $E4E2 ; CPU:$D2AF PRG:12AF 20 E2 E4 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersCallE5AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersCallE5AC: jsr $E5AC ; CPU:$D2B2 PRG:12B2 20 AC E5 jsr $D040 ; CPU:$D2B5 PRG:12B5 20 40 D0 ldx Zp89 ; CPU:$D2B8 PRG:12B8 A6 89 beq UpdatePlayersCheckZp1F ; CPU:$D2BA PRG:12BA F0 0E dex ; CPU:$D2BC PRG:12BC CA stx Zp89 ; CPU:$D2BD PRG:12BD 86 89 ldy #$00 ; CPU:$D2BF PRG:12BF A0 00 jmp $D1CA ; CPU:$D2C1 PRG:12C1 4C CA D1 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersCallE462 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersCallE462: jmp $D34B ; CPU:$D2C4 PRG:12C4 4C 4B D3 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersCallE462_CF ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersCallE462_CF: jmp $D313 ; CPU:$D2C7 PRG:12C7 4C 13 D3 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayersCheckZp1F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayersCheckZp1F: inx ; CPU:$D2CA PRG:12CA E8 inx ; CPU:$D2CB PRG:12CB E8 stx Zp89 ; CPU:$D2CC PRG:12CC 86 89 ldy #$40 ; CPU:$D2CE PRG:12CE A0 40 jsr $D030 ; CPU:$D2D0 PRG:12D0 20 30 D0 jsr $E076 ; CPU:$D2D3 PRG:12D3 20 76 E0 jsr $E5AC ; CPU:$D2D6 PRG:12D6 20 AC E5 jsr $E207 ; CPU:$D2D9 PRG:12D9 20 07 E2 jsr $D040 ; CPU:$D2DC PRG:12DC 20 40 D0 jsr $DBBF ; CPU:$D2DF PRG:12DF 20 BF DB lda Zp93 ; CPU:$D2E2 PRG:12E2 A5 93 bne UpdateScoreEntry ; CPU:$D2E4 PRG:12E4 D0 1A ldx ZpCC ; CPU:$D2E6 PRG:12E6 A6 CC txa ; CPU:$D2E8 PRG:12E8 8A eor #$20 ; CPU:$D2E9 PRG:12E9 49 20 tay ; CPU:$D2EB PRG:12EB A8 lda #$60 ; CPU:$D2EC PRG:12EC A9 60 sta $0306,x ; CPU:$D2EE PRG:12EE 9D 06 03 lda #$A0 ; CPU:$D2F1 PRG:12F1 A9 A0 sta $0307,x ; CPU:$D2F3 PRG:12F3 9D 07 03 lda #$A0 ; CPU:$D2F6 PRG:12F6 A9 A0 sta $0306,y ; CPU:$D2F8 PRG:12F8 99 06 03 lda #$E0 ; CPU:$D2FB PRG:12FB A9 E0 sta $0307,y ; CPU:$D2FD PRG:12FD 99 07 03 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreEntry: rts ; CPU:$D300 PRG:1300 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreCheckZp88 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreCheckZp88: jmp $D392 ; CPU:$D301 PRG:1301 4C 92 D3 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreSetZp31 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreSetZp31: lda Zp88 ; CPU:$D304 PRG:1304 A5 88 beq UpdateScoreCheckZp88 ; CPU:$D306 PRG:1306 F0 F9 lda #$7D ; CPU:$D308 PRG:1308 A9 7D sta Zp32 ; CPU:$D30A PRG:130A 85 32 lda #$00 ; CPU:$D30C PRG:130C A9 00 sta Zp46 ; CPU:$D30E PRG:130E 85 46 jmp $D2A7 ; CPU:$D310 PRG:1310 4C A7 D2 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreLoadZp1F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreLoadZp1F: ldx Zp1F ; CPU:$D313 PRG:1313 A6 1F bne UpdateScoreBeqD31F ; CPU:$D315 PRG:1315 D0 08 ldx Zp89 ; CPU:$D317 PRG:1317 A6 89 bne UpdateScoreBeqD31F ; CPU:$D319 PRG:1319 D0 04 ldy #$03 ; CPU:$D31B PRG:131B A0 03 bne UpdateScoreCallE2B9 ; CPU:$D31D PRG:131D D0 13 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreBeqD31F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreBeqD31F: ldx Zp3D ; CPU:$D31F PRG:131F A6 3D beq UpdateScoreLdxZp89 ; CPU:$D321 PRG:1321 F0 04 ldy #$01 ; CPU:$D323 PRG:1323 A0 01 lda #$80 ; CPU:$D325 PRG:1325 A9 80 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreLdxZp89 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreLdxZp89: pha ; CPU:$D327 PRG:1327 48 tya ; CPU:$D328 PRG:1328 98 pha ; CPU:$D329 PRG:1329 48 ldx #$01 ; CPU:$D32A PRG:132A A2 01 jsr $E2B9 ; CPU:$D32C PRG:132C 20 B9 E2 pla ; CPU:$D32F PRG:132F 68 tay ; CPU:$D330 PRG:1330 A8 pla ; CPU:$D331 PRG:1331 68 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreCallE2B9 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreCallE2B9: asl a ; CPU:$D332 PRG:1332 0A sta Zp4C ; CPU:$D333 PRG:1333 85 4C jsr $E459 ; CPU:$D335 PRG:1335 20 59 E4 stx ZpCC ; CPU:$D338 PRG:1338 86 CC ldx #$03 ; CPU:$D33A PRG:133A A2 03 lda Zp44 ; CPU:$D33C PRG:133C A5 44 beq UpdateScoreCallE459 ; CPU:$D33E PRG:133E F0 01 iny ; CPU:$D340 PRG:1340 C8 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreCallE459 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreCallE459: jmp $D2A7 ; CPU:$D341 PRG:1341 4C A7 D2 ; ---- data $D344-$D34A (7 bytes) ---- .byte $A5, $88, $F0, $C8, $4C, $9E, $D2 ; CPU:$D344 PRG:1344 A5 88 F0 C8 4C 9E D2 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreCallE462 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreCallE462: jsr $E462 ; CPU:$D34B PRG:134B 20 62 E4 cpy #$0D ; CPU:$D34E PRG:134E C0 0D beq UpdateScoreCpy0D ; CPU:$D350 PRG:1350 F0 0C cpy #$07 ; CPU:$D352 PRG:1352 C0 07 beq UpdateScoreCpy0D ; CPU:$D354 PRG:1354 F0 08 cpy #$08 ; CPU:$D356 PRG:1356 C0 08 beq UpdateScoreCpy0D ; CPU:$D358 PRG:1358 F0 04 lda #$7B ; CPU:$D35A PRG:135A A9 7B sta Zp32 ; CPU:$D35C PRG:135C 85 32 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreCpy0D ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreCpy0D: jmp $D2AD ; CPU:$D35E PRG:135E 4C AD D2 ; ---- data $D361-$D366 (6 bytes) ---- .byte $A5, $3E, $F0, $05, $C6, $3E ; CPU:$D361 PRG:1361 A5 3E F0 05 C6 3E ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreSetZp31Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreSetZp31Alt: jmp $D2B2 ; CPU:$D367 PRG:1367 4C B2 D2 ; ---- data $D36A-$D391 (40 bytes) ---- .byte $20, $6E, $E4, $A0, $0B, $A2, $02, $A5, $33, $C9, $2E, $90, $12, $C9, $D2, $B0 ; CPU:$D36A PRG:136A 20 6E E4 A0 0B A2 02 A5 33 C9 2E 90 12 C9 D2 B0 .byte $0E, $A9, $01, $24, $00, $D0, $C0, $A9, $01, $85, $4F, $A0, $00, $F0, $45, $20 ; CPU:$D37A PRG:137A 0E A9 01 24 00 D0 C0 A9 01 85 4F A0 00 F0 45 20 .byte $DB, $D7, $A9, $01, $85, $3A, $D0, $F1 ; CPU:$D38A PRG:138A DB D7 A9 01 85 3A D0 F1 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreLdx02 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreLdx02: ldx #$02 ; CPU:$D392 PRG:1392 A2 02 stx Zp31 ; CPU:$D394 PRG:1394 86 31 bne UpdateScoreSetZp31Alt ; CPU:$D396 PRG:1396 D0 CF jsr $E46E ; CPU:$D398 PRG:1398 20 6E E4 lda Zp00 ; CPU:$D39B PRG:139B A5 00 and #$C0 ; CPU:$D39D PRG:139D 29 C0 beq UpdateScoreCheckZp88Alt ; CPU:$D39F PRG:139F F0 03 jmp $D27B ; CPU:$D3A1 PRG:13A1 4C 7B D2 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreCheckZp88Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreCheckZp88Alt: lda #$02 ; CPU:$D3A4 PRG:13A4 A9 02 bit Zp00 ; CPU:$D3A6 PRG:13A6 24 00 bne UpdateScoreBneD408 ; CPU:$D3A8 PRG:13A8 D0 19 lda Zp43 ; CPU:$D3AA PRG:13AA A5 43 bne UpdateScoreExit ; CPU:$D3AC PRG:13AC D0 60 lda Zp47 ; CPU:$D3AE PRG:13AE A5 47 beq UpdateScoreSetZp31Alt2 ; CPU:$D3B0 PRG:13B0 F0 0B lda #$00 ; CPU:$D3B2 PRG:13B2 A9 00 sta Zp47 ; CPU:$D3B4 PRG:13B4 85 47 ldx #$04 ; CPU:$D3B6 PRG:13B6 A2 04 ldy #$0D ; CPU:$D3B8 PRG:13B8 A0 0D jmp $D304 ; CPU:$D3BA PRG:13BA 4C 04 D3 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreSetZp31Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreSetZp31Alt2: lda #$01 ; CPU:$D3BD PRG:13BD A9 01 bit Zp00 ; CPU:$D3BF PRG:13BF 24 00 bne UpdateScoreBneD40E ; CPU:$D3C1 PRG:13C1 D0 0E ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreBneD408 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreBneD408: lda #$50 ; CPU:$D3C3 PRG:13C3 A9 50 sta Zp3E ; CPU:$D3C5 PRG:13C5 85 3E ldy #$05 ; CPU:$D3C7 PRG:13C7 A0 05 lda Zp44 ; CPU:$D3C9 PRG:13C9 A5 44 beq UpdateScoreCallE46E ; CPU:$D3CB PRG:13CB F0 01 iny ; CPU:$D3CD PRG:13CD C8 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreCallE46E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreCallE46E: jmp $D2A5 ; CPU:$D3CE PRG:13CE 4C A5 D2 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreBneD40E ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreBneD40E: lda Zp88 ; CPU:$D3D1 PRG:13D1 A5 88 beq UpdateScoreLdx02 ; CPU:$D3D3 PRG:13D3 F0 BD lda Zp3A ; CPU:$D3D5 PRG:13D5 A5 3A bne UpdateScoreBneD408 ; CPU:$D3D7 PRG:13D7 D0 EA lda #$7B ; CPU:$D3D9 PRG:13D9 A9 7B sta Zp32 ; CPU:$D3DB PRG:13DB 85 32 lda #$00 ; CPU:$D3DD PRG:13DD A9 00 sta Zp46 ; CPU:$D3DF PRG:13DF 85 46 sta Zp88 ; CPU:$D3E1 PRG:13E1 85 88 lda #$03 ; CPU:$D3E3 PRG:13E3 A9 03 sta Zp35 ; CPU:$D3E5 PRG:13E5 85 35 lda #$10 ; CPU:$D3E7 PRG:13E7 A9 10 sta Zp3E ; CPU:$D3E9 PRG:13E9 85 3E lda #$10 ; CPU:$D3EB PRG:13EB A9 10 ldx Zp89 ; CPU:$D3ED PRG:13ED A6 89 beq UpdateScoreSetZp31Alt3 ; CPU:$D3EF PRG:13EF F0 02 lda #$F0 ; CPU:$D3F1 PRG:13F1 A9 F0 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreSetZp31Alt3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreSetZp31Alt3: clc ; CPU:$D3F3 PRG:13F3 18 adc Zp33 ; CPU:$D3F4 PRG:13F4 65 33 sta Zp33 ; CPU:$D3F6 PRG:13F6 85 33 bne UpdateScoreLdx02 ; CPU:$D3F8 PRG:13F8 D0 98 lda Zp41 ; CPU:$D3FA PRG:13FA A5 41 cmp #$01 ; CPU:$D3FC PRG:13FC C9 01 bne UpdateScoreBneD3CE ; CPU:$D3FE PRG:13FE D0 08 lda Zp42 ; CPU:$D400 PRG:1400 A5 42 ldy Zp43 ; CPU:$D402 PRG:1402 A4 43 cmp #$02 ; CPU:$D404 PRG:1404 C9 02 beq UpdateScoreLDY02 ; CPU:$D406 PRG:1406 F0 09 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreBneD3CE ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreBneD3CE: lda Zp43 ; CPU:$D408 PRG:1408 A5 43 bne UpdateScoreExit ; CPU:$D40A PRG:140A D0 02 beq UpdateScoreBneD408 ; CPU:$D40C PRG:140C F0 B5 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreExit: jmp $D2AF ; CPU:$D40E PRG:140E 4C AF D2 ; ----------------------------------------------------------------------------- ; Routine: UpdateScoreLDY02 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateScoreLDY02: sty Zp01 ; CPU:$D411 PRG:1411 84 01 lda Zp88 ; CPU:$D413 PRG:1413 A5 88 beq DrawRoundNumberCallE7A7 ; CPU:$D415 PRG:1415 F0 44 jsr $E459 ; CPU:$D417 PRG:1417 20 59 E4 lda $0301,x ; CPU:$D41A PRG:141A BD 01 03 cmp #$0D ; CPU:$D41D PRG:141D C9 0D beq DrawRoundNumberCallE4E2 ; CPU:$D41F PRG:141F F0 42 cmp #$03 ; CPU:$D421 PRG:1421 C9 03 beq DrawRoundNumberCalc ; CPU:$D423 PRG:1423 F0 11 cmp #$01 ; CPU:$D425 PRG:1425 C9 01 bne DrawRoundNumberCallE7A7 ; CPU:$D427 PRG:1427 D0 32 lda Zp31 ; CPU:$D429 PRG:1429 A5 31 cmp #$08 ; CPU:$D42B PRG:142B C9 08 beq DrawRoundNumberCalc ; CPU:$D42D PRG:142D F0 07 lda Zp44 ; CPU:$D42F PRG:142F A5 44 cmp $0314,x ; CPU:$D431 PRG:1431 DD 14 03 beq DrawRoundNumberClc ; CPU:$D434 PRG:1434 F0 0E ; ----------------------------------------------------------------------------- ; Routine: DrawRoundNumberCalc ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawRoundNumberCalc: tya ; CPU:$D436 PRG:1436 98 clc ; CPU:$D437 PRG:1437 18 adc #$06 ; CPU:$D438 PRG:1438 69 06 sta $0316,x ; CPU:$D43A PRG:143A 9D 16 03 lda #$0D ; CPU:$D43D PRG:143D A9 0D sta $0315,x ; CPU:$D43F PRG:143F 9D 15 03 bne DrawRoundNumberADC06 ; CPU:$D442 PRG:1442 D0 03 ; ----------------------------------------------------------------------------- ; Routine: DrawRoundNumberClc ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawRoundNumberClc: jsr $E7A7 ; CPU:$D444 PRG:1444 20 A7 E7 ; ----------------------------------------------------------------------------- ; Routine: DrawRoundNumberADC06 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawRoundNumberADC06: lda #$50 ; CPU:$D447 PRG:1447 A9 50 sta $030E,x ; CPU:$D449 PRG:1449 9D 0E 03 lda #$7B ; CPU:$D44C PRG:144C A9 7B sta $0302,x ; CPU:$D44E PRG:144E 9D 02 03 tya ; CPU:$D451 PRG:1451 98 pha ; CPU:$D452 PRG:1452 48 ldx #$01 ; CPU:$D453 PRG:1453 A2 01 ldy Zp4C ; CPU:$D455 PRG:1455 A4 4C ldx #$10 ; CPU:$D457 PRG:1457 A2 10 pla ; CPU:$D459 PRG:1459 68 tay ; CPU:$D45A PRG:145A A8 ; ----------------------------------------------------------------------------- ; Routine: DrawRoundNumberCallE7A7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawRoundNumberCallE7A7: ldx #$03 ; CPU:$D45B PRG:145B A2 03 jsr $E7AF ; CPU:$D45D PRG:145D 20 AF E7 jmp $D2A7 ; CPU:$D460 PRG:1460 4C A7 D2 ; ----------------------------------------------------------------------------- ; Routine: DrawRoundNumberCallE4E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- DrawRoundNumberCallE4E2: jsr $E21E ; CPU:$D463 PRG:1463 20 1E E2 jmp $D436 ; CPU:$D466 PRG:1466 4C 36 D4 ; ---- data $D469-$D7DA (882 bytes) ---- ; referenced by `ora $D5D0,y` at $DBCB (operand $D5D0 falls inside this region) .byte $4C, $B2, $D2, $A5, $89, $0A, $0A, $0A, $85, $34, $20, $59, $E4, $A9, $10, $A4 ; CPU:$D469 PRG:1469 4C B2 D2 A5 89 0A 0A 0A 85 34 20 59 E4 A9 10 A4 .byte $3D, $D0, $3A, $BC, $1C, $03, $D0, $35, $A2, $04, $20, $B9, $E2, $A5, $33, $C9 ; CPU:$D479 PRG:1479 3D D0 3A BC 1C 03 D0 35 A2 04 20 B9 E2 A5 33 C9 .byte $36, $90, $2E, $C9, $C8, $B0, $2A, $A4, $43, $C0, $09, $F0, $07, $20, $9F, $E7 ; CPU:$D489 PRG:1489 36 90 2E C9 C8 B0 2A A4 43 C0 09 F0 07 20 9F E7 .byte $A2, $17, $D0, $05, $20, $A3, $E7, $A2, $16, $A9, $00, $85, $46, $85, $43, $85 ; CPU:$D499 PRG:1499 A2 17 D0 05 20 A3 E7 A2 16 A9 00 85 46 85 43 85 .byte $49, $A9, $46, $85, $4A, $86, $35, $A2, $06, $86, $31, $D0, $B3, $AA, $20, $B9 ; CPU:$D4A9 PRG:14A9 49 A9 46 85 4A 86 35 A2 06 86 31 D0 B3 AA 20 B9 .byte $E2, $A2, $07, $86, $31, $A9, $00, $85, $46, $F0, $A5, $20, $6E, $E4, $20, $0E ; CPU:$D4B9 PRG:14B9 E2 A2 07 86 31 A9 00 85 46 F0 A5 20 6E E4 20 0E .byte $E4, $C9, $FF, $F0, $21, $A5, $49, $C9, $0E, $D0, $18, $20, $59, $E4, $BD, $01 ; CPU:$D4C9 PRG:14C9 E4 C9 FF F0 21 A5 49 C9 0E D0 18 20 59 E4 BD 01 .byte $03, $C9, $05, $B0, $14, $A9, $0C, $9D, $01, $03, $E6, $8B, $A9, $00, $9D, $0E ; CPU:$D4D9 PRG:14D9 03 C9 05 B0 14 A9 0C 9D 01 03 E6 8B A9 00 9D 0E .byte $03, $85, $88, $4C, $B2, $D2, $4C, $C3, $D3, $A9, $0A, $A4, $89, $D0, $02, $A9 ; CPU:$D4E9 PRG:14E9 03 85 88 4C B2 D2 4C C3 D3 A9 0A A4 89 D0 02 A9 .byte $F6, $18, $65, $33, $85, $33, $D0, $EB, $C6, $45, $D0, $E7, $A4, $39, $D0, $24 ; CPU:$D4F9 PRG:14F9 F6 18 65 33 85 33 D0 EB C6 45 D0 E7 A4 39 D0 24 .byte $20, $59, $E4, $A9, $11, $9D, $01, $03, $85, $93, $A9, $00, $85, $91, $85, $92 ; CPU:$D509 PRG:1509 20 59 E4 A9 11 9D 01 03 85 93 A9 00 85 91 85 92 .byte $85, $30, $85, $31, $8D, $40, $03, $9D, $06, $03, $A9, $40, $9D, $07, $03, $20 ; CPU:$D519 PRG:1519 85 30 85 31 8D 40 03 9D 06 03 A9 40 9D 07 03 20 .byte $F7, $DD, $D0, $BF, $A9, $0B, $A4, $89, $D0, $02, $A9, $00, $85, $31, $A9, $00 ; CPU:$D529 PRG:1529 F7 DD D0 BF A9 0B A4 89 D0 02 A9 00 85 31 A9 00 .byte $8D, $01, $03, $8D, $41, $03, $85, $0A, $A9, $3D, $8D, $42, $03, $A9, $F4, $8D ; CPU:$D539 PRG:1539 8D 01 03 8D 41 03 85 0A A9 3D 8D 42 03 A9 F4 8D .byte $58, $02, $8D, $5C, $02, $8D, $54, $02, $8D, $50, $02, $A9, $13, $8D, $45, $03 ; CPU:$D549 PRG:1549 58 02 8D 5C 02 8D 54 02 8D 50 02 A9 13 8D 45 03 .byte $20, $E3, $DC, $A5, $89, $85, $8A, $F0, $18, $E6, $85, $A5, $85, $C9, $06, $D0 ; CPU:$D559 PRG:1559 20 E3 DC A5 89 85 8A F0 18 E6 85 A5 85 C9 06 D0 .byte $04, $A9, $02, $85, $85, $A5, $08, $49, $01, $85, $08, $A9, $FF, $85, $0A, $D0 ; CPU:$D569 PRG:1569 04 A9 02 85 85 A5 08 49 01 85 08 A9 FF 85 0A D0 .byte $08, $C6, $85, $D0, $04, $A9, $04, $85, $85, $20, $12, $D0, $A2, $01, $20, $3B ; CPU:$D579 PRG:1579 08 C6 85 D0 04 A9 04 85 85 20 12 D0 A2 01 20 3B .byte $DA, $A2, $00, $20, $3B, $DA, $A9, $9F, $8D, $00, $02, $A9, $0B, $8D, $21, $03 ; CPU:$D589 PRG:1589 DA A2 00 20 3B DA A9 9F 8D 00 02 A9 0B 8D 21 03 .byte $20, $E7, $E7, $A9, $01, $85, $86, $D0, $4F, $A9, $00, $85, $46, $85, $49, $85 ; CPU:$D599 PRG:1599 20 E7 E7 A9 01 85 86 D0 4F A9 00 85 46 85 49 85 .byte $4A, $A0, $0B, $A5, $44, $D0, $06, $20, $9B, $E7, $C8, $D0, $03, $20, $97, $E7 ; CPU:$D5A9 PRG:15A9 4A A0 0B A5 44 D0 06 20 9B E7 C8 D0 03 20 97 E7 .byte $84, $35, $20, $B6, $E7, $A2, $08, $86, $31, $D0, $2D, $20, $0E, $E4, $C9, $FF ; CPU:$D5B9 PRG:15B9 84 35 20 B6 E7 A2 08 86 31 D0 2D 20 0E E4 C9 FF .byte $F0, $29, $A4, $35, $C0, $0E, $D0, $11, $C9, $2E, $90, $49, $C9, $D2, $B0, $45 ; CPU:$D5C9 PRG:15C9 F0 29 A4 35 C0 0E D0 11 C9 2E 90 49 C9 D2 B0 45 .byte $A5, $49, $C9, $14, $D0, $03, $20, $C2, $E7, $C0, $11, $D0, $0B, $E6, $4F, $20 ; CPU:$D5D9 PRG:15D9 A5 49 C9 14 D0 03 20 C2 E7 C0 11 D0 0B E6 4F 20 .byte $59, $E4, $E6, $8B, $A9, $00, $85, $88, $4C, $B2, $D2, $A9, $7B, $85, $32, $A0 ; CPU:$D5E9 PRG:15E9 59 E4 E6 8B A9 00 85 88 4C B2 D2 A9 7B 85 32 A0 .byte $04, $A5, $44, $F0, $01, $C8, $20, $62, $E4, $A9, $0A, $85, $48, $8D, $18, $03 ; CPU:$D5F9 PRG:15F9 04 A5 44 F0 01 C8 20 62 E4 A9 0A 85 48 8D 18 03 .byte $8D, $38, $03, $4C, $A5, $D2, $20, $C2, $E7, $A9, $00, $85, $84, $8D, $41, $03 ; CPU:$D609 PRG:1609 8D 38 03 4C A5 D2 20 C2 E7 A9 00 85 84 8D 41 03 .byte $A9, $4A, $4C, $37, $D6, $A9, $00, $85, $49, $85, $88, $20, $05, $DB, $A5, $39 ; CPU:$D619 PRG:1619 A9 4A 4C 37 D6 A9 00 85 49 85 88 20 05 DB A5 39 .byte $D0, $E4, $A9, $00, $85, $84, $20, $BA, $E7, $20, $B7, $DA, $A9, $42, $85, $4A ; CPU:$D629 PRG:1629 D0 E4 A9 00 85 84 20 BA E7 20 B7 DA A9 42 85 4A .byte $20, $59, $E4, $A9, $00, $9D, $01, $03, $9D, $11, $03, $9D, $12, $03, $9D, $0E ; CPU:$D639 PRG:1639 20 59 E4 A9 00 9D 01 03 9D 11 03 9D 12 03 9D 0E .byte $03, $FE, $1F, $03, $E6, $4F, $A9, $09, $85, $31, $4C, $B2, $D2, $20, $0E, $E4 ; CPU:$D649 PRG:1649 03 FE 1F 03 E6 4F A9 09 85 31 4C B2 D2 20 0E E4 .byte $C9, $FF, $D0, $1F, $A9, $20, $85, $45, $A9, $0A, $85, $31, $A5, $32, $C9, $98 ; CPU:$D659 PRG:1659 C9 FF D0 1F A9 20 85 45 A9 0A 85 31 A5 32 C9 98 .byte $B0, $0A, $A5, $33, $C9, $12, $90, $04, $C9, $F0, $90, $04, $A9, $FC, $85, $32 ; CPU:$D669 PRG:1669 B0 0A A5 33 C9 12 90 04 C9 F0 90 04 A9 FC 85 32 .byte $4C, $B2, $D2, $A5, $32, $C9, $98, $B0, $0A, $A5, $33, $C9, $12, $90, $04, $C9 ; CPU:$D679 PRG:1679 4C B2 D2 A5 32 C9 98 B0 0A A5 33 C9 12 90 04 C9 .byte $F4, $90, $ED, $A9, $FC, $85, $32, $D0, $CB, $D0, $E5, $A5, $0A, $C9, $D3, $D0 ; CPU:$D689 PRG:1689 F4 90 ED A9 FC 85 32 D0 CB D0 E5 A5 0A C9 D3 D0 .byte $4C, $A9, $7B, $85, $32, $A9, $F8, $85, $33, $A9, $15, $85, $35, $D0, $3E, $4C ; CPU:$D699 PRG:1699 4C A9 7B 85 32 A9 F8 85 33 A9 15 85 35 D0 3E 4C .byte $6F, $D7, $A9, $0B, $8D, $01, $03, $A9, $06, $8D, $41, $03, $A5, $8A, $D0, $EF ; CPU:$D6A9 PRG:16A9 6F D7 A9 0B 8D 01 03 A9 06 8D 41 03 A5 8A D0 EF .byte $A6, $89, $E0, $02, $F0, $27, $E0, $00, $F0, $D1, $A5, $83, $D0, $1F, $A5, $0A ; CPU:$D6B9 PRG:16B9 A6 89 E0 02 F0 27 E0 00 F0 D1 A5 83 D0 1F A5 0A .byte $C9, $86, $D0, $08, $85, $83, $A9, $15, $85, $35, $D0, $11, $A0, $0B, $84, $43 ; CPU:$D6C9 PRG:16C9 C9 86 D0 08 85 83 A9 15 85 35 D0 11 A0 0B 84 43 .byte $A9, $00, $85, $3E, $A9, $7B, $85, $32, $20, $E2, $E4, $D0, $02, $C6, $33, $A5 ; CPU:$D6D9 PRG:16D9 A9 00 85 3E A9 7B 85 32 20 E2 E4 D0 02 C6 33 A5 .byte $89, $C9, $00, $F0, $06, $C9, $02, $F0, $6A, $D0, $9E, $A2, $00, $DE, $5B, $02 ; CPU:$D6E9 PRG:16E9 89 C9 00 F0 06 C9 02 F0 6A D0 9E A2 00 DE 5B 02 .byte $DE, $5F, $02, $20, $D0, $D7, $A5, $0A, $C9, $80, $D0, $23, $A5, $A0, $F0, $1F ; CPU:$D6F9 PRG:16F9 DE 5F 02 20 D0 D7 A5 0A C9 80 D0 23 A5 A0 F0 1F .byte $E6, $73, $E6, $74, $A5, $74, $C9, $06, $D0, $12, $A5, $72, $C9, $12, $F0, $0C ; CPU:$D709 PRG:1709 E6 73 E6 74 A5 74 C9 06 D0 12 A5 72 C9 12 F0 0C .byte $E6, $72, $E6, $72, $A9, $01, $85, $74, $A9, $56, $85, $73, $20, $50, $E3, $E6 ; CPU:$D719 PRG:1719 E6 72 E6 72 A9 01 85 74 A9 56 85 73 20 50 E3 E6 .byte $0A, $D0, $2D, $A5, $08, $49, $01, $85, $08, $A0, $01, $84, $31, $8C, $21, $03 ; CPU:$D729 PRG:1729 0A D0 2D A5 08 49 01 85 08 A0 01 84 31 8C 21 03 .byte $8C, $41, $03, $20, $EB, $E7, $20, $E0, $E3, $A5, $1F, $D0, $08, $A5, $8A, $D0 ; CPU:$D739 PRG:1739 8C 41 03 20 EB E7 20 E0 E3 A5 1F D0 08 A5 8A D0 .byte $04, $A9, $20, $85, $96, $A5, $A0, $F0, $07, $20, $D9, $DA, $A9, $00, $85, $A0 ; CPU:$D749 PRG:1749 04 A9 20 85 96 A5 A0 F0 07 20 D9 DA A9 00 85 A0 .byte $4C, $B2, $D2, $AD, $02, $20, $29, $40, $F0, $F9, $A6, $0A, $A9, $00, $85, $0A ; CPU:$D759 PRG:1759 4C B2 D2 AD 02 20 29 40 F0 F9 A6 0A A9 00 85 0A .byte $20, $43, $CE, $86, $0A, $60, $A6, $89, $E0, $02, $F0, $27, $E0, $00, $D0, $43 ; CPU:$D769 PRG:1769 20 43 CE 86 0A 60 A6 89 E0 02 F0 27 E0 00 D0 43 .byte $A5, $83, $D0, $1F, $A5, $0A, $C9, $80, $D0, $08, $85, $83, $A9, $15, $85, $35 ; CPU:$D779 PRG:1779 A5 83 D0 1F A5 0A C9 80 D0 08 85 83 A9 15 85 35 .byte $D0, $11, $A0, $0B, $84, $43, $A9, $00, $85, $3E, $A9, $7B, $85, $32, $20, $E2 ; CPU:$D789 PRG:1789 D0 11 A0 0B 84 43 A9 00 85 3E A9 7B 85 32 20 E2 .byte $E4, $D0, $02, $E6, $33, $A5, $89, $C9, $00, $F0, $06, $C9, $02, $F0, $B4, $D0 ; CPU:$D799 PRG:1799 E4 D0 02 E6 33 A5 89 C9 00 F0 06 C9 02 F0 B4 D0 .byte $80, $A2, $00, $FE, $5B, $02, $FE, $5F, $02, $20, $D0, $D7, $C6, $0A, $D0, $EF ; CPU:$D7A9 PRG:17A9 80 A2 00 FE 5B 02 FE 5F 02 20 D0 D7 C6 0A D0 EF .byte $4C, $32, $D7, $A5, $0A, $C9, $32, $D0, $DA, $A9, $7B, $85, $32, $A9, $02, $85 ; CPU:$D7B9 PRG:17B9 4C 32 D7 A5 0A C9 32 D0 DA A9 7B 85 32 A9 02 85 .byte $33, $A9, $15, $85, $35, $D0, $CC, $D0, $08, $A9, $F4, $9D, $58, $02, $9D, $5C ; CPU:$D7C9 PRG:17C9 33 A9 15 85 35 D0 CC D0 08 A9 F4 9D 58 02 9D 5C .byte $02, $60 ; CPU:$D7D9 PRG:17D9 02 60 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayerPositions ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayerPositions: lda Zp84 ; CPU:$D7DB PRG:17DB A5 84 cmp #$03 ; CPU:$D7DD PRG:17DD C9 03 bne UpdatePlayerPositionsCheckZp84 ; CPU:$D7DF PRG:17DF D0 1B lda Zp82 ; CPU:$D7E1 PRG:17E1 A5 82 bne UpdatePlayerPositionsCheckZp84 ; CPU:$D7E3 PRG:17E3 D0 17 lda #$1B ; CPU:$D7E5 PRG:17E5 A9 1B sta Zp35 ; CPU:$D7E7 PRG:17E7 85 35 ldx Zp89 ; CPU:$D7E9 PRG:17E9 A6 89 lda Zp2B,x ; CPU:$D7EB PRG:17EB B5 2B bne UpdatePlayerPositionsSetZp32 ; CPU:$D7ED PRG:17ED D0 18 lda #$60 ; CPU:$D7EF PRG:17EF A9 60 sta Zp2B,x ; CPU:$D7F1 PRG:17F1 95 2B lda #$08 ; CPU:$D7F3 PRG:17F3 A9 08 eor Zp34 ; CPU:$D7F5 PRG:17F5 45 34 sta Zp34 ; CPU:$D7F7 PRG:17F7 85 34 jmp $D807 ; CPU:$D7F9 PRG:17F9 4C 07 D8 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayerPositionsCheckZp84 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayerPositionsCheckZp84: lda Zp89 ; CPU:$D7FC PRG:17FC A5 89 asl a ; CPU:$D7FE PRG:17FE 0A asl a ; CPU:$D7FF PRG:17FF 0A asl a ; CPU:$D800 PRG:1800 0A sta Zp34 ; CPU:$D801 PRG:1801 85 34 lda #$15 ; CPU:$D803 PRG:1803 A9 15 sta Zp35 ; CPU:$D805 PRG:1805 85 35 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayerPositionsSetZp32 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayerPositionsSetZp32: lda #$7B ; CPU:$D807 PRG:1807 A9 7B sta Zp32 ; CPU:$D809 PRG:1809 85 32 rts ; CPU:$D80B PRG:180B 60 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayerPositionsExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayerPositionsExit: ldx Zp89 ; CPU:$D80C PRG:180C A6 89 lda Zp35 ; CPU:$D80E PRG:180E A5 35 cmp #$18 ; CPU:$D810 PRG:1810 C9 18 bne UpdatePlayerPositionsEntry ; CPU:$D812 PRG:1812 D0 11 jsr $E21E ; CPU:$D814 PRG:1814 20 1E E2 lda Zp2B,x ; CPU:$D817 PRG:1817 B5 2B beq UpdatePlayerPositionsStxZp31 ; CPU:$D819 PRG:1819 F0 0D and #$0F ; CPU:$D81B PRG:181B 29 0F bne UpdatePlayerPositionsEntry ; CPU:$D81D PRG:181D D0 06 lda #$08 ; CPU:$D81F PRG:181F A9 08 eor Zp34 ; CPU:$D821 PRG:1821 45 34 sta Zp34 ; CPU:$D823 PRG:1823 85 34 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayerPositionsEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayerPositionsEntry: jmp $D2AF ; CPU:$D825 PRG:1825 4C AF D2 ; ----------------------------------------------------------------------------- ; Routine: UpdatePlayerPositionsStxZp31 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdatePlayerPositionsStxZp31: lda Zp89 ; CPU:$D828 PRG:1828 A5 89 asl a ; CPU:$D82A PRG:182A 0A asl a ; CPU:$D82B PRG:182B 0A asl a ; CPU:$D82C PRG:182C 0A sta Zp34 ; CPU:$D82D PRG:182D 85 34 ldy #$00 ; CPU:$D82F PRG:182F A0 00 jmp $D2A5 ; CPU:$D831 PRG:1831 4C A5 D2 ; ---- data $D834-$DA24 (497 bytes) ---- .byte $A5, $84, $C9, $03, $D0, $08, $AD, $2F, $02, $38, $E5, $33, $F0, $03, $4C, $B2 ; CPU:$D834 PRG:1834 A5 84 C9 03 D0 08 AD 2F 02 38 E5 33 F0 03 4C B2 .byte $D2, $A9, $04, $85, $84, $A9, $01, $85, $90, $A9, $97, $8D, $40, $02, $8D, $44 ; CPU:$D844 PRG:1844 D2 A9 04 85 84 A9 01 85 90 A9 97 8D 40 02 8D 44 .byte $02, $A9, $9F, $8D, $48, $02, $8D, $4C, $02, $A9, $A3, $85, $4A, $A9, $00, $85 ; CPU:$D854 PRG:1854 02 A9 9F 8D 48 02 8D 4C 02 A9 A3 85 4A A9 00 85 .byte $49, $A9, $1D, $85, $35, $A9, $7B, $85, $32, $A9, $60, $85, $45, $E6, $31, $D0 ; CPU:$D864 PRG:1864 49 A9 1D 85 35 A9 7B 85 32 A9 60 85 45 E6 31 D0 .byte $CD, $A5, $45, $F0, $05, $C6, $45, $4C, $B2, $D2, $20, $0E, $E4, $C9, $FF, $D0 ; CPU:$D874 PRG:1874 CD A5 45 F0 05 C6 45 4C B2 D2 20 0E E4 C9 FF D0 .byte $20, $A9, $03, $85, $84, $20, $59, $E4, $A9, $10, $9D, $01, $03, $20, $05, $DB ; CPU:$D884 PRG:1884 20 A9 03 85 84 20 59 E4 A9 10 9D 01 03 20 05 DB .byte $A5, $89, $0A, $0A, $0A, $85, $34, $A9, $00, $85, $31, $85, $32, $85, $33, $F0 ; CPU:$D894 PRG:1894 A5 89 0A 0A 0A 85 34 A9 00 85 31 85 32 85 33 F0 .byte $0C, $A5, $2A, $29, $0F, $D0, $06, $A9, $08, $45, $34, $85, $34, $4C, $B2, $D2 ; CPU:$D8A4 PRG:18A4 0C A5 2A 29 0F D0 06 A9 08 45 34 85 34 4C B2 D2 .byte $A5, $33, $38, $A6, $89, $D0, $06, $E9, $58, $90, $0D, $B0, $04, $E9, $B0, $B0 ; CPU:$D8B4 PRG:18B4 A5 33 38 A6 89 D0 06 E9 58 90 0D B0 04 E9 B0 B0 .byte $07, $A0, $0B, $84, $4F, $4C, $A9, $D2, $A9, $15, $85, $35, $A5, $84, $C9, $01 ; CPU:$D8C4 PRG:18C4 07 A0 0B 84 4F 4C A9 D2 A9 15 85 35 A5 84 C9 01 .byte $D0, $11, $20, $59, $E4, $A9, $0A, $9D, $01, $03, $A9, $20, $9D, $15, $03, $A9 ; CPU:$D8D4 PRG:18D4 D0 11 20 59 E4 A9 0A 9D 01 03 A9 20 9D 15 03 A9 .byte $00, $85, $31, $4C, $B2, $D2, $A2, $18, $DE, $40, $02, $CA, $CA, $CA, $CA, $10 ; CPU:$D8E4 PRG:18E4 00 85 31 4C B2 D2 A2 18 DE 40 02 CA CA CA CA 10 .byte $F7, $AD, $44, $02, $C9, $2F, $D0, $17, $E6, $31, $20, $F3, $E7, $20, $AC, $DD ; CPU:$D8F4 PRG:18F4 F7 AD 44 02 C9 2F D0 17 E6 31 20 F3 E7 20 AC DD .byte $20, $59, $E4, $A9, $7B, $85, $32, $A9, $1C, $85, $35, $A9, $30, $85, $2D, $4C ; CPU:$D904 PRG:1904 20 59 E4 A9 7B 85 32 A9 1C 85 35 A9 30 85 2D 4C .byte $B2, $D2, $A5, $2D, $F0, $59, $A5, $2B, $D0, $0A, $A9, $30, $85, $2B, $A9, $08 ; CPU:$D914 PRG:1914 B2 D2 A5 2D F0 59 A5 2B D0 0A A9 30 85 2B A9 08 .byte $45, $34, $85, $34, $A5, $2C, $D0, $41, $A9, $10, $85, $2C, $AD, $45, $02, $49 ; CPU:$D924 PRG:1924 45 34 85 34 A5 2C D0 41 A9 10 85 2C AD 45 02 49 .byte $03, $8D, $45, $02, $AD, $49, $02, $49, $03, $8D, $49, $02, $A6, $91, $A4, $92 ; CPU:$D934 PRG:1934 03 8D 45 02 AD 49 02 49 03 8D 49 02 A6 91 A4 92 .byte $BD, $E8, $F8, $C9, $FE, $F0, $1E, $C9, $FF, $F0, $19, $18, $6D, $60, $02, $99 ; CPU:$D944 PRG:1944 BD E8 F8 C9 FE F0 1E C9 FF F0 19 18 6D 60 02 99 .byte $60, $02, $E8, $BD, $E8, $F8, $18, $6D, $63, $02, $99, $63, $02, $E8, $C8, $C8 ; CPU:$D954 PRG:1954 60 02 E8 BD E8 F8 18 6D 63 02 99 63 02 E8 C8 C8 .byte $C8, $C8, $D0, $DC, $E8, $86, $91, $84, $92, $20, $D1, $DD, $4C, $B2, $D2, $A9 ; CPU:$D964 PRG:1964 C8 C8 D0 DC E8 86 91 84 92 20 D1 DD 4C B2 D2 A9 .byte $00, $85, $91, $85, $92, $E6, $31, $D0, $F3, $AD, $44, $02, $C9, $48, $F0, $0B ; CPU:$D974 PRG:1974 00 85 91 85 92 E6 31 D0 F3 AD 44 02 C9 48 F0 0B .byte $A2, $18, $FE, $40, $02, $CA, $CA, $CA, $CA, $10, $F7, $A5, $2C, $D0, $2B, $A9 ; CPU:$D984 PRG:1984 A2 18 FE 40 02 CA CA CA CA 10 F7 A5 2C D0 2B A9 .byte $10, $85, $2C, $A6, $91, $A4, $92, $BD, $E8, $F8, $C9, $FE, $F0, $22, $C9, $FF ; CPU:$D994 PRG:1994 10 85 2C A6 91 A4 92 BD E8 F8 C9 FE F0 22 C9 FF .byte $F0, $10, $A9, $00, $99, $60, $02, $E8, $99, $63, $02, $E8, $C8, $C8, $C8, $C8 ; CPU:$D9A4 PRG:19A4 F0 10 A9 00 99 60 02 E8 99 63 02 E8 C8 C8 C8 C8 .byte $D0, $E5, $E8, $86, $91, $84, $92, $20, $D1, $DD, $4C, $B2, $D2, $4C, $22, $DA ; CPU:$D9B4 PRG:19B4 D0 E5 E8 86 91 84 92 20 D1 DD 4C B2 D2 4C 22 DA .byte $A5, $1F, $D0, $F9, $A5, $89, $F0, $43, $A9, $03, $8D, $09, $03, $85, $A0, $8D ; CPU:$D9C4 PRG:19C4 A5 1F D0 F9 A5 89 F0 43 A9 03 8D 09 03 85 A0 8D .byte $01, $05, $A9, $11, $8D, $00, $05, $A0, $23, $A2, $1A, $20, $8E, $D0, $A2, $1A ; CPU:$D9D4 PRG:19D4 01 05 A9 11 8D 00 05 A0 23 A2 1A 20 8E D0 A2 1A .byte $A0, $27, $20, $8E, $D0, $20, $D9, $DA, $A5, $71, $C9, $19, $F0, $02, $E6, $71 ; CPU:$D9E4 PRG:19E4 A0 27 20 8E D0 20 D9 DA A5 71 C9 19 F0 02 E6 71 .byte $A9, $15, $85, $35, $A9, $01, $8D, $15, $03, $8D, $00, $03, $8D, $40, $03, $A9 ; CPU:$D9F4 PRG:19F4 A9 15 85 35 A9 01 8D 15 03 8D 00 03 8D 40 03 A9 .byte $00, $85, $93, $A9, $0A, $8D, $01, $03, $4C, $B2, $D2, $A2, $00, $B5, $A4, $38 ; CPU:$DA04 PRG:1A04 00 85 93 A9 0A 8D 01 03 4C B2 D2 A2 00 B5 A4 38 .byte $F5, $94, $F0, $1C, $B0, $08, $A5, $94, $85, $A4, $A5, $95, $85, $A5, $20, $DF ; CPU:$DA14 PRG:1A14 F5 94 F0 1C B0 08 A5 94 85 A4 A5 95 85 A5 20 DF .byte $E7 ; CPU:$DA24 PRG:1A24 E7 ; ----------------------------------------------------------------------------- ; Routine: TitleScreenSetMode ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- TitleScreenSetMode: lda #$01 ; CPU:$DA25 PRG:1A25 A9 01 sta Zp24 ; CPU:$DA27 PRG:1A27 85 24 lda #$00 ; CPU:$DA29 PRG:1A29 A9 00 sta Zp26 ; CPU:$DA2B PRG:1A2B 85 26 lda Zp08 ; CPU:$DA2D PRG:1A2D A5 08 and #$FE ; CPU:$DA2F PRG:1A2F 29 FE sta Zp08 ; CPU:$DA31 PRG:1A31 85 08 rts ; CPU:$DA33 PRG:1A33 60 ; ---- data $DA34-$DAA6 (115 bytes) ---- .byte $E0, $01, $F0, $EA, $E8, $D0, $D6, $A9, $45, $8D, $00, $05, $E0, $00, $D0, $31 ; CPU:$DA34 PRG:1A34 E0 01 F0 EA E8 D0 D6 A9 45 8D 00 05 E0 00 D0 31 .byte $AD, $09, $03, $C9, $01, $D0, $5B, $A2, $00, $A0, $01, $BD, $47, $F7, $C9, $FF ; CPU:$DA44 PRG:1A44 AD 09 03 C9 01 D0 5B A2 00 A0 01 BD 47 F7 C9 FF .byte $F0, $07, $99, $00, $05, $E8, $C8, $D0, $F2, $A2, $1B, $A0, $22, $20, $A7, $DA ; CPU:$DA54 PRG:1A54 F0 07 99 00 05 E8 C8 D0 F2 A2 1B A0 22 20 A7 DA .byte $A9, $A5, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A2, $E7, $A0, $23, $4C, $A7 ; CPU:$DA64 PRG:1A64 A9 A5 8D 01 05 A9 11 8D 00 05 A2 E7 A0 23 4C A7 .byte $DA, $AD, $29, $03, $C9, $01, $D0, $2A, $A2, $00, $A0, $01, $BD, $5C, $F7, $C9 ; CPU:$DA74 PRG:1A74 DA AD 29 03 C9 01 D0 2A A2 00 A0 01 BD 5C F7 C9 .byte $FF, $F0, $07, $99, $00, $05, $E8, $C8, $D0, $F2, $A2, $00, $A0, $22, $20, $A7 ; CPU:$DA84 PRG:1A84 FF F0 07 99 00 05 E8 C8 D0 F2 A2 00 A0 22 20 A7 .byte $DA, $A9, $A5, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A2, $E0, $A0, $23, $20 ; CPU:$DA94 PRG:1A94 DA A9 A5 8D 01 05 A9 11 8D 00 05 A2 E0 A0 23 20 .byte $A7, $DA, $60 ; CPU:$DAA4 PRG:1AA4 A7 DA 60 ; ----------------------------------------------------------------------------- ; Routine: CheckCollisions ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- CheckCollisions: lda Zp08 ; CPU:$DAA7 PRG:1AA7 A5 08 eor Zp8A ; CPU:$DAA9 PRG:1AA9 45 8A and #$01 ; CPU:$DAAB PRG:1AAB 29 01 bne SpriteDMACheckZp96 ; CPU:$DAAD PRG:1AAD D0 04 iny ; CPU:$DAAF PRG:1AAF C8 iny ; CPU:$DAB0 PRG:1AB0 C8 iny ; CPU:$DAB1 PRG:1AB1 C8 iny ; CPU:$DAB2 PRG:1AB2 C8 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMACheckZp96 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMACheckZp96: jsr $D08E ; CPU:$DAB3 PRG:1AB3 20 8E D0 rts ; CPU:$DAB6 PRG:1AB6 60 ; ---- data $DAB7-$DB47 (145 bytes) ---- .byte $A9, $98, $A2, $00, $A0, $08, $84, $00, $9D, $00, $02, $E8, $E8, $E8, $A8, $A9 ; CPU:$DAB7 PRG:1AB7 A9 98 A2 00 A0 08 84 00 9D 00 02 E8 E8 E8 A8 A9 .byte $00, $9D, $00, $02, $98, $E8, $C6, $00, $D0, $EE, $18, $69, $08, $E0, $60, $D0 ; CPU:$DAC7 PRG:1AC7 00 9D 00 02 98 E8 C6 00 D0 EE 18 69 08 E0 60 D0 .byte $E3, $60, $A5, $A0, $F0, $FB, $A9, $32, $A2, $14, $9D, $00, $05, $CA, $D0, $FA ; CPU:$DAD7 PRG:1AD7 E3 60 A5 A0 F0 FB A9 32 A2 14 9D 00 05 CA D0 FA .byte $A9, $4C, $8D, $01, $05, $A9, $4E, $8D, $06, $05, $A9, $45, $8D, $00, $05, $A2 ; CPU:$DAE7 PRG:1AE7 A9 4C 8D 01 05 A9 4E 8D 06 05 A9 45 8D 00 05 A2 .byte $1B, $A0, $22, $A5, $85, $29, $01, $F0, $02, $A0, $26, $4C, $8E, $D0, $A5, $39 ; CPU:$DAF7 PRG:1AF7 1B A0 22 A5 85 29 01 F0 02 A0 26 4C 8E D0 A5 39 .byte $F0, $04, $C6, $39, $A5, $39, $8D, $01, $05, $A9, $11, $8D, $00, $05, $A0, $23 ; CPU:$DB07 PRG:1B07 F0 04 C6 39 A5 39 8D 01 05 A9 11 8D 00 05 A0 23 .byte $A5, $1F, $D0, $18, $A2, $3A, $A5, $89, $D0, $1A, $E6, $95, $A5, $95, $C9, $0A ; CPU:$DB17 PRG:1B17 A5 1F D0 18 A2 3A A5 89 D0 1A E6 95 A5 95 C9 0A .byte $D0, $06, $E6, $94, $A9, $00, $85, $95, $A2, $1A, $D0, $08, $A2, $47, $A5, $89 ; CPU:$DB27 PRG:1B27 D0 06 E6 94 A9 00 85 95 A2 1A D0 08 A2 47 A5 89 .byte $D0, $02, $A2, $5B, $86, $0C, $20, $8E, $D0, $A6, $0C, $A0, $27, $20, $8E, $D0 ; CPU:$DB37 PRG:1B37 D0 02 A2 5B 86 0C 20 8E D0 A6 0C A0 27 20 8E D0 .byte $60 ; CPU:$DB47 PRG:1B47 60 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMACheckZp96_DB48 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMACheckZp96_DB48: lda Zp96 ; CPU:$DB48 PRG:1B48 A5 96 beq SpriteDMABeqDB91 ; CPU:$DB4A PRG:1B4A F0 45 cmp #$02 ; CPU:$DB4C PRG:1B4C C9 02 beq SpriteDMACmp02 ; CPU:$DB4E PRG:1B4E F0 07 cmp #$01 ; CPU:$DB50 PRG:1B50 C9 01 beq SpriteDMALdy0A ; CPU:$DB52 PRG:1B52 F0 3E dec Zp96 ; CPU:$DB54 PRG:1B54 C6 96 rts ; CPU:$DB56 PRG:1B56 60 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMACmp02 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMACmp02: dec Zp96 ; CPU:$DB57 PRG:1B57 C6 96 lda #$80 ; CPU:$DB59 PRG:1B59 A9 80 sta Zp97 ; CPU:$DB5B PRG:1B5B 85 97 lda Zp94 ; CPU:$DB5D PRG:1B5D A5 94 sta $0501 ; CPU:$DB5F PRG:1B5F 8D 01 05 lda Zp95 ; CPU:$DB62 PRG:1B62 A5 95 sta $0502 ; CPU:$DB64 PRG:1B64 8D 02 05 lda #$12 ; CPU:$DB67 PRG:1B67 A9 12 sta $0500 ; CPU:$DB69 PRG:1B69 8D 00 05 ldx #$DC ; CPU:$DB6C PRG:1B6C A2 DC ldy #$22 ; CPU:$DB6E PRG:1B6E A0 22 jsr $D08E ; CPU:$DB70 PRG:1B70 20 8E D0 ldx #$DC ; CPU:$DB73 PRG:1B73 A2 DC ldy #$26 ; CPU:$DB75 PRG:1B75 A0 26 jsr $D08E ; CPU:$DB77 PRG:1B77 20 8E D0 jsr $DBA6 ; CPU:$DB7A PRG:1B7A 20 A6 DB ; ----------------------------------------------------------------------------- ; Routine: SpriteDMALoopEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMALoopEntry: lda #$1A ; CPU:$DB7D PRG:1B7D A9 1A sta $0500 ; CPU:$DB7F PRG:1B7F 8D 00 05 ldx #$6B ; CPU:$DB82 PRG:1B82 A2 6B ldy #$22 ; CPU:$DB84 PRG:1B84 A0 22 lda Zp85 ; CPU:$DB86 PRG:1B86 A5 85 and #$01 ; CPU:$DB88 PRG:1B88 29 01 bne SpriteDMALdx0A ; CPU:$DB8A PRG:1B8A D0 02 ldy #$26 ; CPU:$DB8C PRG:1B8C A0 26 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMALdx0A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMALdx0A: jmp $D08E ; CPU:$DB8E PRG:1B8E 4C 8E D0 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMABeqDB91 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMABeqDB91: rts ; CPU:$DB91 PRG:1B91 60 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMALdy0A ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMALdy0A: dec Zp97 ; CPU:$DB92 PRG:1B92 C6 97 bne SpriteDMABeqDB91 ; CPU:$DB94 PRG:1B94 D0 FB lda #$00 ; CPU:$DB96 PRG:1B96 A9 00 sta Zp96 ; CPU:$DB98 PRG:1B98 85 96 lda #$32 ; CPU:$DB9A PRG:1B9A A9 32 ldx #$0A ; CPU:$DB9C PRG:1B9C A2 0A ; ----------------------------------------------------------------------------- ; Routine: SpriteDMALdaF940 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMALdaF940: sta $0500,x ; CPU:$DB9E PRG:1B9E 9D 00 05 dex ; CPU:$DBA1 PRG:1BA1 CA bne SpriteDMALdaF940 ; CPU:$DBA2 PRG:1BA2 D0 FA beq SpriteDMALoopEntry ; CPU:$DBA4 PRG:1BA4 F0 D7 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMALoop_DBA6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMALoop_DBA6: ldx #$0A ; CPU:$DBA6 PRG:1BA6 A2 0A ldy #$0A ; CPU:$DBA8 PRG:1BA8 A0 0A ; ----------------------------------------------------------------------------- ; Routine: SpriteDMADex ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMADex: lda $F940,y ; CPU:$DBAA PRG:1BAA B9 40 F9 sta $0500,x ; CPU:$DBAD PRG:1BAD 9D 00 05 dey ; CPU:$DBB0 PRG:1BB0 88 dex ; CPU:$DBB1 PRG:1BB1 CA bne SpriteDMADex ; CPU:$DBB2 PRG:1BB2 D0 F6 lda Zp94 ; CPU:$DBB4 PRG:1BB4 A5 94 sta $0508 ; CPU:$DBB6 PRG:1BB6 8D 08 05 lda Zp95 ; CPU:$DBB9 PRG:1BB9 A5 95 sta $0509 ; CPU:$DBBB PRG:1BBB 8D 09 05 rts ; CPU:$DBBE PRG:1BBE 60 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMACheckZp93 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMACheckZp93: lda Zp93 ; CPU:$DBBF PRG:1BBF A5 93 bne SpriteDMACallDD8C ; CPU:$DBC1 PRG:1BC1 D0 2C jsr $DD8C ; CPU:$DBC3 PRG:1BC3 20 8C DD lda Zp84 ; CPU:$DBC6 PRG:1BC6 A5 84 jsr $CDE0 ; CPU:$DBC8 PRG:1BC8 20 E0 CD ora $D5D0,y ; CPU:$DBCB PRG:1BCB 19 D0 D5 ; ---- data $DBCE-$DBDC (15 bytes) ---- .byte $DB, $FD, $DB, $A1, $DC, $F6, $DC, $A5, $80, $0A, $0A, $0A, $0A, $85, $00 ; CPU:$DBCE PRG:1BCE DB FD DB A1 DC F6 DC A5 80 0A 0A 0A 0A 85 00 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMACallCDE0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMACallCDE0: lda Zp81 ; CPU:$DBDD PRG:1BDD A5 81 and #$0F ; CPU:$DBDF PRG:1BDF 29 0F ora Zp00 ; CPU:$DBE1 PRG:1BE1 05 00 cmp #$20 ; CPU:$DBE3 PRG:1BE3 C9 20 beq SpriteDMARTS ; CPU:$DBE5 PRG:1BE5 F0 09 cmp #$50 ; CPU:$DBE7 PRG:1BE7 C9 50 beq SpriteDMARTS ; CPU:$DBE9 PRG:1BE9 F0 05 cmp #$70 ; CPU:$DBEB PRG:1BEB C9 70 beq SpriteDMARTS ; CPU:$DBED PRG:1BED F0 01 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMACallDD8C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMACallDD8C: rts ; CPU:$DBEF PRG:1BEF 60 ; ----------------------------------------------------------------------------- ; Routine: SpriteDMARTS ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- SpriteDMARTS: lda $05EC ; CPU:$DBF0 PRG:1BF0 AD EC 05 and #$7F ; CPU:$DBF3 PRG:1BF3 29 7F bne SpriteDMACallDD8C ; CPU:$DBF5 PRG:1BF5 D0 F8 jsr $E80C ; CPU:$DBF7 PRG:1BF7 20 0C E8 inc Zp84 ; CPU:$DBFA PRG:1BFA E6 84 rts ; CPU:$DBFC PRG:1BFC 60 ; ---- data $DBFD-$DCF5 (249 bytes) ---- .byte $A9, $AB, $85, $00, $A2, $00, $BD, $07, $02, $C9, $FF, $F0, $0A, $E8, $E8, $E8 ; CPU:$DBFD PRG:1BFD A9 AB 85 00 A2 00 BD 07 02 C9 FF F0 0A E8 E8 E8 .byte $E8, $E0, $3C, $D0, $F1, $F0, $6A, $BD, $04, $02, $18, $65, $00, $9D, $04, $02 ; CPU:$DC0D PRG:1C0D E8 E0 3C D0 F1 F0 6A BD 04 02 18 65 00 9D 04 02 .byte $A5, $00, $38, $E9, $08, $85, $00, $E0, $38, $D0, $E2, $AD, $01, $03, $C9, $0B ; CPU:$DC1D PRG:1C1D A5 00 38 E9 08 85 00 E0 38 D0 E2 AD 01 03 C9 0B .byte $D0, $08, $20, $D0, $DC, $A9, $01, $85, $84, $60, $E6, $84, $A5, $82, $F0, $41 ; CPU:$DC2D PRG:1C2D D0 08 20 D0 DC A9 01 85 84 60 E6 84 A5 82 F0 41 .byte $A2, $0E, $A0, $00, $AD, $03, $03, $38, $E9, $7F, $90, $15, $85, $00, $A9, $7F ; CPU:$DC3D PRG:1C3D A2 0E A0 00 AD 03 03 38 E9 7F 90 15 85 00 A9 7F .byte $38, $ED, $23, $03, $90, $07, $38, $E5, $00, $F0, $2A, $B0, $04, $A2, $00, $A0 ; CPU:$DC4D PRG:1C4D 38 ED 23 03 90 07 38 E5 00 F0 2A B0 04 A2 00 A0 .byte $0E, $8E, $21, $03, $8C, $01, $03, $A9, $15, $8D, $05, $03, $8D, $25, $03, $A9 ; CPU:$DC5D PRG:1C5D 0E 8E 21 03 8C 01 03 A9 15 8D 05 03 8D 25 03 A9 .byte $7B, $8D, $02, $03, $8D, $22, $03, $A9, $00, $8D, $04, $03, $A9, $08, $8D, $24 ; CPU:$DC6D PRG:1C6D 7B 8D 02 03 8D 22 03 A9 00 8D 04 03 A9 08 8D 24 .byte $03, $20, $7D, $DD, $60, $38, $A5, $C5, $E5, $C9, $F0, $04, $B0, $D3, $90, $CD ; CPU:$DC7D PRG:1C7D 03 20 7D DD 60 38 A5 C5 E5 C9 F0 04 B0 D3 90 CD .byte $A5, $C6, $38, $E5, $CA, $F0, $04, $B0, $C8, $90, $C2, $AD, $EC, $05, $29, $01 ; CPU:$DC8D PRG:1C8D A5 C6 38 E5 CA F0 04 B0 C8 90 C2 AD EC 05 29 01 .byte $F0, $BF, $D0, $B9, $A2, $00, $BD, $07, $02, $C9, $00, $F0, $14, $E8, $E8, $E8 ; CPU:$DC9D PRG:1C9D F0 BF D0 B9 A2 00 BD 07 02 C9 00 F0 14 E8 E8 E8 .byte $E8, $E0, $3C, $D0, $F1, $AD, $07, $02, $C9, $47, $D0, $C5, $20, $D2, $E7, $D0 ; CPU:$DCAD PRG:1CAD E8 E0 3C D0 F1 AD 07 02 C9 47 D0 C5 20 D2 E7 D0 .byte $C0, $A9, $F4, $9D, $04, $02, $E0, $38, $D0, $E3, $20, $7D, $DD, $A9, $01, $85 ; CPU:$DCBD PRG:1CBD C0 A9 F4 9D 04 02 E0 38 D0 E3 20 7D DD A9 01 85 .byte $84, $D0, $AE, $A0, $00, $A2, $00, $B9, $FA, $F6, $C9, $2F, $F0, $07, $9D, $04 ; CPU:$DCCD PRG:1CCD 84 D0 AE A0 00 A2 00 B9 FA F6 C9 2F F0 07 9D 04 .byte $02, $E8, $C8, $D0, $F2, $60, $A0, $00, $A2, $00, $B9, $F6, $F6, $C9, $2F, $F0 ; CPU:$DCDD PRG:1CDD 02 E8 C8 D0 F2 60 A0 00 A2 00 B9 F6 F6 C9 2F F0 .byte $07, $9D, $00, $02, $E8, $C8, $D0, $F2, $60 ; CPU:$DCED PRG:1CED 07 9D 00 02 E8 C8 D0 F2 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateTimersEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateTimersEntry: jsr $DD00 ; CPU:$DCF6 PRG:1CF6 20 00 DD lda Zp90 ; CPU:$DCF9 PRG:1CF9 A5 90 bne UpdateTimersBeqDD33 ; CPU:$DCFB PRG:1CFB D0 02 sta Zp84 ; CPU:$DCFD PRG:1CFD 85 84 ; ----------------------------------------------------------------------------- ; Routine: UpdateTimersBeqDD33 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateTimersBeqDD33: rts ; CPU:$DCFF PRG:1CFF 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateTimersCmp02 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateTimersCmp02: lda Zp90 ; CPU:$DD00 PRG:1D00 A5 90 beq UpdateTimersBeqDD33Alt ; CPU:$DD02 PRG:1D02 F0 2F cmp #$02 ; CPU:$DD04 PRG:1D04 C9 02 beq UpdateTimersCmp02Alt ; CPU:$DD06 PRG:1D06 F0 33 dec $0240 ; CPU:$DD08 PRG:1D08 CE 40 02 dec $0244 ; CPU:$DD0B PRG:1D0B CE 44 02 dec $0248 ; CPU:$DD0E PRG:1D0E CE 48 02 dec $024C ; CPU:$DD11 PRG:1D11 CE 4C 02 dec $0243 ; CPU:$DD14 PRG:1D14 CE 43 02 dec $0247 ; CPU:$DD17 PRG:1D17 CE 47 02 dec $024B ; CPU:$DD1A PRG:1D1A CE 4B 02 dec $024F ; CPU:$DD1D PRG:1D1D CE 4F 02 dec $0243 ; CPU:$DD20 PRG:1D20 CE 43 02 dec $0247 ; CPU:$DD23 PRG:1D23 CE 47 02 dec $024B ; CPU:$DD26 PRG:1D26 CE 4B 02 dec $024F ; CPU:$DD29 PRG:1D29 CE 4F 02 lda $0240 ; CPU:$DD2C PRG:1D2C AD 40 02 cmp #$8F ; CPU:$DD2F PRG:1D2F C9 8F beq UpdateTimersBeqDD34 ; CPU:$DD31 PRG:1D31 F0 01 ; ----------------------------------------------------------------------------- ; Routine: UpdateTimersBeqDD33Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateTimersBeqDD33Alt: rts ; CPU:$DD33 PRG:1D33 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateTimersBeqDD34 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateTimersBeqDD34: lda #$06 ; CPU:$DD34 PRG:1D34 A9 06 sta Zp2E ; CPU:$DD36 PRG:1D36 85 2E inc Zp90 ; CPU:$DD38 PRG:1D38 E6 90 rts ; CPU:$DD3A PRG:1D3A 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateTimersCmp02Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateTimersCmp02Alt: lda Zp2E ; CPU:$DD3B PRG:1D3B A5 2E bne UpdateTimersBeqDD33Alt ; CPU:$DD3D PRG:1D3D D0 F4 inc $0240 ; CPU:$DD3F PRG:1D3F EE 40 02 inc $0244 ; CPU:$DD42 PRG:1D42 EE 44 02 inc $0248 ; CPU:$DD45 PRG:1D45 EE 48 02 inc $024C ; CPU:$DD48 PRG:1D48 EE 4C 02 inc $0243 ; CPU:$DD4B PRG:1D4B EE 43 02 inc $0247 ; CPU:$DD4E PRG:1D4E EE 47 02 inc $024B ; CPU:$DD51 PRG:1D51 EE 4B 02 inc $024F ; CPU:$DD54 PRG:1D54 EE 4F 02 inc $0243 ; CPU:$DD57 PRG:1D57 EE 43 02 inc $0247 ; CPU:$DD5A PRG:1D5A EE 47 02 inc $024B ; CPU:$DD5D PRG:1D5D EE 4B 02 inc $024F ; CPU:$DD60 PRG:1D60 EE 4F 02 lda $0240 ; CPU:$DD63 PRG:1D63 AD 40 02 cmp #$97 ; CPU:$DD66 PRG:1D66 C9 97 bne UpdateTimersBeqDD33Alt ; CPU:$DD68 PRG:1D68 D0 C9 lda #$F4 ; CPU:$DD6A PRG:1D6A A9 F4 sta $0240 ; CPU:$DD6C PRG:1D6C 8D 40 02 sta $0244 ; CPU:$DD6F PRG:1D6F 8D 44 02 sta $0248 ; CPU:$DD72 PRG:1D72 8D 48 02 sta $024C ; CPU:$DD75 PRG:1D75 8D 4C 02 lda #$00 ; CPU:$DD78 PRG:1D78 A9 00 sta Zp90 ; CPU:$DD7A PRG:1D7A 85 90 rts ; CPU:$DD7C PRG:1D7C 60 ; ---- data $DD7D-$DD8B (15 bytes) ---- .byte $A0, $13, $A2, $00, $DE, $07, $02, $E8, $E8, $E8, $E8, $88, $D0, $F6, $60 ; CPU:$DD7D PRG:1D7D A0 13 A2 00 DE 07 02 E8 E8 E8 E8 88 D0 F6 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateTimersAnd1F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateTimersAnd1F: lda Zp2A ; CPU:$DD8C PRG:1D8C A5 2A and #$1F ; CPU:$DD8E PRG:1D8E 29 1F bne UpdateTimersCallCDE0 ; CPU:$DD90 PRG:1D90 D0 19 ldx #$00 ; CPU:$DD92 PRG:1D92 A2 00 ldy #$02 ; CPU:$DD94 PRG:1D94 A0 02 ; ----------------------------------------------------------------------------- ; Routine: UpdateTimersBneDDAB ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateTimersBneDDAB: lda $021D,x ; CPU:$DD96 PRG:1D96 BD 1D 02 eor #$03 ; CPU:$DD99 PRG:1D99 49 03 sta $021D,x ; CPU:$DD9B PRG:1D9B 9D 1D 02 lda $021E,x ; CPU:$DD9E PRG:1D9E BD 1E 02 eor #$40 ; CPU:$DDA1 PRG:1DA1 49 40 sta $021E,x ; CPU:$DDA3 PRG:1DA3 9D 1E 02 ldx #$0C ; CPU:$DDA6 PRG:1DA6 A2 0C dey ; CPU:$DDA8 PRG:1DA8 88 bne UpdateTimersBneDDAB ; CPU:$DDA9 PRG:1DA9 D0 EB ; ----------------------------------------------------------------------------- ; Routine: UpdateTimersCallCDE0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateTimersCallCDE0: rts ; CPU:$DDAB PRG:1DAB 60 ; ---- data $DDAC-$DE02 (87 bytes) ---- .byte $A2, $00, $A9, $00, $9D, $60, $02, $9D, $62, $02, $9D, $63, $02, $A9, $E8, $9D ; CPU:$DDAC PRG:1DAC A2 00 A9 00 9D 60 02 9D 62 02 9D 63 02 A9 E8 9D .byte $61, $02, $E8, $E8, $E8, $E8, $E0, $A0, $D0, $E8, $A9, $32, $8D, $60, $02, $A9 ; CPU:$DDBC PRG:1DBC 61 02 E8 E8 E8 E8 E0 A0 D0 E8 A9 32 8D 60 02 A9 .byte $A0, $8D, $63, $02, $60, $A5, $2A, $29, $7F, $D0, $1F, $A2, $00, $AC, $EC, $05 ; CPU:$DDCC PRG:1DCC A0 8D 63 02 60 A5 2A 29 7F D0 1F A2 00 AC EC 05 .byte $98, $69, $75, $A8, $29, $C3, $9D, $62, $02, $A9, $E8, $90, $02, $A9, $E9, $9D ; CPU:$DDDC PRG:1DDC 98 69 75 A8 29 C3 9D 62 02 A9 E8 90 02 A9 E9 9D .byte $61, $02, $E8, $E8, $E8, $E8, $E0, $A0, $D0, $E6, $60, $A2, $1B, $BD, $CC, $F8 ; CPU:$DDEC PRG:1DEC 61 02 E8 E8 E8 E8 E0 A0 D0 E6 60 A2 1B BD CC F8 .byte $9D, $40, $02, $CA, $10, $F7, $60 ; CPU:$DDFC PRG:1DFC 9D 40 02 CA 10 F7 60 ; ----------------------------------------------------------------------------- ; Routine: ProcessInputsExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessInputsExit: lda Zp1F ; CPU:$DE03 PRG:1E03 A5 1F bne ProcessInputsCheckZp1F ; CPU:$DE05 PRG:1E05 D0 2E ldx Zp89 ; CPU:$DE07 PRG:1E07 A6 89 cpx #$00 ; CPU:$DE09 PRG:1E09 E0 00 bne ProcessInputsCheckZp1F ; CPU:$DE0B PRG:1E0B D0 28 lda #$00 ; CPU:$DE0D PRG:1E0D A9 00 sta Zp19 ; CPU:$DE0F PRG:1E0F 85 19 lda Zp82 ; CPU:$DE11 PRG:1E11 A5 82 beq ProcessInputsEntry ; CPU:$DE13 PRG:1E13 F0 07 lda $0204 ; CPU:$DE15 PRG:1E15 AD 04 02 cmp #$9F ; CPU:$DE18 PRG:1E18 C9 9F beq ProcessInputsCheckZp1F ; CPU:$DE1A PRG:1E1A F0 19 ; ----------------------------------------------------------------------------- ; Routine: ProcessInputsEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessInputsEntry: lda Zp40 ; CPU:$DE1C PRG:1E1C A5 40 jsr $CDE0 ; CPU:$DE1E PRG:1E1E 20 E0 CD ora $2CD0,y ; CPU:$DE21 PRG:1E21 19 D0 2C ; ---- data $DE24-$DE34 (17 bytes) ---- .byte $DF, $36, $DE, $C9, $DE, $D8, $DE, $F0, $DE, $F4, $DE, $19, $DF, $A9, $06, $85 ; CPU:$DE24 PRG:1E24 DF 36 DE C9 DE D8 DE F0 DE F4 DE 19 DF A9 06 85 .byte $40 ; CPU:$DE34 PRG:1E34 40 ; ----------------------------------------------------------------------------- ; Routine: ProcessInputsCheckZp1F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- ProcessInputsCheckZp1F: rts ; CPU:$DE35 PRG:1E35 60 ; ---- data $DE36-$DEC8 (147 bytes) ---- .byte $A9, $01, $85, $40, $A5, $31, $C9, $01, $D0, $5A, $AD, $58, $02, $C9, $F4, $F0 ; CPU:$DE36 PRG:1E36 A9 01 85 40 A5 31 C9 01 D0 5A AD 58 02 C9 F4 F0 .byte $1C, $C9, $5B, $90, $18, $AD, $5B, $02, $38, $E9, $04, $85, $00, $38, $A5, $33 ; CPU:$DE46 PRG:1E46 1C C9 5B 90 18 AD 5B 02 38 E9 04 85 00 38 A5 33 .byte $E5, $00, $90, $09, $C9, $0E, $B0, $05, $A9, $07, $85, $40, $60, $A5, $88, $F0 ; CPU:$DE56 PRG:1E56 E5 00 90 09 C9 0E B0 05 A9 07 85 40 60 A5 88 F0 .byte $CA, $AD, $21, $03, $C9, $0D, $F0, $5F, $C9, $08, $B0, $C3, $AE, $EC, $05, $A4 ; CPU:$DE66 PRG:1E66 CA AD 21 03 C9 0D F0 5F C9 08 B0 C3 AE EC 05 A4 .byte $8F, $C0, $03, $B0, $00, $C9, $03, $D0, $37, $AD, $4C, $03, $F0, $07, $8A, $A0 ; CPU:$DE76 PRG:1E76 8F C0 03 B0 00 C9 03 D0 37 AD 4C 03 F0 07 8A A0 .byte $80, $29, $07, $F0, $0C, $20, $96, $DF, $A0, $01, $29, $07, $F0, $03, $4C, $6D ; CPU:$DE86 PRG:1E86 80 29 07 F0 0C 20 96 DF A0 01 29 07 F0 03 4C 6D .byte $DF, $84, $19, $60, $C9, $06, $F0, $05, $C9, $02, $F0, $08, $60, $8A, $A0, $01 ; CPU:$DE96 PRG:1E96 DF 84 19 60 C9 06 F0 05 C9 02 F0 08 60 8A A0 01 .byte $29, $0F, $F0, $ED, $20, $96, $DF, $A0, $80, $29, $3F, $F0, $E4, $4C, $6D, $DF ; CPU:$DEA6 PRG:1EA6 29 0F F0 ED 20 96 DF A0 80 29 3F F0 E4 4C 6D DF .byte $8A, $A0, $05, $29, $01, $F0, $09, $20, $96, $DF, $29, $01, $D0, $D0, $A0, $03 ; CPU:$DEB6 PRG:1EB6 8A A0 05 29 01 F0 09 20 96 DF 29 01 D0 D0 A0 03 .byte $84, $40, $60 ; CPU:$DEC6 PRG:1EC6 84 40 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateRoundState ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateRoundState: lda #$01 ; CPU:$DEC9 PRG:1EC9 A9 01 sta Zp19 ; CPU:$DECB PRG:1ECB 85 19 lda ZpAC ; CPU:$DECD PRG:1ECD A5 AC sta Zp8D ; CPU:$DECF PRG:1ECF 85 8D ldx #$04 ; CPU:$DED1 PRG:1ED1 A2 04 stx Zp40 ; CPU:$DED3 PRG:1ED3 86 40 jmp $DF7A ; CPU:$DED5 PRG:1ED5 4C 7A DF ; ---- data $DED8-$DF4B (116 bytes) ---- .byte $A5, $8D, $F0, $03, $C6, $8D, $60, $A0, $80, $AD, $EC, $05, $29, $01, $D0, $02 ; CPU:$DED8 PRG:1ED8 A5 8D F0 03 C6 8D 60 A0 80 AD EC 05 29 01 D0 02 .byte $A0, $40, $A9, $01, $85, $40, $D0, $A7, $A5, $AC, $D0, $DB, $A5, $88, $D0, $1D ; CPU:$DEE8 PRG:1EE8 A0 40 A9 01 85 40 D0 A7 A5 AC D0 DB A5 88 D0 1D .byte $AD, $58, $02, $C9, $F4, $F0, $12, $C9, $5B, $90, $0E, $A5, $33, $38, $ED, $5B ; CPU:$DEF8 PRG:1EF8 AD 58 02 C9 F4 F0 12 C9 5B 90 0E A5 33 38 ED 5B .byte $02, $90, $06, $C9, $15, $B0, $02, $90, $04, $A0, $02, $D0, $82, $A0, $00, $F0 ; CPU:$DF08 PRG:1F08 02 90 06 C9 15 B0 02 90 04 A0 02 D0 82 A0 00 F0 .byte $D1, $A5, $3A, $D0, $0B, $A5, $35, $C9, $01, $F0, $F2, $A0, $01, $4C, $97, $DE ; CPU:$DF18 PRG:1F18 D1 A5 3A D0 0B A5 35 C9 01 F0 F2 A0 01 4C 97 DE .byte $A0, $01, $D0, $BE, $A6, $71, $E0, $02, $B0, $10, $A5, $33, $C9, $67, $B0, $0A ; CPU:$DF28 PRG:1F28 A0 01 D0 BE A6 71 E0 02 B0 10 A5 33 C9 67 B0 0A .byte $A9, $00, $E0, $00, $F0, $02, $A9, $01, $85, $8F, $A5, $8E, $F0, $16, $A6, $8F ; CPU:$DF38 PRG:1F38 A9 00 E0 00 F0 02 A9 01 85 8F A5 8E F0 16 A6 8F .byte $E0, $02, $90, $0A ; CPU:$DF48 PRG:1F48 E0 02 90 0A ; ----------------------------------------------------------------------------- ; Routine: UpdateRoundStateAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateRoundStateAlt: and #$07 ; CPU:$DF4C PRG:1F4C 29 07 bne HandleKOEntry ; CPU:$DF4E PRG:1F4E D0 03 jsr $DF9E ; CPU:$DF50 PRG:1F50 20 9E DF ; ----------------------------------------------------------------------------- ; Routine: HandleKOEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKOEntry: dec Zp8E ; CPU:$DF53 PRG:1F53 C6 8E rts ; CPU:$DF55 PRG:1F55 60 ; ---- data $DF56-$DF73 (30 bytes) ---- .byte $29, $0F, $D0, $F9, $F0, $F4, $A5, $8F, $0A, $AA, $BD, $EA, $DF, $85, $8E, $BD ; CPU:$DF56 PRG:1F56 29 0F D0 F9 F0 F4 A5 8F 0A AA BD EA DF 85 8E BD .byte $EB, $DF, $85, $AC, $E6, $40, $60, $A9, $04, $AC, $34, $03, $D0, $01 ; CPU:$DF66 PRG:1F66 EB DF 85 AC E6 40 60 A9 04 AC 34 03 D0 01 ; ----------------------------------------------------------------------------- ; Routine: HandleKOLda05EC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKOLda05EC: asl a ; CPU:$DF74 PRG:1F74 0A ; ----------------------------------------------------------------------------- ; Routine: HandleKOAnd07 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKOAnd07: ora Zp19 ; CPU:$DF75 PRG:1F75 05 19 sta Zp19 ; CPU:$DF77 PRG:1F77 85 19 rts ; CPU:$DF79 PRG:1F79 60 ; ----------------------------------------------------------------------------- ; Routine: HandleKOLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKOLoop: lda $05EC ; CPU:$DF7A PRG:1F7A AD EC 05 sta Zp00 ; CPU:$DF7D PRG:1F7D 85 00 and #$07 ; CPU:$DF7F PRG:1F7F 29 07 bne HandleKOCmp07 ; CPU:$DF81 PRG:1F81 D0 0A lda #$04 ; CPU:$DF83 PRG:1F83 A9 04 lsr Zp00 ; CPU:$DF85 PRG:1F85 46 00 bcc HandleKOAnd07 ; CPU:$DF87 PRG:1F87 90 EC lda #$08 ; CPU:$DF89 PRG:1F89 A9 08 bne HandleKOAnd07 ; CPU:$DF8B PRG:1F8B D0 E8 ; ----------------------------------------------------------------------------- ; Routine: HandleKOCmp07 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKOCmp07: lda #$04 ; CPU:$DF8D PRG:1F8D A9 04 ldy $0334 ; CPU:$DF8F PRG:1F8F AC 34 03 beq HandleKOAnd07 ; CPU:$DF92 PRG:1F92 F0 E1 bne HandleKOLda05EC ; CPU:$DF94 PRG:1F94 D0 DE txa ; CPU:$DF96 PRG:1F96 8A adc Zp4D ; CPU:$DF97 PRG:1F97 65 4D sta $05EC ; CPU:$DF99 PRG:1F99 8D EC 05 tax ; CPU:$DF9C PRG:1F9C AA rts ; CPU:$DF9D PRG:1F9D 60 ; ----------------------------------------------------------------------------- ; Routine: HandleKOCheckZp88 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKOCheckZp88: lda Zp88 ; CPU:$DF9E PRG:1F9E A5 88 beq HandleKOLda0321 ; CPU:$DFA0 PRG:1FA0 F0 15 lda $0321 ; CPU:$DFA2 PRG:1FA2 AD 21 03 cmp #$08 ; CPU:$DFA5 PRG:1FA5 C9 08 beq HandleKOLda0321 ; CPU:$DFA7 PRG:1FA7 F0 0E ldx $05EC ; CPU:$DFA9 PRG:1FA9 AE EC 05 lda #$01 ; CPU:$DFAC PRG:1FAC A9 01 ; ----------------------------------------------------------------------------- ; Routine: HandleKOBeqDFB7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKOBeqDFB7: rol a ; CPU:$DFAE PRG:1FAE 2A dex ; CPU:$DFAF PRG:1FAF CA bne HandleKOBeqDFB7 ; CPU:$DFB0 PRG:1FB0 D0 FC and #$CE ; CPU:$DFB2 PRG:1FB2 29 CE sta Zp19 ; CPU:$DFB4 PRG:1FB4 85 19 rts ; CPU:$DFB6 PRG:1FB6 60 ; ----------------------------------------------------------------------------- ; Routine: HandleKOLda0321 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKOLda0321: lda #$06 ; CPU:$DFB7 PRG:1FB7 A9 06 sta Zp40 ; CPU:$DFB9 PRG:1FB9 85 40 rts ; CPU:$DFBB PRG:1FBB 60 ; ----------------------------------------------------------------------------- ; Routine: HandleKOCheckZp1F_DFBC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKOCheckZp1F_DFBC: lda Zp1F ; CPU:$DFBC PRG:1FBC A5 1F bne HandleKOCheckZp1F ; CPU:$DFBE PRG:1FBE D0 24 lda $05EC ; CPU:$DFC0 PRG:1FC0 AD EC 05 and #$01 ; CPU:$DFC3 PRG:1FC3 29 01 bne HandleKOCheckZp1F ; CPU:$DFC5 PRG:1FC5 D0 1D lda Zp71 ; CPU:$DFC7 PRG:1FC7 A5 71 asl a ; CPU:$DFC9 PRG:1FC9 0A tax ; CPU:$DFCA PRG:1FCA AA lda $E00C,x ; CPU:$DFCB PRG:1FCB BD 0C E0 sta Zp00 ; CPU:$DFCE PRG:1FCE 85 00 lda $E00D,x ; CPU:$DFD0 PRG:1FD0 BD 0D E0 sta Zp01 ; CPU:$DFD3 PRG:1FD3 85 01 ldx $05EC ; CPU:$DFD5 PRG:1FD5 AE EC 05 ldy Zp8F ; CPU:$DFD8 PRG:1FD8 A4 8F ; ----------------------------------------------------------------------------- ; Routine: HandleKODex ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKODex: iny ; CPU:$DFDA PRG:1FDA C8 cpy Zp01 ; CPU:$DFDB PRG:1FDB C4 01 bcs HandleKOBeqDFE4 ; CPU:$DFDD PRG:1FDD B0 06 ; ----------------------------------------------------------------------------- ; Routine: HandleKODexBne ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKODexBne: dex ; CPU:$DFDF PRG:1FDF CA bne HandleKODex ; CPU:$DFE0 PRG:1FE0 D0 F8 sty Zp8F ; CPU:$DFE2 PRG:1FE2 84 8F ; ----------------------------------------------------------------------------- ; Routine: HandleKOCheckZp1F ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKOCheckZp1F: rts ; CPU:$DFE4 PRG:1FE4 60 ; ----------------------------------------------------------------------------- ; Routine: HandleKOBeqDFE4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleKOBeqDFE4: ldy Zp00 ; CPU:$DFE5 PRG:1FE5 A4 00 jmp $DFDF ; CPU:$DFE7 PRG:1FE7 4C DF DF ; ---- data $DFEA-$E03F (86 bytes) ---- ; referenced by `lda $E00C,x` at $DFCB (operand $E00C falls inside this region) ; referenced by `lda $E00D,x` at $DFD0 (operand $E00D falls inside this region) .byte $FF, $20, $E0, $14, $FF, $14, $E0, $14, $C0, $0C, $A0, $0A, $80, $07, $60, $07 ; CPU:$DFEA PRG:1FEA FF 20 E0 14 FF 14 E0 14 C0 0C A0 0A 80 07 60 07 .byte $40, $07, $20, $07, $10, $08, $06, $06, $04, $04, $02, $04, $00, $04, $00, $03 ; CPU:$DFFA PRG:1FFA 40 07 20 07 10 08 06 06 04 04 02 04 00 04 00 03 .byte $00, $03, $00, $02, $00, $03, $01, $03, $02, $04, $02, $05, $03, $05, $03, $06 ; CPU:$E00A PRG:200A 00 03 00 02 00 03 01 03 02 04 02 05 03 05 03 06 .byte $04, $07, $04, $08, $05, $09, $05, $0A, $05, $0B, $06, $0B, $06, $0C, $07, $0C ; CPU:$E01A PRG:201A 04 07 04 08 05 09 05 0A 05 0B 06 0B 06 0C 07 0C .byte $07, $0D, $08, $0D, $08, $0E, $09, $0E, $09, $0F, $0A, $0F, $0B, $0F, $0C, $10 ; CPU:$E02A PRG:202A 07 0D 08 0D 08 0E 09 0E 09 0F 0A 0F 0B 0F 0C 10 .byte $0D, $10, $0E, $10, $0F, $10 ; CPU:$E03A PRG:203A 0D 10 0E 10 0F 10 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1CheckZpC0 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1CheckZpC0: lda ZpC0 ; CPU:$E040 PRG:2040 A5 C0 beq HandlePlayer1Entry ; CPU:$E042 PRG:2042 F0 31 ldx Zp89 ; CPU:$E044 PRG:2044 A6 89 cpx #$01 ; CPU:$E046 PRG:2046 E0 01 bne HandlePlayer1Entry ; CPU:$E048 PRG:2048 D0 2B lda #$00 ; CPU:$E04A PRG:204A A9 00 sta Zp18 ; CPU:$E04C PRG:204C 85 18 lda Zp88 ; CPU:$E04E PRG:204E A5 88 bne HandlePlayer1LdxZp89 ; CPU:$E050 PRG:2050 D0 04 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1BeqE075 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1BeqE075: lda #$01 ; CPU:$E052 PRG:2052 A9 01 bne HandlePlayer1CallE1FD ; CPU:$E054 PRG:2054 D0 1D ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1LdxZp89 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1LdxZp89: lda $0301 ; CPU:$E056 PRG:2056 AD 01 03 cmp #$08 ; CPU:$E059 PRG:2059 C9 08 beq HandlePlayer1BeqE075 ; CPU:$E05B PRG:205B F0 F5 lda Zp70 ; CPU:$E05D PRG:205D A5 70 beq HandlePlayer2Exit ; CPU:$E05F PRG:205F F0 03 dec Zp70 ; CPU:$E061 PRG:2061 C6 70 rts ; CPU:$E063 PRG:2063 60 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2Exit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2Exit: lda #$08 ; CPU:$E064 PRG:2064 A9 08 sta Zp70 ; CPU:$E066 PRG:2066 85 70 lda #$01 ; CPU:$E068 PRG:2068 A9 01 ldx $05EC ; CPU:$E06A PRG:206A AE EC 05 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1CallE1CD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1CallE1CD: rol a ; CPU:$E06D PRG:206D 2A dex ; CPU:$E06E PRG:206E CA bne HandlePlayer1CallE1CD ; CPU:$E06F PRG:206F D0 FC and #$CD ; CPU:$E071 PRG:2071 29 CD ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1CallE1FD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1CallE1FD: sta Zp18 ; CPU:$E073 PRG:2073 85 18 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1Entry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1Entry: rts ; CPU:$E075 PRG:2075 60 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1Alt: ldx Zp93 ; CPU:$E076 PRG:2076 A6 93 bne HandlePlayer1Entry ; CPU:$E078 PRG:2078 D0 FB lda Zp31 ; CPU:$E07A PRG:207A A5 31 jsr $CDE0 ; CPU:$E07C PRG:207C 20 E0 CD ora $8DD0,y ; CPU:$E07F PRG:207F 19 D0 8D cpx #$E9 ; CPU:$E082 PRG:2082 E0 E9 cpx #$FC ; CPU:$E084 PRG:2084 E0 FC cpx #$1D ; CPU:$E086 PRG:2086 E0 1D sbc (ZpC0,x) ; CPU:$E088 PRG:2088 E1 C0 sbc (ZpAB,x) ; CPU:$E08A PRG:208A E1 AB dec ZpA5,x ; CPU:$E08C PRG:208C D6 A5 rol a ; CPU:$E08E PRG:208E 2A bne HandlePlayer1Entry ; CPU:$E08F PRG:208F D0 E4 ldy $0301 ; CPU:$E091 PRG:2091 AC 01 03 cpy #$05 ; CPU:$E094 PRG:2094 C0 05 bcs HandlePlayer1Entry ; CPU:$E096 PRG:2096 B0 DD ldy $0321 ; CPU:$E098 PRG:2098 AC 21 03 cpy #$05 ; CPU:$E09B PRG:209B C0 05 bcs HandlePlayer2Entry ; CPU:$E09D PRG:209D B0 7D lda $05EC ; CPU:$E09F PRG:209F AD EC 05 and #$7F ; CPU:$E0A2 PRG:20A2 29 7F bne HandlePlayer1Entry ; CPU:$E0A4 PRG:20A4 D0 CF ldx Zp1F ; CPU:$E0A6 PRG:20A6 A6 1F beq HandlePlayer1CheckZp87 ; CPU:$E0A8 PRG:20A8 F0 0A lda $05EC ; CPU:$E0AA PRG:20AA AD EC 05 ldx $0303 ; CPU:$E0AD PRG:20AD AE 03 03 and #$08 ; CPU:$E0B0 PRG:20B0 29 08 bne HandlePlayer1BeqE235 ; CPU:$E0B2 PRG:20B2 D0 03 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1CheckZp87 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1CheckZp87: ldx $0323 ; CPU:$E0B4 PRG:20B4 AE 23 03 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1BeqE235 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1BeqE235: txa ; CPU:$E0B7 PRG:20B7 8A sec ; CPU:$E0B8 PRG:20B8 38 sbc #$0F ; CPU:$E0B9 PRG:20B9 E9 0F and #$F0 ; CPU:$E0BB PRG:20BB 29 F0 ora #$18 ; CPU:$E0BD PRG:20BD 09 18 cmp #$30 ; CPU:$E0BF PRG:20BF C9 30 bcc HandlePlayer2Entry ; CPU:$E0C1 PRG:20C1 90 59 cmp #$D0 ; CPU:$E0C3 PRG:20C3 C9 D0 bcs HandlePlayer2Entry ; CPU:$E0C5 PRG:20C5 B0 55 sta Zp33 ; CPU:$E0C7 PRG:20C7 85 33 lda #$00 ; CPU:$E0C9 PRG:20C9 A9 00 ldx Zp82 ; CPU:$E0CB PRG:20CB A6 82 bne HandlePlayer2CallE1FD ; CPU:$E0CD PRG:20CD D0 4B lda #$01 ; CPU:$E0CF PRG:20CF A9 01 ldx Zp84 ; CPU:$E0D1 PRG:20D1 A6 84 cpx #$01 ; CPU:$E0D3 PRG:20D3 E0 01 bne HandlePlayer2CallE1FD ; CPU:$E0D5 PRG:20D5 D0 43 ldx $0301 ; CPU:$E0D7 PRG:20D7 AE 01 03 cpx #$0D ; CPU:$E0DA PRG:20DA E0 0D beq HandlePlayer2CallE1FD ; CPU:$E0DC PRG:20DC F0 3C ldx $0321 ; CPU:$E0DE PRG:20DE AE 21 03 cpx #$0D ; CPU:$E0E1 PRG:20E1 E0 0D beq HandlePlayer2CallE1FD ; CPU:$E0E3 PRG:20E3 F0 35 lda #$02 ; CPU:$E0E5 PRG:20E5 A9 02 bne HandlePlayer2CallE1FD ; CPU:$E0E7 PRG:20E7 D0 31 dec Zp32 ; CPU:$E0E9 PRG:20E9 C6 32 lda Zp32 ; CPU:$E0EB PRG:20EB A5 32 cmp #$2B ; CPU:$E0ED PRG:20ED C9 2B bne HandlePlayer2Entry ; CPU:$E0EF PRG:20EF D0 2B lda #$12 ; CPU:$E0F1 PRG:20F1 A9 12 sta Zp35 ; CPU:$E0F3 PRG:20F3 85 35 jsr $E1CD ; CPU:$E0F5 PRG:20F5 20 CD E1 lda #$03 ; CPU:$E0F8 PRG:20F8 A9 03 bne HandlePlayer2CallE1FD ; CPU:$E0FA PRG:20FA D0 1E lda $05EC ; CPU:$E0FC PRG:20FC AD EC 05 clc ; CPU:$E0FF PRG:20FF 18 adc #$08 ; CPU:$E100 PRG:2100 69 08 bcc HandlePlayer2Entry ; CPU:$E102 PRG:2102 90 18 lda #$13 ; CPU:$E104 PRG:2104 A9 13 sta Zp35 ; CPU:$E106 PRG:2106 85 35 jsr $E1FD ; CPU:$E108 PRG:2108 20 FD E1 lda #$2F ; CPU:$E10B PRG:210B A9 2F sta $0258,x ; CPU:$E10D PRG:210D 9D 58 02 lda #$27 ; CPU:$E110 PRG:2110 A9 27 sta $025C,x ; CPU:$E112 PRG:2112 9D 5C 02 jsr $E7C6 ; CPU:$E115 PRG:2115 20 C6 E7 lda #$04 ; CPU:$E118 PRG:2118 A9 04 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2CallE1FD ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2CallE1FD: sta Zp31 ; CPU:$E11A PRG:211A 85 31 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2Entry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2Entry: rts ; CPU:$E11C PRG:211C 60 ; ---- data $E11D-$E1CC (176 bytes) ---- .byte $20, $FD, $E1, $FE, $58, $02, $FE, $5C, $02, $BD, $58, $02, $C9, $6D, $90, $EF ; CPU:$E11D PRG:211D 20 FD E1 FE 58 02 FE 5C 02 BD 58 02 C9 6D 90 EF .byte $C9, $79, $90, $0E, $C9, $8E, $D0, $E7, $20, $1E, $E2, $20, $CE, $E7, $A9, $05 ; CPU:$E12D PRG:212D C9 79 90 0E C9 8E D0 E7 20 1E E2 20 CE E7 A9 05 .byte $D0, $DB, $48, $86, $00, $A2, $01, $86, $01, $A9, $0A, $BC, $00, $03, $C0, $04 ; CPU:$E13D PRG:213D D0 DB 48 86 00 A2 01 86 01 A9 0A BC 00 03 C0 04 .byte $D0, $06, $18, $7D, $02, $03, $D0, $03, $BD, $02, $03, $A4, $00, $38, $E9, $04 ; CPU:$E14D PRG:214D D0 06 18 7D 02 03 D0 03 BD 02 03 A4 00 38 E9 04 .byte $38, $F9, $5B, $02, $B0, $04, $49, $FF, $69, $01, $C9, $06, $90, $0E, $68, $A4 ; CPU:$E15D PRG:215D 38 F9 5B 02 B0 04 49 FF 69 01 C9 06 90 0E 68 A4 .byte $01, $F0, $C1, $48, $C6, $01, $A9, $F1, $A2, $21, $D0, $CF, $68, $A9, $0D, $9D ; CPU:$E16D PRG:216D 01 F0 C1 48 C6 01 A9 F1 A2 21 D0 CF 68 A9 0D 9D .byte $00, $03, $A9, $0E, $9D, $12, $03, $A9, $7B, $9D, $01, $03, $8A, $48, $A9, $0F ; CPU:$E17D PRG:217D 00 03 A9 0E 9D 12 03 A9 7B 9D 01 03 8A 48 A9 0F .byte $E0, $01, $F0, $02, $A9, $00, $A2, $05, $20, $C9, $E2, $68, $AA, $A9, $00, $9D ; CPU:$E18D PRG:218D E0 01 F0 02 A9 00 A2 05 20 C9 E2 68 AA A9 00 9D .byte $11, $03, $9D, $10, $03, $9D, $0D, $03, $85, $88, $E6, $8B, $20, $CE, $E7, $20 ; CPU:$E19D PRG:219D 11 03 9D 10 03 9D 0D 03 85 88 E6 8B 20 CE E7 20 .byte $CA, $E7, $8A, $4A, $4A, $4A, $4A, $4A, $A8, $A9, $FF, $99, $2B, $00, $A6, $00 ; CPU:$E1AD PRG:21AD CA E7 8A 4A 4A 4A 4A 4A A8 A9 FF 99 2B 00 A6 00 .byte $4C, $3B, $E1, $E6, $32, $A5, $32, $C9, $3D, $D0, $34, $A9, $01, $4C, $3D, $E1 ; CPU:$E1BD PRG:21BD 4C 3B E1 E6 32 A5 32 C9 3D D0 34 A9 01 4C 3D E1 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2CallE1FDEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2CallE1FDEntry: jsr $E1FD ; CPU:$E1CD PRG:21CD 20 FD E1 lda #$1D ; CPU:$E1D0 PRG:21D0 A9 1D sta $0258,x ; CPU:$E1D2 PRG:21D2 9D 58 02 lda #$15 ; CPU:$E1D5 PRG:21D5 A9 15 sta $025C,x ; CPU:$E1D7 PRG:21D7 9D 5C 02 inx ; CPU:$E1DA PRG:21DA E8 lda #$6D ; CPU:$E1DB PRG:21DB A9 6D sta $0258,x ; CPU:$E1DD PRG:21DD 9D 58 02 lda #$6C ; CPU:$E1E0 PRG:21E0 A9 6C sta $025C,x ; CPU:$E1E2 PRG:21E2 9D 5C 02 inx ; CPU:$E1E5 PRG:21E5 E8 lda #$02 ; CPU:$E1E6 PRG:21E6 A9 02 sta $0258,x ; CPU:$E1E8 PRG:21E8 9D 58 02 lda #$03 ; CPU:$E1EB PRG:21EB A9 03 sta $025C,x ; CPU:$E1ED PRG:21ED 9D 5C 02 inx ; CPU:$E1F0 PRG:21F0 E8 lda Zp33 ; CPU:$E1F1 PRG:21F1 A5 33 clc ; CPU:$E1F3 PRG:21F3 18 adc #$04 ; CPU:$E1F4 PRG:21F4 69 04 sta $0258,x ; CPU:$E1F6 PRG:21F6 9D 58 02 sta $025C,x ; CPU:$E1F9 PRG:21F9 9D 5C 02 rts ; CPU:$E1FC PRG:21FC 60 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2Dex ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2Dex: ldx Zp89 ; CPU:$E1FD PRG:21FD A6 89 dex ; CPU:$E1FF PRG:21FF CA dex ; CPU:$E200 PRG:2200 CA txa ; CPU:$E201 PRG:2201 8A asl a ; CPU:$E202 PRG:2202 0A asl a ; CPU:$E203 PRG:2203 0A asl a ; CPU:$E204 PRG:2204 0A tax ; CPU:$E205 PRG:2205 AA rts ; CPU:$E206 PRG:2206 60 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1LogicLdxZp36 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1LogicLdxZp36: ldx Zp36 ; CPU:$E207 PRG:2207 A6 36 inx ; CPU:$E209 PRG:2209 E8 inx ; CPU:$E20A PRG:220A E8 ldy #$03 ; CPU:$E20B PRG:220B A0 03 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1LogicInx ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1LogicInx: lda $0200,x ; CPU:$E20D PRG:220D BD 00 02 ora #$40 ; CPU:$E210 PRG:2210 09 40 sta $0200,x ; CPU:$E212 PRG:2212 9D 00 02 txa ; CPU:$E215 PRG:2215 8A clc ; CPU:$E216 PRG:2216 18 adc #$08 ; CPU:$E217 PRG:2217 69 08 tax ; CPU:$E219 PRG:2219 AA dey ; CPU:$E21A PRG:221A 88 bne HandlePlayer1LogicInx ; CPU:$E21B PRG:221B D0 F0 rts ; CPU:$E21D PRG:221D 60 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1LogicLda0258 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1LogicLda0258: lda $0258 ; CPU:$E21E PRG:221E AD 58 02 beq HandlePlayer1LogicBeq ; CPU:$E221 PRG:2221 F0 12 lda Zp87 ; CPU:$E223 PRG:2223 A5 87 bne HandlePlayer1LogicBeq ; CPU:$E225 PRG:2225 D0 0E lda #$6F ; CPU:$E227 PRG:2227 A9 6F sta $0259 ; CPU:$E229 PRG:2229 8D 59 02 lda #$6E ; CPU:$E22C PRG:222C A9 6E sta $025D ; CPU:$E22E PRG:222E 8D 5D 02 lda #$0A ; CPU:$E231 PRG:2231 A9 0A sta Zp87 ; CPU:$E233 PRG:2233 85 87 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1LogicBeq ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1LogicBeq: rts ; CPU:$E235 PRG:2235 60 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1LogicLdaZp87 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1LogicLdaZp87: stx Zp0C ; CPU:$E236 PRG:2236 86 0C sty Zp0D ; CPU:$E238 PRG:2238 84 0D asl a ; CPU:$E23A PRG:223A 0A tax ; CPU:$E23B PRG:223B AA lda $F9CF,x ; CPU:$E23C PRG:223C BD CF F9 sta Zp14 ; CPU:$E23F PRG:223F 85 14 lda $F9D0,x ; CPU:$E241 PRG:2241 BD D0 F9 sta Zp15 ; CPU:$E244 PRG:2244 85 15 ldx #$05 ; CPU:$E246 PRG:2246 A2 05 ldy #$04 ; CPU:$E248 PRG:2248 A0 04 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1LogicCallE4E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1LogicCallE4E2: dey ; CPU:$E24A PRG:224A 88 dex ; CPU:$E24B PRG:224B CA beq HandlePlayer1LogicCallE5AC ; CPU:$E24C PRG:224C F0 07 lda (Zp14),y ; CPU:$E24E PRG:224E B1 14 sta $0500,x ; CPU:$E250 PRG:2250 9D 00 05 bne HandlePlayer1LogicCallE4E2 ; CPU:$E253 PRG:2253 D0 F5 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1LogicCallE5AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1LogicCallE5AC: lda #$22 ; CPU:$E255 PRG:2255 A9 22 sta $0500 ; CPU:$E257 PRG:2257 8D 00 05 ldx Zp0C ; CPU:$E25A PRG:225A A6 0C ldy Zp0D ; CPU:$E25C PRG:225C A4 0D jsr $D08E ; CPU:$E25E PRG:225E 20 8E D0 lda Zp0D ; CPU:$E261 PRG:2261 A5 0D clc ; CPU:$E263 PRG:2263 18 adc #$04 ; CPU:$E264 PRG:2264 69 04 tay ; CPU:$E266 PRG:2266 A8 ldx Zp0C ; CPU:$E267 PRG:2267 A6 0C jmp $D08E ; CPU:$E269 PRG:2269 4C 8E D0 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer1LogicCallE4E2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer1LogicCallE4E2Alt: stx Zp0E ; CPU:$E26C PRG:226C 86 0E lda ZpC6,x ; CPU:$E26E PRG:226E B5 C6 and #$0F ; CPU:$E270 PRG:2270 29 0F sta ZpCF ; CPU:$E272 PRG:2272 85 CF lda ZpC6,x ; CPU:$E274 PRG:2274 B5 C6 lsr a ; CPU:$E276 PRG:2276 4A lsr a ; CPU:$E277 PRG:2277 4A lsr a ; CPU:$E278 PRG:2278 4A lsr a ; CPU:$E279 PRG:2279 4A sta ZpCE ; CPU:$E27A PRG:227A 85 CE lda ZpC5,x ; CPU:$E27C PRG:227C B5 C5 and #$0F ; CPU:$E27E PRG:227E 29 0F sta ZpCD ; CPU:$E280 PRG:2280 85 CD lda Zp1F ; CPU:$E282 PRG:2282 A5 1F bne HandlePlayer2LogicEntry ; CPU:$E284 PRG:2284 D0 0A cpx #$04 ; CPU:$E286 PRG:2286 E0 04 bne HandlePlayer2LogicCallE4E2 ; CPU:$E288 PRG:2288 D0 2E ldx #$07 ; CPU:$E28A PRG:228A A2 07 ldy #$23 ; CPU:$E28C PRG:228C A0 23 bne HandlePlayer2LogicCpyZp43 ; CPU:$E28E PRG:228E D0 0C ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2LogicEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2LogicEntry: ldx #$E7 ; CPU:$E290 PRG:2290 A2 E7 ldy #$22 ; CPU:$E292 PRG:2292 A0 22 lda Zp0E ; CPU:$E294 PRG:2294 A5 0E bne HandlePlayer2LogicCpyZp43 ; CPU:$E296 PRG:2296 D0 04 ldx #$FB ; CPU:$E298 PRG:2298 A2 FB ldy #$22 ; CPU:$E29A PRG:229A A0 22 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2LogicCpyZp43 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2LogicCpyZp43: lda ZpCF ; CPU:$E29C PRG:229C A5 CF jsr $E236 ; CPU:$E29E PRG:229E 20 36 E2 ldy #$02 ; CPU:$E2A1 PRG:22A1 A0 02 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2LogicStxZp31 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2LogicStxZp31: sty Zp0F ; CPU:$E2A3 PRG:22A3 84 0F lda Zp0C ; CPU:$E2A5 PRG:22A5 A5 0C sec ; CPU:$E2A7 PRG:22A7 38 sbc #$02 ; CPU:$E2A8 PRG:22A8 E9 02 tax ; CPU:$E2AA PRG:22AA AA lda a:$00CC,y ; CPU:$E2AB PRG:22AB B9 CC 00 ldy Zp0D ; CPU:$E2AE PRG:22AE A4 0D jsr $E236 ; CPU:$E2B0 PRG:22B0 20 36 E2 ldy Zp0F ; CPU:$E2B3 PRG:22B3 A4 0F dey ; CPU:$E2B5 PRG:22B5 88 bne HandlePlayer2LogicStxZp31 ; CPU:$E2B6 PRG:22B6 D0 EB ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2LogicCallE4E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2LogicCallE4E2: rts ; CPU:$E2B8 PRG:22B8 60 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2Logic ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2Logic: lda Zp1F ; CPU:$E2B9 PRG:22B9 A5 1F bne HandlePlayer2LogicCallE5AC ; CPU:$E2BB PRG:22BB D0 04 lda Zp89 ; CPU:$E2BD PRG:22BD A5 89 beq HandlePlayer2LogicCallE4E2 ; CPU:$E2BF PRG:22BF F0 F7 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2LogicCallE5AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2LogicCallE5AC: lda #$0F ; CPU:$E2C1 PRG:22C1 A9 0F ldy Zp89 ; CPU:$E2C3 PRG:22C3 A4 89 beq HandlePlayerLogicExit ; CPU:$E2C5 PRG:22C5 F0 02 lda #$00 ; CPU:$E2C7 PRG:22C7 A9 00 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayerLogicExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayerLogicExit: ldy #$00 ; CPU:$E2C9 PRG:22C9 A0 00 sty Zp05 ; CPU:$E2CB PRG:22CB 84 05 sty Zp06 ; CPU:$E2CD PRG:22CD 84 06 ldy #$FF ; CPU:$E2CF PRG:22CF A0 FF sty Zp04 ; CPU:$E2D1 PRG:22D1 84 04 stx Zp07 ; CPU:$E2D3 PRG:22D3 86 07 jmp $CEBE ; CPU:$E2D5 PRG:22D5 4C BE CE ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2LogicCallE4E2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2LogicCallE4E2Alt: lda Zp93 ; CPU:$E2D8 PRG:22D8 A5 93 bne HandleGameOverCallE4E2Alt3 ; CPU:$E2DA PRG:22DA D0 73 lda Zp82 ; CPU:$E2DC PRG:22DC A5 82 bne HandleGameOverCallE4E2Alt3 ; CPU:$E2DE PRG:22DE D0 6F ldy #$02 ; CPU:$E2E0 PRG:22E0 A0 02 lda $0301 ; CPU:$E2E2 PRG:22E2 AD 01 03 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2LogicCallE4E2Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2LogicCallE4E2Alt2: cmp #$0A ; CPU:$E2E5 PRG:22E5 C9 0A beq HandleGameOverCallE4E2Alt3 ; CPU:$E2E7 PRG:22E7 F0 66 cmp #$0B ; CPU:$E2E9 PRG:22E9 C9 0B beq HandleGameOverCallE4E2Alt3 ; CPU:$E2EB PRG:22EB F0 62 lda $0321 ; CPU:$E2ED PRG:22ED AD 21 03 dey ; CPU:$E2F0 PRG:22F0 88 bne HandlePlayer2LogicCallE4E2Alt2 ; CPU:$E2F1 PRG:22F1 D0 F2 lda Zp2D ; CPU:$E2F3 PRG:22F3 A5 2D bne HandleGameOverCallE4E2Alt3 ; CPU:$E2F5 PRG:22F5 D0 58 lda #$07 ; CPU:$E2F7 PRG:22F7 A9 07 ldx Zp1F ; CPU:$E2F9 PRG:22F9 A6 1F bne HandlePlayer2LogicCallE4E2Alt3 ; CPU:$E2FB PRG:22FB D0 02 lda #$06 ; CPU:$E2FD PRG:22FD A9 06 ; ----------------------------------------------------------------------------- ; Routine: HandlePlayer2LogicCallE4E2Alt3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandlePlayer2LogicCallE4E2Alt3: sta Zp2D ; CPU:$E2FF PRG:22FF 85 2D lda Zp81 ; CPU:$E301 PRG:2301 A5 81 cmp #$03 ; CPU:$E303 PRG:2303 C9 03 beq HandleGameOverEntry ; CPU:$E305 PRG:2305 F0 08 cmp #$06 ; CPU:$E307 PRG:2307 C9 06 beq HandleGameOverEntry ; CPU:$E309 PRG:2309 F0 04 cmp #$09 ; CPU:$E30B PRG:230B C9 09 bne HandleGameOverCallE4E2 ; CPU:$E30D PRG:230D D0 03 ; ----------------------------------------------------------------------------- ; Routine: HandleGameOverEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleGameOverEntry: jsr $DFBC ; CPU:$E30F PRG:230F 20 BC DF ; ----------------------------------------------------------------------------- ; Routine: HandleGameOverCallE4E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleGameOverCallE4E2: dec Zp81 ; CPU:$E312 PRG:2312 C6 81 bpl HandleGameOverCallE5AC ; CPU:$E314 PRG:2314 10 08 dec Zp80 ; CPU:$E316 PRG:2316 C6 80 bmi HandleGameOverCallE4E2Alt2 ; CPU:$E318 PRG:2318 30 2C lda #$09 ; CPU:$E31A PRG:231A A9 09 sta Zp81 ; CPU:$E31C PRG:231C 85 81 ; ----------------------------------------------------------------------------- ; Routine: HandleGameOverCallE5AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleGameOverCallE5AC: lda Zp1F ; CPU:$E31E PRG:231E A5 1F bne HandleGameOverCallE4E2Alt ; CPU:$E320 PRG:2320 D0 12 ldx #$0E ; CPU:$E322 PRG:2322 A2 0E ldy #$23 ; CPU:$E324 PRG:2324 A0 23 lda Zp80 ; CPU:$E326 PRG:2326 A5 80 jsr $E236 ; CPU:$E328 PRG:2328 20 36 E2 ldx #$10 ; CPU:$E32B PRG:232B A2 10 ldy #$23 ; CPU:$E32D PRG:232D A0 23 lda Zp81 ; CPU:$E32F PRG:232F A5 81 jmp $E236 ; CPU:$E331 PRG:2331 4C 36 E2 ; ----------------------------------------------------------------------------- ; Routine: HandleGameOverCallE4E2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleGameOverCallE4E2Alt: ldx #$2E ; CPU:$E334 PRG:2334 A2 2E ldy #$23 ; CPU:$E336 PRG:2336 A0 23 lda Zp80 ; CPU:$E338 PRG:2338 A5 80 jsr $E236 ; CPU:$E33A PRG:233A 20 36 E2 ldx #$30 ; CPU:$E33D PRG:233D A2 30 ldy #$23 ; CPU:$E33F PRG:233F A0 23 lda Zp81 ; CPU:$E341 PRG:2341 A5 81 jmp $E236 ; CPU:$E343 PRG:2343 4C 36 E2 ; ----------------------------------------------------------------------------- ; Routine: HandleGameOverCallE4E2Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleGameOverCallE4E2Alt2: inc Zp82 ; CPU:$E346 PRG:2346 E6 82 lda #$02 ; CPU:$E348 PRG:2348 A9 02 sta Zp84 ; CPU:$E34A PRG:234A 85 84 jsr $E80C ; CPU:$E34C PRG:234C 20 0C E8 ; ----------------------------------------------------------------------------- ; Routine: HandleGameOverCallE4E2Alt3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleGameOverCallE4E2Alt3: rts ; CPU:$E34F PRG:234F 60 ; ---- data $E350-$E40D (190 bytes) ---- .byte $A5, $1F, $D0, $FB, $A6, $72, $E0, $12, $F0, $32, $BD, $C7, $E3, $85, $0C, $BD ; CPU:$E350 PRG:2350 A5 1F D0 FB A6 72 E0 12 F0 32 BD C7 E3 85 0C BD .byte $C6, $E3, $8D, $01, $05, $A6, $73, $86, $0D, $E0, $56, $F0, $39, $A9, $11, $8D ; CPU:$E360 PRG:2360 C6 E3 8D 01 05 A6 73 86 0D E0 56 F0 39 A9 11 8D .byte $00, $05, $20, $B7, $E3, $A5, $0C, $8D, $01, $05, $8D, $02, $05, $8D, $03, $05 ; CPU:$E370 PRG:2370 00 05 20 B7 E3 A5 0C 8D 01 05 8D 02 05 8D 03 05 .byte $A9, $13, $8D, $00, $05, $A2, $F5, $86, $0D, $4C, $B7, $E3, $A0, $09, $A2, $08 ; CPU:$E380 PRG:2380 A9 13 8D 00 05 A2 F5 86 0D 4C B7 E3 A0 09 A2 08 .byte $BD, $D7, $E3, $99, $FF, $04, $88, $CA, $D0, $F6, $A9, $18, $8D, $00, $05, $A2 ; CPU:$E390 PRG:2390 BD D7 E3 99 FF 04 88 CA D0 F6 A9 18 8D 00 05 A2 .byte $56, $86, $0D, $4C, $B7, $E3, $A2, $04, $A9, $2F, $9D, $01, $05, $CA, $D0, $FA ; CPU:$E3A0 PRG:23A0 56 86 0D 4C B7 E3 A2 04 A9 2F 9D 01 05 CA D0 FA .byte $A9, $15, $8D, $00, $05, $D0, $BB, $A6, $0D, $A0, $23, $20, $8E, $D0, $A6, $0D ; CPU:$E3B0 PRG:23B0 A9 15 8D 00 05 D0 BB A6 0D A0 23 20 8E D0 A6 0D .byte $A0, $27, $20, $8E, $D0, $60, $AB, $FA, $AE, $5A, $C1, $5A, $E7, $0A, $AC, $FA ; CPU:$E3C0 PRG:23C0 A0 27 20 8E D0 60 AB FA AE 5A C1 5A E7 0A AC FA .byte $BC, $5A, $AF, $5A, $E6, $FA, $AD, $FA, $EA, $EF, $E8, $F4, $F7, $F0, $F6, $F5 ; CPU:$E3D0 PRG:23D0 BC 5A AF 5A E6 FA AD FA EA EF E8 F4 F7 F0 F6 F5 .byte $A0, $00, $84, $82, $84, $88, $84, $8B, $8C, $00, $02, $8C, $0D, $03, $8C, $2D ; CPU:$E3E0 PRG:23E0 A0 00 84 82 84 88 84 8B 8C 00 02 8C 0D 03 8C 2D .byte $03, $84, $3D, $84, $C6, $84, $CA, $84, $83, $84, $93, $84, $A3, $C8, $84, $84 ; CPU:$E3F0 PRG:23F0 03 84 3D 84 C6 84 CA 84 83 84 93 84 A3 C8 84 84 .byte $C8, $84, $C5, $84, $C9, $A9, $09, $85, $80, $A9, $0A, $85, $81, $60 ; CPU:$E400 PRG:2400 C8 84 C5 84 C9 A9 09 85 80 A9 0A 85 81 60 ; ----------------------------------------------------------------------------- ; Routine: HandleRoundStartExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleRoundStartExit: lda #$80 ; CPU:$E40E PRG:240E A9 80 ldy Zp49 ; CPU:$E410 PRG:2410 A4 49 beq HandleRoundStartEntry ; CPU:$E412 PRG:2412 F0 04 dec Zp49 ; CPU:$E414 PRG:2414 C6 49 bne HandleRoundStartCallE4E2Alt3 ; CPU:$E416 PRG:2416 D0 40 ; ----------------------------------------------------------------------------- ; Routine: HandleRoundStartEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleRoundStartEntry: ldy Zp4A ; CPU:$E418 PRG:2418 A4 4A ; ----------------------------------------------------------------------------- ; Routine: HandleRoundStartCallE4E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleRoundStartCallE4E2: lda $F7F1,y ; CPU:$E41A PRG:241A B9 F1 F7 cmp #$FF ; CPU:$E41D PRG:241D C9 FF beq HandleRoundStartCallE4E2Alt3 ; CPU:$E41F PRG:241F F0 37 cmp #$FE ; CPU:$E421 PRG:2421 C9 FE bne HandleRoundStartCallE5AC ; CPU:$E423 PRG:2423 D0 05 dey ; CPU:$E425 PRG:2425 88 dey ; CPU:$E426 PRG:2426 88 dey ; CPU:$E427 PRG:2427 88 bne HandleRoundStartCallE4E2 ; CPU:$E428 PRG:2428 D0 F0 ; ----------------------------------------------------------------------------- ; Routine: HandleRoundStartCallE5AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleRoundStartCallE5AC: cmp #$FD ; CPU:$E42A PRG:242A C9 FD bne HandleRoundStartCallE4E2Alt ; CPU:$E42C PRG:242C D0 0A iny ; CPU:$E42E PRG:242E C8 lda $F7F1,y ; CPU:$E42F PRG:242F B9 F1 F7 sta Zp35 ; CPU:$E432 PRG:2432 85 35 iny ; CPU:$E434 PRG:2434 C8 lda $F7F1,y ; CPU:$E435 PRG:2435 B9 F1 F7 ; ----------------------------------------------------------------------------- ; Routine: HandleRoundStartCallE4E2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleRoundStartCallE4E2Alt: sta Zp49 ; CPU:$E438 PRG:2438 85 49 iny ; CPU:$E43A PRG:243A C8 lda $F7F1,y ; CPU:$E43B PRG:243B B9 F1 F7 clc ; CPU:$E43E PRG:243E 18 adc Zp32 ; CPU:$E43F PRG:243F 65 32 sta Zp32 ; CPU:$E441 PRG:2441 85 32 iny ; CPU:$E443 PRG:2443 C8 lda $F7F1,y ; CPU:$E444 PRG:2444 B9 F1 F7 ldx Zp89 ; CPU:$E447 PRG:2447 A6 89 beq HandleRoundStartCallE4E2Alt2 ; CPU:$E449 PRG:2449 F0 05 eor #$FF ; CPU:$E44B PRG:244B 49 FF clc ; CPU:$E44D PRG:244D 18 adc #$01 ; CPU:$E44E PRG:244E 69 01 ; ----------------------------------------------------------------------------- ; Routine: HandleRoundStartCallE4E2Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleRoundStartCallE4E2Alt2: clc ; CPU:$E450 PRG:2450 18 adc Zp33 ; CPU:$E451 PRG:2451 65 33 sta Zp33 ; CPU:$E453 PRG:2453 85 33 iny ; CPU:$E455 PRG:2455 C8 sty Zp4A ; CPU:$E456 PRG:2456 84 4A ; ----------------------------------------------------------------------------- ; Routine: HandleRoundStartCallE4E2Alt3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleRoundStartCallE4E2Alt3: rts ; CPU:$E458 PRG:2458 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSound ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSound: ldx #$20 ; CPU:$E459 PRG:2459 A2 20 lda Zp89 ; CPU:$E45B PRG:245B A5 89 beq HandleRoundStartCallE4E2Alt4 ; CPU:$E45D PRG:245D F0 02 ldx #$00 ; CPU:$E45F PRG:245F A2 00 ; ----------------------------------------------------------------------------- ; Routine: HandleRoundStartCallE4E2Alt4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- HandleRoundStartCallE4E2Alt4: rts ; CPU:$E461 PRG:2461 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundEntry: lda #$00 ; CPU:$E462 PRG:2462 A9 00 sta Zp41 ; CPU:$E464 PRG:2464 85 41 sta Zp42 ; CPU:$E466 PRG:2466 85 42 rts ; CPU:$E468 PRG:2468 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundCallE4E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundCallE4E2: lda #$00 ; CPU:$E469 PRG:2469 A9 00 sta Zp00 ; CPU:$E46B PRG:246B 85 00 rts ; CPU:$E46D PRG:246D 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundCallE5AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundCallE5AC: lda Zp82 ; CPU:$E46E PRG:246E A5 82 beq UpdateSoundCallE4E2Alt ; CPU:$E470 PRG:2470 F0 07 lda $0204 ; CPU:$E472 PRG:2472 AD 04 02 cmp #$9F ; CPU:$E475 PRG:2475 C9 9F beq UpdateSoundCallE4E2 ; CPU:$E477 PRG:2477 F0 F0 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundCallE4E2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundCallE4E2Alt: lda Zp89 ; CPU:$E479 PRG:2479 A5 89 eor #$01 ; CPU:$E47B PRG:247B 49 01 tax ; CPU:$E47D PRG:247D AA lda Zp18,x ; CPU:$E47E PRG:247E B5 18 ldy Zp84 ; CPU:$E480 PRG:2480 A4 84 cpy #$02 ; CPU:$E482 PRG:2482 C0 02 beq UpdateSoundCallE4E2Alt2 ; CPU:$E484 PRG:2484 F0 04 cpy #$03 ; CPU:$E486 PRG:2486 C0 03 bne UpdateSoundCallE4E2Alt3 ; CPU:$E488 PRG:2488 D0 0C ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundCallE4E2Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundCallE4E2Alt2: ldy Zp82 ; CPU:$E48A PRG:248A A4 82 bne UpdateSoundCallE4E2Alt3 ; CPU:$E48C PRG:248C D0 08 lda #$01 ; CPU:$E48E PRG:248E A9 01 cpx #$00 ; CPU:$E490 PRG:2490 E0 00 bne UpdateSoundCallE4E2Alt3 ; CPU:$E492 PRG:2492 D0 02 lda #$02 ; CPU:$E494 PRG:2494 A9 02 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundCallE4E2Alt3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundCallE4E2Alt3: sta Zp00 ; CPU:$E496 PRG:2496 85 00 beq UpdateSoundCallE4E2Alt6 ; CPU:$E498 PRG:2498 F0 25 lda #$00 ; CPU:$E49A PRG:249A A9 00 sta Zp3E ; CPU:$E49C PRG:249C 85 3E ldx Zp89 ; CPU:$E49E PRG:249E A6 89 beq UpdateSoundCallE5ACAlt ; CPU:$E4A0 PRG:24A0 F0 0C lda Zp00 ; CPU:$E4A2 PRG:24A2 A5 00 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundAlt: and #$03 ; CPU:$E4A4 PRG:24A4 29 03 beq UpdateSoundCallE5ACAlt ; CPU:$E4A6 PRG:24A6 F0 06 lda #$03 ; CPU:$E4A8 PRG:24A8 A9 03 eor Zp00 ; CPU:$E4AA PRG:24AA 45 00 sta Zp00 ; CPU:$E4AC PRG:24AC 85 00 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundCallE5ACAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundCallE5ACAlt: ldx #$01 ; CPU:$E4AE PRG:24AE A2 01 lda #$04 ; CPU:$E4B0 PRG:24B0 A9 04 bit Zp00 ; CPU:$E4B2 PRG:24B2 24 00 bne UpdateSoundCallE4E2Alt5 ; CPU:$E4B4 PRG:24B4 D0 07 dex ; CPU:$E4B6 PRG:24B6 CA lda #$08 ; CPU:$E4B7 PRG:24B7 A9 08 bit Zp00 ; CPU:$E4B9 PRG:24B9 24 00 beq UpdateSoundCallE4E2Alt6 ; CPU:$E4BB PRG:24BB F0 02 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundCallE4E2Alt5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundCallE4E2Alt5: stx Zp44 ; CPU:$E4BD PRG:24BD 86 44 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundCallE4E2Alt6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundCallE4E2Alt6: rts ; CPU:$E4BF PRG:24BF 60 ; ---- data $E4C0-$E4E1 (34 bytes) ---- .byte $A2, $1F, $BD, $96, $F6, $9D, $00, $03, $CA, $10, $F7, $A2, $1F, $BD, $B6, $F6 ; CPU:$E4C0 PRG:24C0 A2 1F BD 96 F6 9D 00 03 CA 10 F7 A2 1F BD B6 F6 .byte $9D, $20, $03, $CA, $10, $F7, $A2, $1F, $BD, $D6, $F6, $9D, $40, $03, $CA, $10 ; CPU:$E4D0 PRG:24D0 9D 20 03 CA 10 F7 A2 1F BD D6 F6 9D 40 03 CA 10 .byte $F7, $60 ; CPU:$E4E0 PRG:24E0 F7 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundAltExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundAltExit: lda Zp41 ; CPU:$E4E2 PRG:24E2 A5 41 beq UpdateSoundCallE5ACAlt2 ; CPU:$E4E4 PRG:24E4 F0 04 dec Zp41 ; CPU:$E4E6 PRG:24E6 C6 41 bne PlaySoundEffectCallE4E2 ; CPU:$E4E8 PRG:24E8 D0 40 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundCallE5ACAlt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundCallE5ACAlt2: lda Zp3E ; CPU:$E4EA PRG:24EA A5 3E beq UpdateSoundCallE4E2Alt7 ; CPU:$E4EC PRG:24EC F0 08 dec Zp3E ; CPU:$E4EE PRG:24EE C6 3E lda #$4F ; CPU:$E4F0 PRG:24F0 A9 4F cmp Zp3E ; CPU:$E4F2 PRG:24F2 C5 3E bne PlaySoundEffectCallE4E2 ; CPU:$E4F4 PRG:24F4 D0 34 ; ----------------------------------------------------------------------------- ; Routine: UpdateSoundCallE4E2Alt7 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateSoundCallE4E2Alt7: ldy Zp43 ; CPU:$E4F6 PRG:24F6 A4 43 beq PlaySoundEffectCallE4E2 ; CPU:$E4F8 PRG:24F8 F0 30 dey ; CPU:$E4FA PRG:24FA 88 tya ; CPU:$E4FB PRG:24FB 98 asl a ; CPU:$E4FC PRG:24FC 0A tay ; CPU:$E4FD PRG:24FD A8 lda $F77D,y ; CPU:$E4FE PRG:24FE B9 7D F7 ldx $F77E,y ; CPU:$E501 PRG:2501 BE 7E F7 sta Zp00 ; CPU:$E504 PRG:2504 85 00 ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffect ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffect: stx Zp01 ; CPU:$E506 PRG:2506 86 01 ldy Zp42 ; CPU:$E508 PRG:2508 A4 42 ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffectEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffectEntry: lda (Zp00),y ; CPU:$E50A PRG:250A B1 00 cmp #$FE ; CPU:$E50C PRG:250C C9 FE beq PlaySoundEffectCallE5AC ; CPU:$E50E PRG:250E F0 1B cmp #$FF ; CPU:$E510 PRG:2510 C9 FF beq PlaySoundEffectCallE4E2Alt ; CPU:$E512 PRG:2512 F0 1B sta Zp41 ; CPU:$E514 PRG:2514 85 41 iny ; CPU:$E516 PRG:2516 C8 lda (Zp00),y ; CPU:$E517 PRG:2517 B1 00 sta Zp35 ; CPU:$E519 PRG:2519 85 35 iny ; CPU:$E51B PRG:251B C8 sty Zp42 ; CPU:$E51C PRG:251C 84 42 lda Zp89 ; CPU:$E51E PRG:251E A5 89 cmp #$02 ; CPU:$E520 PRG:2520 C9 02 bcs PlaySoundEffectCallE4E2 ; CPU:$E522 PRG:2522 B0 06 jsr $E535 ; CPU:$E524 PRG:2524 20 35 E5 jsr $E54A ; CPU:$E527 PRG:2527 20 4A E5 ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffectCallE4E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffectCallE4E2: rts ; CPU:$E52A PRG:252A 60 ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffectCallE5AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffectCallE5AC: ldy #$00 ; CPU:$E52B PRG:252B A0 00 beq PlaySoundEffectEntry ; CPU:$E52D PRG:252D F0 DB ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffectCallE4E2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffectCallE4E2Alt: jsr $E462 ; CPU:$E52F PRG:252F 20 62 E4 sta Zp43 ; CPU:$E532 PRG:2532 85 43 rts ; CPU:$E534 PRG:2534 60 ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffectExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffectExit: lda Zp3E ; CPU:$E535 PRG:2535 A5 3E bne PlaySoundEffectCallE5ACAlt ; CPU:$E537 PRG:2537 D0 10 lda Zp43 ; CPU:$E539 PRG:2539 A5 43 cmp #$05 ; CPU:$E53B PRG:253B C9 05 beq PlaySoundEffectCallE4E2Alt2 ; CPU:$E53D PRG:253D F0 04 cmp #$06 ; CPU:$E53F PRG:253F C9 06 bne PlaySoundEffectCallE5ACAlt ; CPU:$E541 PRG:2541 D0 06 ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffectCallE4E2Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffectCallE4E2Alt2: lda #$01 ; CPU:$E543 PRG:2543 A9 01 eor Zp32 ; CPU:$E545 PRG:2545 45 32 sta Zp32 ; CPU:$E547 PRG:2547 85 32 ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffectCallE5ACAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffectCallE5ACAlt: rts ; CPU:$E549 PRG:2549 60 ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffectAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffectAlt: lda Zp89 ; CPU:$E54A PRG:254A A5 89 asl a ; CPU:$E54C PRG:254C 0A asl a ; CPU:$E54D PRG:254D 0A asl a ; CPU:$E54E PRG:254E 0A sta Zp34 ; CPU:$E54F PRG:254F 85 34 lda #$02 ; CPU:$E551 PRG:2551 A9 02 sta Zp00 ; CPU:$E553 PRG:2553 85 00 lda Zp31 ; CPU:$E555 PRG:2555 A5 31 cmp #$0C ; CPU:$E557 PRG:2557 C9 0C beq PlaySoundEffectCallE5ACAlt2 ; CPU:$E559 PRG:2559 F0 27 cmp #$10 ; CPU:$E55B PRG:255B C9 10 beq PlaySoundEffectCallE5ACAlt2 ; CPU:$E55D PRG:255D F0 23 cmp #$01 ; CPU:$E55F PRG:255F C9 01 beq PlaySoundEffectCallE4E2Alt3 ; CPU:$E561 PRG:2561 F0 08 cmp #$02 ; CPU:$E563 PRG:2563 C9 02 bne UpdateMusicEntry ; CPU:$E565 PRG:2565 D0 44 lda #$00 ; CPU:$E567 PRG:2567 A9 00 sta Zp88 ; CPU:$E569 PRG:2569 85 88 ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffectCallE4E2Alt3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffectCallE4E2Alt3: jsr $E46E ; CPU:$E56B PRG:256B 20 6E E4 lda Zp88 ; CPU:$E56E PRG:256E A5 88 bne UpdateMusicEntry ; CPU:$E570 PRG:2570 D0 39 lda #$01 ; CPU:$E572 PRG:2572 A9 01 bit Zp00 ; CPU:$E574 PRG:2574 24 00 bne PlaySoundEffectCallE5ACAlt2 ; CPU:$E576 PRG:2576 D0 0A lda #$02 ; CPU:$E578 PRG:2578 A9 02 bit Zp00 ; CPU:$E57A PRG:257A 24 00 beq UpdateMusicEntry ; CPU:$E57C PRG:257C F0 2D lda #$00 ; CPU:$E57E PRG:257E A9 00 sta Zp3A ; CPU:$E580 PRG:2580 85 3A ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffectCallE5ACAlt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffectCallE5ACAlt2: ldx #$03 ; CPU:$E582 PRG:2582 A2 03 lda Zp89 ; CPU:$E584 PRG:2584 A5 89 eor Zp00 ; CPU:$E586 PRG:2586 45 00 and #$01 ; CPU:$E588 PRG:2588 29 01 bne PlaySoundEffectCallE4E2Alt4 ; CPU:$E58A PRG:258A D0 08 txa ; CPU:$E58C PRG:258C 8A eor #$FF ; CPU:$E58D PRG:258D 49 FF clc ; CPU:$E58F PRG:258F 18 adc #$01 ; CPU:$E590 PRG:2590 69 01 bne PlaySoundEffectCallE5ACAlt3 ; CPU:$E592 PRG:2592 D0 01 ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffectCallE4E2Alt4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffectCallE4E2Alt4: txa ; CPU:$E594 PRG:2594 8A ; ----------------------------------------------------------------------------- ; Routine: PlaySoundEffectCallE5ACAlt3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- PlaySoundEffectCallE5ACAlt3: clc ; CPU:$E595 PRG:2595 18 adc Zp33 ; CPU:$E596 PRG:2596 65 33 sta Zp33 ; CPU:$E598 PRG:2598 85 33 lda #$7B ; CPU:$E59A PRG:259A A9 7B sta Zp32 ; CPU:$E59C PRG:259C 85 32 lda #$01 ; CPU:$E59E PRG:259E A9 01 sta Zp8B ; CPU:$E5A0 PRG:25A0 85 8B lda Zp35 ; CPU:$E5A2 PRG:25A2 A5 35 cmp #$00 ; CPU:$E5A4 PRG:25A4 C9 00 bne UpdateMusicEntry ; CPU:$E5A6 PRG:25A6 D0 03 jsr $E7AB ; CPU:$E5A8 PRG:25A8 20 AB E7 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicEntry: rts ; CPU:$E5AB PRG:25AB 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE4E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE4E2: lda Zp30 ; CPU:$E5AC PRG:25AC A5 30 beq UpdateMusicCallE4E2Alt2 ; CPU:$E5AE PRG:25AE F0 34 lda Zp36 ; CPU:$E5B0 PRG:25B0 A5 36 sta ZpB4 ; CPU:$E5B2 PRG:25B2 85 B4 lda Zp35 ; CPU:$E5B4 PRG:25B4 A5 35 asl a ; CPU:$E5B6 PRG:25B6 0A tay ; CPU:$E5B7 PRG:25B7 A8 lda #$13 ; CPU:$E5B8 PRG:25B8 A9 13 sta Zp12 ; CPU:$E5BA PRG:25BA 85 12 lda #$E8 ; CPU:$E5BC PRG:25BC A9 E8 sta Zp13 ; CPU:$E5BE PRG:25BE 85 13 lda (Zp12),y ; CPU:$E5C0 PRG:25C0 B1 12 sta Zp10 ; CPU:$E5C2 PRG:25C2 85 10 iny ; CPU:$E5C4 PRG:25C4 C8 lda (Zp12),y ; CPU:$E5C5 PRG:25C5 B1 12 sta Zp11 ; CPU:$E5C7 PRG:25C7 85 11 ldy #$00 ; CPU:$E5C9 PRG:25C9 A0 00 sty Zp1A ; CPU:$E5CB PRG:25CB 84 1A ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE5AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE5AC: ldy Zp1A ; CPU:$E5CD PRG:25CD A4 1A lda (Zp10),y ; CPU:$E5CF PRG:25CF B1 10 cmp #$00 ; CPU:$E5D1 PRG:25D1 C9 00 bne UpdateMusicCallE5ACAlt ; CPU:$E5D3 PRG:25D3 D0 10 ldx ZpB4 ; CPU:$E5D5 PRG:25D5 A6 B4 lda #$F4 ; CPU:$E5D7 PRG:25D7 A9 F4 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE4E2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE4E2Alt: cpx Zp37 ; CPU:$E5D9 PRG:25D9 E4 37 beq UpdateMusicCallE4E2Alt2 ; CPU:$E5DB PRG:25DB F0 07 sta $0200,x ; CPU:$E5DD PRG:25DD 9D 00 02 inx ; CPU:$E5E0 PRG:25E0 E8 jmp $E5D9 ; CPU:$E5E1 PRG:25E1 4C D9 E5 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE4E2Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE4E2Alt2: rts ; CPU:$E5E4 PRG:25E4 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE5ACAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE5ACAlt: sta Zp13 ; CPU:$E5E5 PRG:25E5 85 13 iny ; CPU:$E5E7 PRG:25E7 C8 lda (Zp10),y ; CPU:$E5E8 PRG:25E8 B1 10 iny ; CPU:$E5EA PRG:25EA C8 sta Zp12 ; CPU:$E5EB PRG:25EB 85 12 lda (Zp10),y ; CPU:$E5ED PRG:25ED B1 10 iny ; CPU:$E5EF PRG:25EF C8 jsr $E6CE ; CPU:$E5F0 PRG:25F0 20 CE E6 bcc UpdateMusicCallE5ACAlt2 ; CPU:$E5F3 PRG:25F3 90 06 jsr $E6FA ; CPU:$E5F5 PRG:25F5 20 FA E6 sec ; CPU:$E5F8 PRG:25F8 38 sbc #$08 ; CPU:$E5F9 PRG:25F9 E9 08 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE5ACAlt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE5ACAlt2: clc ; CPU:$E5FB PRG:25FB 18 adc Zp32 ; CPU:$E5FC PRG:25FC 65 32 sta ZpB1 ; CPU:$E5FE PRG:25FE 85 B1 lda (Zp10),y ; CPU:$E600 PRG:2600 B1 10 iny ; CPU:$E602 PRG:2602 C8 jsr $E6D4 ; CPU:$E603 PRG:2603 20 D4 E6 bne UpdateMusicCallE4E2Alt3 ; CPU:$E606 PRG:2606 D0 06 jsr $E6FA ; CPU:$E608 PRG:2608 20 FA E6 sec ; CPU:$E60B PRG:260B 38 sbc #$08 ; CPU:$E60C PRG:260C E9 08 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE4E2Alt3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE4E2Alt3: clc ; CPU:$E60E PRG:260E 18 adc Zp33 ; CPU:$E60F PRG:260F 65 33 sta ZpB2 ; CPU:$E611 PRG:2611 85 B2 sty Zp1A ; CPU:$E613 PRG:2613 84 1A ldy #$00 ; CPU:$E615 PRG:2615 A0 00 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicExit: lda (Zp12),y ; CPU:$E617 PRG:2617 B1 12 ldx #$00 ; CPU:$E619 PRG:2619 A2 00 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicAlt: cmp #$00 ; CPU:$E61B PRG:261B C9 00 beq UpdateMusicCallE5ACAlt3 ; CPU:$E61D PRG:261D F0 0E ldx #$14 ; CPU:$E61F PRG:261F A2 14 cmp #$01 ; CPU:$E621 PRG:2621 C9 01 beq UpdateMusicCallE5ACAlt3 ; CPU:$E623 PRG:2623 F0 08 ldx #$32 ; CPU:$E625 PRG:2625 A2 32 cmp #$02 ; CPU:$E627 PRG:2627 C9 02 beq UpdateMusicCallE5ACAlt3 ; CPU:$E629 PRG:2629 F0 02 ldx #$5A ; CPU:$E62B PRG:262B A2 5A ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE5ACAlt3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE5ACAlt3: stx Zp1B ; CPU:$E62D PRG:262D 86 1B ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE4E2Alt4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE4E2Alt4: iny ; CPU:$E62F PRG:262F C8 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE5ACAlt4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE5ACAlt4: lda (Zp12),y ; CPU:$E630 PRG:2630 B1 12 cmp #$FF ; CPU:$E632 PRG:2632 C9 FF beq UpdateMusicCallE5AC ; CPU:$E634 PRG:2634 F0 97 cmp #$FE ; CPU:$E636 PRG:2636 C9 FE bne UpdateMusicCallE4E2Alt5 ; CPU:$E638 PRG:2638 D0 07 inc Zp1B ; CPU:$E63A PRG:263A E6 1B inc Zp1B ; CPU:$E63C PRG:263C E6 1B jmp $E62F ; CPU:$E63E PRG:263E 4C 2F E6 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE4E2Alt5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE4E2Alt5: cmp #$FD ; CPU:$E641 PRG:2641 C9 FD bne UpdateMusicCallE5ACAlt5 ; CPU:$E643 PRG:2643 D0 15 iny ; CPU:$E645 PRG:2645 C8 lda (Zp12),y ; CPU:$E646 PRG:2646 B1 12 clc ; CPU:$E648 PRG:2648 18 adc Zp3C ; CPU:$E649 PRG:2649 65 3C sta ZpB3 ; CPU:$E64B PRG:264B 85 B3 lda Zp38 ; CPU:$E64D PRG:264D A5 38 beq UpdateMusicCallE4E2Alt4 ; CPU:$E64F PRG:264F F0 DE lda ZpB3 ; CPU:$E651 PRG:2651 A5 B3 ora #$20 ; CPU:$E653 PRG:2653 09 20 sta ZpB3 ; CPU:$E655 PRG:2655 85 B3 jmp $E62F ; CPU:$E657 PRG:2657 4C 2F E6 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE5ACAlt5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE5ACAlt5: ldx Zp1B ; CPU:$E65A PRG:265A A6 1B lda $E8E5,x ; CPU:$E65C PRG:265C BD E5 E8 inc Zp1B ; CPU:$E65F PRG:265F E6 1B jsr $E6CE ; CPU:$E661 PRG:2661 20 CE E6 bcc UpdateMusicCallE4E2Alt6 ; CPU:$E664 PRG:2664 90 03 jsr $E6FA ; CPU:$E666 PRG:2666 20 FA E6 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicCallE4E2Alt6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicCallE4E2Alt6: clc ; CPU:$E669 PRG:2669 18 adc ZpB1 ; CPU:$E66A PRG:266A 65 B1 jsr $E6DD ; CPU:$E66C PRG:266C 20 DD E6 ldx ZpB4 ; CPU:$E66F PRG:266F A6 B4 sta $0200,x ; CPU:$E671 PRG:2671 9D 00 02 inc ZpB4 ; CPU:$E674 PRG:2674 E6 B4 lda (Zp12),y ; CPU:$E676 PRG:2676 B1 12 iny ; CPU:$E678 PRG:2678 C8 ldx ZpB4 ; CPU:$E679 PRG:2679 A6 B4 sta $0200,x ; CPU:$E67B PRG:267B 9D 00 02 inc ZpB4 ; CPU:$E67E PRG:267E E6 B4 lda ZpB3 ; CPU:$E680 PRG:2680 A5 B3 ldx Zp34 ; CPU:$E682 PRG:2682 A6 34 beq UpdateMusicLoopCallE4E2 ; CPU:$E684 PRG:2684 F0 22 pha ; CPU:$E686 PRG:2686 48 lda #$BF ; CPU:$E687 PRG:2687 A9 BF cpx #$08 ; CPU:$E689 PRG:2689 E0 08 beq UpdateMusicLoopEntry ; CPU:$E68B PRG:268B F0 08 lda #$7F ; CPU:$E68D PRG:268D A9 7F cpx #$80 ; CPU:$E68F PRG:268F E0 80 beq UpdateMusicLoopEntry ; CPU:$E691 PRG:2691 F0 02 lda #$3F ; CPU:$E693 PRG:2693 A9 3F ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicLoopEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicLoopEntry: sta Zp00 ; CPU:$E695 PRG:2695 85 00 eor #$FF ; CPU:$E697 PRG:2697 49 FF sta Zp01 ; CPU:$E699 PRG:2699 85 01 pla ; CPU:$E69B PRG:269B 68 and Zp00 ; CPU:$E69C PRG:269C 25 00 sta Zp0C ; CPU:$E69E PRG:269E 85 0C lda ZpB3 ; CPU:$E6A0 PRG:26A0 A5 B3 and Zp01 ; CPU:$E6A2 PRG:26A2 25 01 eor Zp01 ; CPU:$E6A4 PRG:26A4 45 01 ora Zp0C ; CPU:$E6A6 PRG:26A6 05 0C ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicLoopCallE4E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicLoopCallE4E2: ldx ZpB4 ; CPU:$E6A8 PRG:26A8 A6 B4 sta $0200,x ; CPU:$E6AA PRG:26AA 9D 00 02 inc ZpB4 ; CPU:$E6AD PRG:26AD E6 B4 ldx Zp1B ; CPU:$E6AF PRG:26AF A6 1B lda $E8E5,x ; CPU:$E6B1 PRG:26B1 BD E5 E8 inc Zp1B ; CPU:$E6B4 PRG:26B4 E6 1B jsr $E6D4 ; CPU:$E6B6 PRG:26B6 20 D4 E6 bne UpdateMusicLoopCallE5AC ; CPU:$E6B9 PRG:26B9 D0 03 jsr $E6FA ; CPU:$E6BB PRG:26BB 20 FA E6 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicLoopCallE5AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicLoopCallE5AC: clc ; CPU:$E6BE PRG:26BE 18 adc ZpB2 ; CPU:$E6BF PRG:26BF 65 B2 jsr $E6E3 ; CPU:$E6C1 PRG:26C1 20 E3 E6 ldx ZpB4 ; CPU:$E6C4 PRG:26C4 A6 B4 sta $0200,x ; CPU:$E6C6 PRG:26C6 9D 00 02 inc ZpB4 ; CPU:$E6C9 PRG:26C9 E6 B4 jmp $E630 ; CPU:$E6CB PRG:26CB 4C 30 E6 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicLoopCallE4E2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicLoopCallE4E2Alt: pha ; CPU:$E6CE PRG:26CE 48 lda Zp34 ; CPU:$E6CF PRG:26CF A5 34 rol a ; CPU:$E6D1 PRG:26D1 2A pla ; CPU:$E6D2 PRG:26D2 68 rts ; CPU:$E6D3 PRG:26D3 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicLoop: pha ; CPU:$E6D4 PRG:26D4 48 lda Zp34 ; CPU:$E6D5 PRG:26D5 A5 34 asl a ; CPU:$E6D7 PRG:26D7 0A tax ; CPU:$E6D8 PRG:26D8 AA pla ; CPU:$E6D9 PRG:26D9 68 cpx #$10 ; CPU:$E6DA PRG:26DA E0 10 rts ; CPU:$E6DC PRG:26DC 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicLoopCallE4E2Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicLoopCallE4E2Alt2: pha ; CPU:$E6DD PRG:26DD 48 lda Zp32 ; CPU:$E6DE PRG:26DE A5 32 jmp $E6E6 ; CPU:$E6E0 PRG:26E0 4C E6 E6 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicLoopCallE5ACAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicLoopCallE5ACAlt: pha ; CPU:$E6E3 PRG:26E3 48 lda Zp33 ; CPU:$E6E4 PRG:26E4 A5 33 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicLoopCallE4E2Alt3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicLoopCallE4E2Alt3: sta Zp0F ; CPU:$E6E6 PRG:26E6 85 0F pla ; CPU:$E6E8 PRG:26E8 68 pha ; CPU:$E6E9 PRG:26E9 48 sec ; CPU:$E6EA PRG:26EA 38 sbc Zp0F ; CPU:$E6EB PRG:26EB E5 0F bcs UpdateMusicLoopCallE5ACAlt2 ; CPU:$E6ED PRG:26ED B0 03 jsr $E6FA ; CPU:$E6EF PRG:26EF 20 FA E6 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicLoopCallE5ACAlt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicLoopCallE5ACAlt2: cmp #$30 ; CPU:$E6F2 PRG:26F2 C9 30 pla ; CPU:$E6F4 PRG:26F4 68 bcc UpdateMusicLoopCallE4E2Alt4 ; CPU:$E6F5 PRG:26F5 90 02 lda #$FF ; CPU:$E6F7 PRG:26F7 A9 FF ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicLoopCallE4E2Alt4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicLoopCallE4E2Alt4: rts ; CPU:$E6F9 PRG:26F9 60 ; ----------------------------------------------------------------------------- ; Routine: UpdateMusicLoopExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- UpdateMusicLoopExit: eor #$FF ; CPU:$E6FA PRG:26FA 49 FF clc ; CPU:$E6FC PRG:26FC 18 adc #$01 ; CPU:$E6FD PRG:26FD 69 01 rts ; CPU:$E6FF PRG:26FF 60 ; ---- data $E700-$E70B (12 bytes) ---- .byte $B9, $32, $03, $85, $B1, $B9, $33, $03, $85, $B2, $85, $0C ; CPU:$E700 PRG:2700 B9 32 03 85 B1 B9 33 03 85 B2 85 0C ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataEntry: pha ; CPU:$E70C PRG:270C 48 jsr $D012 ; CPU:$E70D PRG:270D 20 12 D0 jsr $C000 ; CPU:$E710 PRG:2710 20 00 C0 pla ; CPU:$E713 PRG:2713 68 sta Zp1B ; CPU:$E714 PRG:2714 85 1B beq InitSpriteDataCallE4E2Alt ; CPU:$E716 PRG:2716 F0 4C asl a ; CPU:$E718 PRG:2718 0A tax ; CPU:$E719 PRG:2719 AA lda $F949,x ; CPU:$E71A PRG:271A BD 49 F9 sta Zp14 ; CPU:$E71D PRG:271D 85 14 lda $F94A,x ; CPU:$E71F PRG:271F BD 4A F9 sta Zp15 ; CPU:$E722 PRG:2722 85 15 ldy #$01 ; CPU:$E724 PRG:2724 A0 01 lda (Zp14),y ; CPU:$E726 PRG:2726 B1 14 sta Zp0F ; CPU:$E728 PRG:2728 85 0F ldx #$00 ; CPU:$E72A PRG:272A A2 00 iny ; CPU:$E72C PRG:272C C8 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataLoop ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataLoop: lda (Zp14),y ; CPU:$E72D PRG:272D B1 14 sta $0500,x ; CPU:$E72F PRG:272F 9D 00 05 iny ; CPU:$E732 PRG:2732 C8 inx ; CPU:$E733 PRG:2733 E8 dec Zp0F ; CPU:$E734 PRG:2734 C6 0F bne InitSpriteDataLoop ; CPU:$E736 PRG:2736 D0 F5 lda Zp1B ; CPU:$E738 PRG:2738 A5 1B cmp #$01 ; CPU:$E73A PRG:273A C9 01 bne InitSpriteDataCallE5AC ; CPU:$E73C PRG:273C D0 15 lda ZpC1 ; CPU:$E73E PRG:273E A5 C1 lsr a ; CPU:$E740 PRG:2740 4A lsr a ; CPU:$E741 PRG:2741 4A lsr a ; CPU:$E742 PRG:2742 4A lsr a ; CPU:$E743 PRG:2743 4A beq InitSpriteDataCallE4E2 ; CPU:$E744 PRG:2744 F0 03 sta $0518 ; CPU:$E746 PRG:2746 8D 18 05 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE4E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE4E2: lda ZpC1 ; CPU:$E749 PRG:2749 A5 C1 and #$0F ; CPU:$E74B PRG:274B 29 0F sta $0519 ; CPU:$E74D PRG:274D 8D 19 05 jmp $E777 ; CPU:$E750 PRG:2750 4C 77 E7 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE5AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE5AC: cmp #$05 ; CPU:$E753 PRG:2753 C9 05 bne InitSpriteDataCallE4E2Alt2 ; CPU:$E755 PRG:2755 D0 20 lda Zp0C ; CPU:$E757 PRG:2757 A5 0C sta $0521 ; CPU:$E759 PRG:2759 8D 21 05 lda Zp0D ; CPU:$E75C PRG:275C A5 0D sta $0522 ; CPU:$E75E PRG:275E 8D 22 05 jmp $E777 ; CPU:$E761 PRG:2761 4C 77 E7 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE4E2Alt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE4E2Alt: ldx #$07 ; CPU:$E764 PRG:2764 A2 07 lda #$32 ; CPU:$E766 PRG:2766 A9 32 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE5ACAlt ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE5ACAlt: sta $0501,x ; CPU:$E768 PRG:2768 9D 01 05 dex ; CPU:$E76B PRG:276B CA bpl InitSpriteDataCallE5ACAlt ; CPU:$E76C PRG:276C 10 FA lda #$17 ; CPU:$E76E PRG:276E A9 17 sta $0500 ; CPU:$E770 PRG:2770 8D 00 05 ldx #$6D ; CPU:$E773 PRG:2773 A2 6D bne InitSpriteDataCallE5ACAlt2 ; CPU:$E775 PRG:2775 D0 05 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE4E2Alt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE4E2Alt2: ldy #$00 ; CPU:$E777 PRG:2777 A0 00 lda (Zp14),y ; CPU:$E779 PRG:2779 B1 14 tax ; CPU:$E77B PRG:277B AA ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE5ACAlt2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE5ACAlt2: ldy #$22 ; CPU:$E77C PRG:277C A0 22 stx Zp07 ; CPU:$E77E PRG:277E 86 07 jsr $D08E ; CPU:$E780 PRG:2780 20 8E D0 ldx Zp07 ; CPU:$E783 PRG:2783 A6 07 ldy #$26 ; CPU:$E785 PRG:2785 A0 26 jmp $D08E ; CPU:$E787 PRG:2787 4C 8E D0 ; ---- data $E78A-$E792 (9 bytes) ---- .byte $20, $77, $CC, $20, $84, $D0, $4C, $70, $D0 ; CPU:$E78A PRG:278A 20 77 CC 20 84 D0 4C 70 D0 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteData ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteData: lda #$01 ; CPU:$E793 PRG:2793 A9 01 bne InitSpriteDataCallE5ACAlt4 ; CPU:$E795 PRG:2795 D0 1A lda #$80 ; CPU:$E797 PRG:2797 A9 80 bne InitSpriteDataCallE5ACAlt4 ; CPU:$E799 PRG:2799 D0 16 lda #$40 ; CPU:$E79B PRG:279B A9 40 bne InitSpriteDataCallE5ACAlt4 ; CPU:$E79D PRG:279D D0 12 lda #$20 ; CPU:$E79F PRG:279F A9 20 bne InitSpriteDataCallE5ACAlt4 ; CPU:$E7A1 PRG:27A1 D0 0E lda #$10 ; CPU:$E7A3 PRG:27A3 A9 10 bne InitSpriteDataCallE5ACAlt4 ; CPU:$E7A5 PRG:27A5 D0 0A ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE4E2Alt3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE4E2Alt3: lda #$08 ; CPU:$E7A7 PRG:27A7 A9 08 bne InitSpriteDataCallE5ACAlt4 ; CPU:$E7A9 PRG:27A9 D0 06 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE5ACAlt3 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE5ACAlt3: lda #$04 ; CPU:$E7AB PRG:27AB A9 04 bne InitSpriteDataCallE5ACAlt4 ; CPU:$E7AD PRG:27AD D0 02 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE4E2Alt4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE4E2Alt4: lda #$02 ; CPU:$E7AF PRG:27AF A9 02 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE5ACAlt4 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE5ACAlt4: ora ZpF0 ; CPU:$E7B1 PRG:27B1 05 F0 sta ZpF0 ; CPU:$E7B3 PRG:27B3 85 F0 rts ; CPU:$E7B5 PRG:27B5 60 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataExit: lda #$08 ; CPU:$E7B6 PRG:27B6 A9 08 bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7B8 PRG:27B8 D0 1C lda #$01 ; CPU:$E7BA PRG:27BA A9 01 bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7BC PRG:27BC D0 18 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE4E2Alt5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE4E2Alt5: lda #$04 ; CPU:$E7BE PRG:27BE A9 04 bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7C0 PRG:27C0 D0 14 lda #$10 ; CPU:$E7C2 PRG:27C2 A9 10 bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7C4 PRG:27C4 D0 10 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE5ACAlt5 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE5ACAlt5: lda #$80 ; CPU:$E7C6 PRG:27C6 A9 80 bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7C8 PRG:27C8 D0 0C lda #$40 ; CPU:$E7CA PRG:27CA A9 40 bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7CC PRG:27CC D0 08 lda #$20 ; CPU:$E7CE PRG:27CE A9 20 bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7D0 PRG:27D0 D0 04 lda #$02 ; CPU:$E7D2 PRG:27D2 A9 02 bne InitSpriteDataCallE4E2Alt6 ; CPU:$E7D4 PRG:27D4 D0 00 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE4E2Alt6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE4E2Alt6: ora ZpF1 ; CPU:$E7D6 PRG:27D6 05 F1 sta ZpF1 ; CPU:$E7D8 PRG:27D8 85 F1 rts ; CPU:$E7DA PRG:27DA 60 ; ----------------------------------------------------------------------------- ; Routine: InitSpriteDataCallE5ACAlt6 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSpriteDataCallE5ACAlt6: lda #$01 ; CPU:$E7DB PRG:27DB A9 01 bne InitSoundCallE4E2 ; CPU:$E7DD PRG:27DD D0 1A lda #$10 ; CPU:$E7DF PRG:27DF A9 10 bne InitSoundCallE4E2 ; CPU:$E7E1 PRG:27E1 D0 16 lda #$20 ; CPU:$E7E3 PRG:27E3 A9 20 bne InitSoundCallE4E2 ; CPU:$E7E5 PRG:27E5 D0 12 lda #$08 ; CPU:$E7E7 PRG:27E7 A9 08 bne InitSoundCallE4E2 ; CPU:$E7E9 PRG:27E9 D0 0E lda #$04 ; CPU:$E7EB PRG:27EB A9 04 bne InitSoundCallE4E2 ; CPU:$E7ED PRG:27ED D0 0A ; ----------------------------------------------------------------------------- ; 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 #$02 ; CPU:$E7EF PRG:27EF A9 02 bne InitSoundCallE4E2 ; CPU:$E7F1 PRG:27F1 D0 06 lda #$40 ; CPU:$E7F3 PRG:27F3 A9 40 bne InitSoundCallE4E2 ; CPU:$E7F5 PRG:27F5 D0 02 ; ----------------------------------------------------------------------------- ; Routine: InitSoundEntry ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSoundEntry: lda #$80 ; CPU:$E7F7 PRG:27F7 A9 80 ; ----------------------------------------------------------------------------- ; Routine: InitSoundCallE4E2 ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSoundCallE4E2: ora ZpF2 ; CPU:$E7F9 PRG:27F9 05 F2 sta ZpF2 ; CPU:$E7FB PRG:27FB 85 F2 rts ; CPU:$E7FD PRG:27FD 60 ; ----------------------------------------------------------------------------- ; Routine: InitSoundExit ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSoundExit: lda ZpA3 ; CPU:$E7FE PRG:27FE A5 A3 bne InitSoundCallE5AC ; CPU:$E800 PRG:2800 D0 09 lda ZpE6 ; CPU:$E802 PRG:2802 A5 E6 bne InitSoundCallE5AC ; CPU:$E804 PRG:2804 D0 05 inc ZpA3 ; CPU:$E806 PRG:2806 E6 A3 jmp $E7F7 ; CPU:$E808 PRG:2808 4C F7 E7 ; ----------------------------------------------------------------------------- ; Routine: InitSoundCallE5AC ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSoundCallE5AC: rts ; CPU:$E80B PRG:280B 60 ; ----------------------------------------------------------------------------- ; Routine: InitSoundExit_E80C ; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage. ; Local: Continues its parent routine along the condition or operation encoded in this label, ; then returns, branches again, or rejoins shared code as documented by the instructions. ; Parameters: Undetermined in Pass 1 unless implied by the caller. ; Returns: Undetermined in Pass 1; status flags and registers may carry results. ; Clobbers: Undetermined in Pass 1. ; ----------------------------------------------------------------------------- InitSoundExit_E80C: lda #$00 ; CPU:$E80C PRG:280C A9 00 sta ZpA3 ; CPU:$E80E PRG:280E 85 A3 jmp $E7BE ; CPU:$E810 PRG:2810 4C BE E7 ; ---- data $E813-$FFFF (6125 bytes) ---- ; referenced by `lda $F68A,x` at $CA5E (operand $F68A falls inside this region) ; referenced by `lda $F5B2,y` at $CC8D (operand $F5B2 falls inside this region) ; referenced by `ldx $F5B3,y` at $CC90 (operand $F5B3 falls inside this region) ; referenced by `lda $F771,x` at $D178 (operand $F771 falls inside this region) ; referenced by `ldy $F772,x` at $D17B (operand $F772 falls inside this region) ; referenced by `lda $F940,y` at $DBAA (operand $F940 falls inside this region) ; ... and 13 further references from decoded code .byte $4F, $E8, $54, $E8, $59, $E8, $5E, $E8, $63, $E8, $68, $E8, $6D, $E8, $72, $E8 ; CPU:$E813 PRG:2813 4F E8 54 E8 59 E8 5E E8 63 E8 68 E8 6D E8 72 E8 .byte $77, $E8, $7C, $E8, $81, $E8, $86, $E8, $8B, $E8, $90, $E8, $95, $E8, $9A, $E8 ; CPU:$E823 PRG:2823 77 E8 7C E8 81 E8 86 E8 8B E8 90 E8 95 E8 9A E8 .byte $9F, $E8, $A4, $E8, $DB, $E8, $E0, $E8, $A9, $E8, $AE, $E8, $B3, $E8, $B8, $E8 ; CPU:$E833 PRG:2833 9F E8 A4 E8 DB E8 E0 E8 A9 E8 AE E8 B3 E8 B8 E8 .byte $BD, $E8, $C2, $E8, $C7, $E8, $CC, $E8, $D1, $E8, $D6, $E8, $E9, $57, $F2, $F8 ; CPU:$E843 PRG:2843 BD E8 C2 E8 C7 E8 CC E8 D1 E8 D6 E8 E9 57 F2 F8 .byte $00, $E9, $6B, $F2, $F8, $00, $E9, $80, $F0, $F8, $00, $E9, $94, $F2, $F8, $00 ; CPU:$E853 PRG:2853 00 E9 6B F2 F8 00 E9 80 F0 F8 00 E9 94 F2 F8 00 .byte $E9, $A8, $F0, $F8, $00, $E9, $B8, $F0, $F8, $00, $E9, $C8, $F0, $F8, $00, $E9 ; CPU:$E863 PRG:2863 E9 A8 F0 F8 00 E9 B8 F0 F8 00 E9 C8 F0 F8 00 E9 .byte $D8, $F0, $F8, $00, $E9, $E8, $F0, $EC, $00, $EA, $02, $F0, $E8, $00, $EA, $1C ; CPU:$E873 PRG:2873 D8 F0 F8 00 E9 E8 F0 EC 00 EA 02 F0 E8 00 EA 1C .byte $F0, $FD, $00, $EA, $31, $EE, $F8, $00, $EA, $4D, $F6, $F8, $00, $EA, $5F, $F0 ; CPU:$E883 PRG:2883 F0 FD 00 EA 31 EE F8 00 EA 4D F6 F8 00 EA 5F F0 .byte $F8, $00, $EA, $81, $F3, $F8, $00, $EA, $9F, $F0, $FC, $00, $EA, $B3, $F0, $FC ; CPU:$E893 PRG:2893 F8 00 EA 81 F3 F8 00 EA 9F F0 FC 00 EA B3 F0 FC .byte $00, $EA, $C7, $00, $06, $00, $EA, $DC, $FC, $F8, $00, $EA, $F5, $F2, $F4, $00 ; CPU:$E8A3 PRG:28A3 00 EA C7 00 06 00 EA DC FC F8 00 EA F5 F2 F4 00 .byte $EB, $0A, $F1, $F8, $00, $EB, $1A, $F1, $F8, $00, $EB, $2A, $F0, $F0, $00, $EB ; CPU:$E8B3 PRG:28B3 EB 0A F1 F8 00 EB 1A F1 F8 00 EB 2A F0 F0 00 EB .byte $44, $F0, $F0, $00, $EB, $5D, $F0, $F0, $00, $EB, $6D, $F2, $F4, $00, $EB, $82 ; CPU:$E8C3 PRG:28C3 44 F0 F0 00 EB 5D F0 F0 00 EB 6D F2 F4 00 EB 82 .byte $F2, $F4, $00, $EB, $97, $F0, $F0, $00, $EB, $B0, $F4, $F8, $00, $EB, $BA, $F4 ; CPU:$E8D3 PRG:28D3 F2 F4 00 EB 97 F0 F0 00 EB B0 F4 F8 00 EB BA F4 .byte $F8, $00, $00, $00, $00, $08, $08, $00, $08, $08, $10, $00, $10, $08, $18, $00 ; CPU:$E8E3 PRG:28E3 F8 00 00 00 00 08 08 00 08 08 10 00 10 08 18 00 .byte $18, $08, $20, $00, $20, $08, $00, $00, $00, $08, $00, $10, $08, $00, $08, $08 ; CPU:$E8F3 PRG:28F3 18 08 20 00 20 08 00 00 00 08 00 10 08 00 08 08 .byte $08, $10, $10, $00, $10, $08, $10, $10, $18, $00, $18, $08, $18, $10, $20, $00 ; CPU:$E903 PRG:2903 08 10 10 00 10 08 10 10 18 00 18 08 18 10 20 00 .byte $20, $08, $20, $10, $00, $00, $00, $08, $00, $10, $00, $18, $08, $00, $08, $08 ; CPU:$E913 PRG:2913 20 08 20 10 00 00 00 08 00 10 00 18 08 00 08 08 .byte $08, $10, $08, $18, $10, $00, $10, $08, $10, $10, $10, $18, $18, $00, $18, $08 ; CPU:$E923 PRG:2923 08 10 08 18 10 00 10 08 10 10 10 18 18 00 18 08 .byte $18, $10, $18, $18, $20, $00, $20, $08, $20, $10, $20, $18, $00, $08, $00, $10 ; CPU:$E933 PRG:2933 18 10 18 18 20 00 20 08 20 10 20 18 00 08 00 10 .byte $08, $08, $08, $10, $10, $08, $10, $10, $10, $00, $10, $18, $08, $00, $08, $18 ; CPU:$E943 PRG:2943 08 08 08 10 10 08 10 10 10 00 10 18 08 00 08 18 .byte $00, $00, $00, $18, $01, $FD, $00, $05, $00, $FE, $96, $92, $90, $97, $93, $91 ; CPU:$E953 PRG:2953 00 00 00 18 01 FD 00 05 00 FE 96 92 90 97 93 91 .byte $FD, $02, $98, $94, $FE, $99, $95, $FF, $01, $FD, $00, $05, $00, $FE, $06, $01 ; CPU:$E963 PRG:2963 FD 02 98 94 FE 99 95 FF 01 FD 00 05 00 FE 06 01 .byte $FE, $07, $02, $FE, $FD, $02, $8E, $8B, $87, $8F, $8C, $88, $FF, $01, $FD, $00 ; CPU:$E973 PRG:2973 FE 07 02 FE FD 02 8E 8B 87 8F 8C 88 FF 01 FD 00 .byte $05, $00, $FE, $06, $89, $85, $8D, $8A, $86, $FD, $02, $11, $0C, $FE, $12, $0D ; CPU:$E983 PRG:2983 05 00 FE 06 89 85 8D 8A 86 FD 02 11 0C FE 12 0D .byte $FF, $01, $FD, $00, $05, $00, $FE, $96, $92, $90, $97, $93, $91, $FD, $02, $9C ; CPU:$E993 PRG:2993 FF 01 FD 00 05 00 FE 96 92 90 97 93 91 FD 02 9C .byte $9A, $FE, $9D, $9B, $FF, $00, $FD, $00, $0E, $00, $0F, $0A, $10, $0B, $FD, $02 ; CPU:$E9A3 PRG:29A3 9A FE 9D 9B FF 00 FD 00 0E 00 0F 0A 10 0B FD 02 .byte $08, $03, $09, $04, $FF, $00, $FD, $00, $0E, $00, $0F, $0A, $10, $0B, $FD, $02 ; CPU:$E9B3 PRG:29B3 08 03 09 04 FF 00 FD 00 0E 00 0F 0A 10 0B FD 02 .byte $11, $0C, $12, $0D, $FF, $00, $FD, $00, $05, $00, $06, $01, $07, $02, $FD, $02 ; CPU:$E9C3 PRG:29C3 11 0C 12 0D FF 00 FD 00 05 00 06 01 07 02 FD 02 .byte $08, $03, $09, $04, $FF, $00, $FD, $00, $05, $00, $06, $01, $07, $02, $FD, $02 ; CPU:$E9D3 PRG:29D3 08 03 09 04 FF 00 FD 00 05 00 06 01 07 02 FD 02 .byte $11, $0C, $12, $0D, $FF, $02, $FD, $00, $1E, $1B, $16, $FE, $1F, $1C, $17, $FE ; CPU:$E9E3 PRG:29E3 11 0C 12 0D FF 02 FD 00 1E 1B 16 FE 1F 1C 17 FE .byte $FE, $1D, $18, $13, $FD, $02, $FE, $FE, $19, $14, $FE, $FE, $1A, $15, $FF, $02 ; CPU:$E9F3 PRG:29F3 FE 1D 18 13 FD 02 FE FE 19 14 FE FE 1A 15 FF 02 .byte $FD, $00, $FE, $24, $21, $FE, $FE, $25, $22, $FE, $27, $26, $23, $13, $FD, $02 ; CPU:$EA03 PRG:2A03 FD 00 FE 24 21 FE FE 25 22 FE 27 26 23 13 FD 02 .byte $FE, $FE, $19, $14, $FE, $FE, $1A, $15, $FF, $01, $FD, $00, $FE, $36, $00, $FE ; CPU:$EA13 PRG:2A13 FE FE 19 14 FE FE 1A 15 FF 01 FD 00 FE 36 00 FE .byte $37, $32, $FE, $38, $33, $FD, $02, $3B, $39, $34, $3C, $3A, $35, $FF, $02, $FD ; CPU:$EA23 PRG:2A23 37 32 FE 38 33 FD 02 3B 39 34 3C 3A 35 FF 02 FD .byte $00, $FE, $FE, $3F, $3D, $FE, $43, $40, $3E, $FE, $44, $41, $FE, $FD, $02, $47 ; CPU:$EA33 PRG:2A33 00 FE FE 3F 3D FE 43 40 3E FE 44 41 FE FD 02 47 .byte $45, $FD, $00, $42, $FE, $FD, $02, $48, $46, $FF, $01, $FD, $00, $51, $4D, $49 ; CPU:$EA43 PRG:2A43 45 FD 00 42 FE FD 02 48 46 FF 01 FD 00 51 4D 49 .byte $52, $4E, $4A, $FD, $02, $FE, $4F, $4B, $FE, $50, $4C, $FF, $03, $FD, $02, $FE ; CPU:$EA53 PRG:2A53 52 4E 4A FD 02 FE 4F 4B FE 50 4C FF 03 FD 02 FE .byte $6F, $FD, $00, $6B, $FE, $FD, $02, $FE, $70, $FD, $00, $6C, $68, $FD, $02, $72 ; CPU:$EA63 PRG:2A63 6F FD 00 6B FE FD 02 FE 70 FD 00 6C 68 FD 02 72 .byte $71, $FD, $00, $6D, $69, $FD, $02, $73, $FE, $FD, $00, $6E, $6A, $FF, $02, $FD ; CPU:$EA73 PRG:2A73 71 FD 00 6D 69 FD 02 73 FE FD 00 6E 6A FF 02 FD .byte $02, $FE, $76, $FE, $FE, $7A, $77, $FD, $00, $73, $70, $FD, $02, $FE, $78, $FD ; CPU:$EA83 PRG:2A83 02 FE 76 FE FE 7A 77 FD 00 73 70 FD 02 FE 78 FD .byte $00, $74, $71, $FD, $02, $FE, $79, $FD, $00, $75, $72, $FF, $01, $FD, $00, $05 ; CPU:$EA93 PRG:2A93 00 74 71 FD 02 FE 79 FD 00 75 72 FF 01 FD 00 05 .byte $00, $FE, $2E, $B3, $B2, $2F, $B4, $FE, $FD, $02, $30, $2C, $FE, $31, $2D, $FF ; CPU:$EAA3 PRG:2AA3 00 FE 2E B3 B2 2F B4 FE FD 02 30 2C FE 31 2D FF .byte $01, $FD, $00, $05, $00, $FE, $2E, $2A, $28, $2F, $2B, $29, $FD, $02, $30, $2C ; CPU:$EAB3 PRG:2AB3 01 FD 00 05 00 FE 2E 2A 28 2F 2B 29 FD 02 30 2C .byte $FE, $31, $2D, $FF, $01, $FD, $02, $62, $5F, $5C, $FD, $00, $63, $FD, $02, $60 ; CPU:$EAC3 PRG:2AC3 FE 31 2D FF 01 FD 02 62 5F 5C FD 00 63 FD 02 60 .byte $5D, $FD, $00, $64, $61, $FD, $02, $5E, $FF, $02, $FD, $02, $FE, $80, $FD, $00 ; CPU:$EAD3 PRG:2AD3 5D FD 00 64 61 FD 02 5E FF 02 FD 02 FE 80 FD 00 .byte $7D, $7B, $FD, $02, $83, $81, $FD, $00, $7E, $7C, $FD, $02, $84, $82, $FD, $00 ; CPU:$EAE3 PRG:2AE3 7D 7B FD 02 83 81 FD 00 7E 7C FD 02 84 82 FD 00 .byte $7F, $FF, $01, $FD, $00, $A7, $A2, $FE, $A8, $A3, $9E, $A9, $A4, $9F, $FD, $02 ; CPU:$EAF3 PRG:2AF3 7F FF 01 FD 00 A7 A2 FE A8 A3 9E A9 A4 9F FD 02 .byte $AA, $A5, $A0, $AB, $A6, $A1, $FF, $00, $FD, $00, $B9, $B6, $BA, $B7, $BB, $B8 ; CPU:$EB03 PRG:2B03 AA A5 A0 AB A6 A1 FF 00 FD 00 B9 B6 BA B7 BB B8 .byte $FD, $02, $98, $94, $99, $95, $FF, $00, $FD, $00, $BF, $BC, $C0, $BD, $C1, $BE ; CPU:$EB13 PRG:2B13 FD 02 98 94 99 95 FF 00 FD 00 BF BC C0 BD C1 BE .byte $FD, $02, $98, $94, $99, $95, $FF, $02, $FD, $00, $FE, $DB, $DE, $E3, $FE, $DC ; CPU:$EB23 PRG:2B23 FD 02 98 94 99 95 FF 02 FD 00 FE DB DE E3 FE DC .byte $DF, $E4, $DA, $DD, $E0, $FD, $02, $E5, $FE, $FE, $E1, $E6, $FE, $FE, $E2, $E7 ; CPU:$EB33 PRG:2B33 DF E4 DA DD E0 FD 02 E5 FE FE E1 E6 FE FE E2 E7 .byte $FF, $02, $FD, $00, $FE, $CE, $D3, $FE, $CA, $CF, $D4, $D8, $CB, $D0, $D5, $D9 ; CPU:$EB43 PRG:2B43 FF 02 FD 00 FE CE D3 FE CA CF D4 D8 CB D0 D5 D9 .byte $FD, $02, $CC, $D1, $D6, $FE, $CD, $D2, $D7, $FF, $02, $FD, $00, $FE, $6B, $20 ; CPU:$EB53 PRG:2B53 FD 02 CC D1 D6 FE CD D2 D7 FF 02 FD 00 FE 6B 20 .byte $FE, $CA, $CF, $D4, $D8, $CB, $D0, $D5, $D9, $FF, $01, $FD, $00, $B0, $AE, $AC ; CPU:$EB63 PRG:2B63 FE CA CF D4 D8 CB D0 D5 D9 FF 01 FD 00 B0 AE AC .byte $B1, $AF, $AD, $A9, $A4, $9F, $FD, $02, $AA, $A5, $A0, $AB, $A6, $A1, $FF, $01 ; CPU:$EB73 PRG:2B73 B1 AF AD A9 A4 9F FD 02 AA A5 A0 AB A6 A1 FF 01 .byte $FD, $00, $59, $56, $53, $5A, $57, $54, $FE, $58, $55, $FD, $02, $AA, $A5, $A0 ; CPU:$EB83 PRG:2B83 FD 00 59 56 53 5A 57 54 FE 58 55 FD 02 AA A5 A0 .byte $AB, $A6, $A1, $FF, $02, $FD, $00, $FE, $6B, $20, $FE, $CA, $CF, $D4, $D8, $CB ; CPU:$EB93 PRG:2B93 AB A6 A1 FF 02 FD 00 FE 6B 20 FE CA CF D4 D8 CB .byte $D0, $D5, $D9, $FD, $02, $FE, $C9, $D6, $FE, $FE, $48, $C8, $FF, $03, $FD, $00 ; CPU:$EBA3 PRG:2BA3 D0 D5 D9 FD 02 FE C9 D6 FE FE 48 C8 FF 03 FD 00 .byte $65, $65, $66, $66, $67, $67, $FF, $03, $FD, $00, $68, $68, $69, $69, $6A, $6A ; CPU:$EBB3 PRG:2BB3 65 65 66 66 67 67 FF 03 FD 00 68 68 69 69 6A 6A .byte $FF, $20, $00, $C6, $31, $20, $01, $45, $31, $20, $21, $C4, $31, $20, $22, $44 ; CPU:$EBC3 PRG:2BC3 FF 20 00 C6 31 20 01 45 31 20 21 C4 31 20 22 44 .byte $31, $20, $42, $C3, $31, $20, $43, $43, $31, $20, $63, $C4, $31, $20, $65, $C3 ; CPU:$EBD3 PRG:2BD3 31 20 42 C3 31 20 43 43 31 20 63 C4 31 20 65 C3 .byte $31, $20, $C0, $C3, $37, $20, $A1, $C4, $3E, $21, $20, $42, $32, $21, $40, $42 ; CPU:$EBE3 PRG:2BE3 31 20 C0 C3 37 20 A1 C4 3E 21 20 42 32 21 40 42 .byte $36, $21, $60, $42, $34, $21, $80, $42, $36, $21, $A0, $42, $34, $21, $C0, $C4 ; CPU:$EBF3 PRG:2BF3 36 21 60 42 34 21 80 42 36 21 A0 42 34 21 C0 C4 .byte $32, $21, $C1, $C4, $32, $20, $A2, $C3, $3E, $20, $E3, $02, $3E, $35, $21, $02 ; CPU:$EC03 PRG:2C03 32 21 C1 C4 32 20 A2 C3 3E 20 E3 02 3E 35 21 02 .byte $43, $36, $21, $22, $43, $34, $21, $42, $42, $36, $21, $62, $42, $34, $21, $82 ; CPU:$EC13 PRG:2C13 43 36 21 22 43 34 21 42 42 36 21 62 42 34 21 82 .byte $C6, $32, $21, $83, $C6, $32, $20, $64, $84, $43, $42, $37, $37, $21, $44, $02 ; CPU:$EC23 PRG:2C23 C6 32 21 83 C6 32 20 64 84 43 42 37 37 21 44 02 .byte $32, $34, $21, $64, $87, $45, $47, $49, $4B, $4B, $4D, $4F, $21, $65, $87, $44 ; CPU:$EC33 PRG:2C33 32 34 21 64 87 45 47 49 4B 4B 4D 4F 21 65 87 44 .byte $46, $48, $4A, $4A, $4C, $4E, $20, $C5, $C3, $3E, $21, $25, $01, $36, $20, $1A ; CPU:$EC43 PRG:2C43 46 48 4A 4A 4C 4E 20 C5 C3 3E 21 25 01 36 20 1A .byte $C6, $31, $20, $1B, $45, $31, $20, $3B, $C2, $31, $20, $3C, $44, $31, $20, $5C ; CPU:$EC53 PRG:2C53 C6 31 20 1B 45 31 20 3B C2 31 20 3C 44 31 20 5C .byte $C5, $31, $20, $5D, $43, $31, $20, $7D, $43, $31, $20, $9E, $C4, $31, $20, $9F ; CPU:$EC63 PRG:2C63 C5 31 20 5D 43 31 20 7D 43 31 20 9E C4 31 20 9F .byte $C3, $31, $20, $7B, $85, $43, $42, $37, $37, $37, $20, $FC, $42, $3E, $20, $9D ; CPU:$EC73 PRG:2C73 C3 31 20 7B 85 43 42 37 37 37 20 FC 42 3E 20 9D .byte $83, $43, $42, $37, $21, $1B, $43, $36, $21, $3B, $43, $34, $21, $5C, $42, $36 ; CPU:$EC83 PRG:2C83 83 43 42 37 21 1B 43 36 21 3B 43 34 21 5C 42 36 .byte $21, $5B, $01, $32, $20, $DA, $C4, $38, $21, $5A, $88, $32, $45, $47, $49, $4B ; CPU:$EC93 PRG:2C93 21 5B 01 32 20 DA C4 38 21 5A 88 32 45 47 49 4B .byte $4B, $4D, $4F, $21, $7B, $87, $44, $46, $48, $4A, $4A, $4C, $4E, $21, $7C, $42 ; CPU:$ECA3 PRG:2CA3 4B 4D 4F 21 7B 87 44 46 48 4A 4A 4C 4E 21 7C 42 .byte $34, $21, $9C, $C6, $32, $21, $9D, $C6, $32, $21, $1E, $84, $3E, $36, $34, $36 ; CPU:$ECB3 PRG:2CB3 34 21 9C C6 32 21 9D C6 32 21 1E 84 3E 36 34 36 .byte $21, $BE, $C5, $32, $21, $9E, $01, $34, $20, $FF, $87, $37, $37, $36, $34, $36 ; CPU:$ECC3 PRG:2CC3 21 BE C5 32 21 9E 01 34 20 FF 87 37 37 36 34 36 .byte $34, $32, $21, $DF, $C4, $32, $20, $06, $01, $80, $20, $07, $53, $82, $20, $26 ; CPU:$ECD3 PRG:2CD3 34 32 21 DF C4 32 20 06 01 80 20 07 53 82 20 26 .byte $14, $80, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82 ; CPU:$ECE3 PRG:2CE3 14 80 82 82 82 82 82 82 82 82 82 82 82 82 82 82 .byte $82, $82, $82, $82, $84, $20, $46, $C5, $80, $20, $49, $C5, $82, $20, $4A, $C5 ; CPU:$ECF3 PRG:2CF3 82 82 82 82 84 20 46 C5 80 20 49 C5 82 20 4A C5 .byte $82, $20, $4D, $C5, $82, $20, $4E, $C5, $82, $20, $51, $C5, $82, $20, $52, $C5 ; CPU:$ED03 PRG:2D03 82 20 4D C5 82 20 4E C5 82 20 51 C5 82 20 52 C5 .byte $82, $20, $55, $C5, $82, $20, $56, $C5, $82, $20, $59, $C5, $84, $20, $E6, $08 ; CPU:$ED13 PRG:2D13 82 20 55 C5 82 20 56 C5 82 20 59 C5 84 20 E6 08 .byte $86, $87, $87, $89, $86, $87, $87, $89, $20, $EE, $08, $86, $87, $87, $89, $86 ; CPU:$ED23 PRG:2D23 86 87 87 89 86 87 87 89 20 EE 08 86 87 87 89 86 .byte $87, $87, $89, $20, $F6, $04, $86, $87, $87, $89, $21, $46, $54, $33, $22, $26 ; CPU:$ED33 PRG:2D33 87 87 89 20 F6 04 86 87 87 89 21 46 54 33 22 26 .byte $54, $33, $21, $66, $C6, $33, $21, $87, $C4, $8B, $22, $07, $01, $8C, $22, $08 ; CPU:$ED43 PRG:2D43 54 33 21 66 C6 33 21 87 C4 8B 22 07 01 8C 22 08 .byte $44, $8F, $21, $6D, $C6, $33, $21, $68, $44, $8D, $21, $6C, $01, $90, $21, $8C ; CPU:$ED53 PRG:2D53 44 8F 21 6D C6 33 21 68 44 8D 21 6C 01 90 21 8C .byte $C4, $91, $22, $0C, $01, $92, $21, $4E, $04, $D6, $D7, $D7, $D8, $21, $6E, $04 ; CPU:$ED63 PRG:2D63 C4 91 22 0C 01 92 21 4E 04 D6 D7 D7 D8 21 6E 04 .byte $93, $96, $93, $96, $21, $8E, $C4, $94, $22, $0E, $82, $95, $9B, $21, $8F, $86 ; CPU:$ED73 PRG:2D73 93 96 93 96 21 8E C4 94 22 0E 82 95 9B 21 8F 86 .byte $97, $97, $98, $97, $99, $9C, $21, $90, $86, $94, $94, $9A, $94, $95, $9B, $21 ; CPU:$ED83 PRG:2D83 97 97 98 97 99 9C 21 90 86 94 94 9A 94 95 9B 21 .byte $91, $C4, $97, $22, $11, $82, $99, $9C, $21, $72, $C6, $33, $21, $73, $01, $8A ; CPU:$ED93 PRG:2D93 91 C4 97 22 11 82 99 9C 21 72 C6 33 21 73 01 8A .byte $21, $67, $01, $8A, $21, $74, $44, $8D, $21, $93, $C4, $8B, $22, $13, $01, $8C ; CPU:$EDA3 PRG:2DA3 21 67 01 8A 21 74 44 8D 21 93 C4 8B 22 13 01 8C .byte $22, $14, $44, $8F, $21, $79, $C6, $33, $21, $78, $01, $90, $21, $98, $C4, $91 ; CPU:$EDB3 PRG:2DB3 22 14 44 8F 21 79 C6 33 21 78 01 90 21 98 C4 91 .byte $22, $18, $01, $92, $21, $06, $54, $33, $21, $26, $54, $32, $21, $0B, $0A, $33 ; CPU:$EDC3 PRG:2DC3 22 18 01 92 21 06 54 33 21 26 54 32 21 0B 0A 33 .byte $FA, $F5, $E8, $EA, $F2, $33, $E9, $E8, $F9, $21, $46, $C8, $D2, $21, $4D, $C8 ; CPU:$EDD3 PRG:2DD3 FA F5 E8 EA F2 33 E9 E8 F9 21 46 C8 D2 21 4D C8 .byte $D2, $21, $52, $C8, $D2, $21, $59, $C8, $D2, $23, $C0, $20, $00, $CC, $FF, $FF ; CPU:$EDE3 PRG:2DE3 D2 21 52 C8 D2 21 59 C8 D2 23 C0 20 00 CC FF FF .byte $FF, $FF, $33, $00, $00, $CC, $FF, $FF, $FF, $FF, $33, $00, $00, $88, $AA, $AA ; CPU:$EDF3 PRG:2DF3 FF FF 33 00 00 CC FF FF FF FF 33 00 00 88 AA AA .byte $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $23, $E0, $08, $A0 ; CPU:$EE03 PRG:2E03 AA AA 22 00 00 88 AA AA AA AA 22 00 23 E0 08 A0 .byte $A8, $AA, $AA, $AA, $AA, $A2, $A0, $24, $00, $C7, $31, $24, $01, $45, $31, $24 ; CPU:$EE13 PRG:2E13 A8 AA AA AA AA A2 A0 24 00 C7 31 24 01 45 31 24 .byte $21, $C5, $31, $24, $22, $44, $31, $24, $42, $C6, $31, $24, $43, $43, $31, $24 ; CPU:$EE23 PRG:2E23 21 C5 31 24 22 44 31 24 42 C6 31 24 43 43 31 24 .byte $63, $01, $31, $24, $64, $C6, $31, $24, $65, $C4, $31, $24, $E0, $83, $38, $36 ; CPU:$EE33 PRG:2E33 63 01 31 24 64 C6 31 24 65 C4 31 24 E0 83 38 36 .byte $34, $25, $40, $C8, $32, $24, $C1, $86, $37, $37, $36, $34, $36, $34, $25, $81 ; CPU:$EE43 PRG:2E43 34 25 40 C8 32 24 C1 86 37 37 36 34 36 34 25 81 .byte $C6, $32, $25, $02, $42, $3E, $25, $22, $42, $3E, $25, $42, $42, $36, $25, $62 ; CPU:$EE53 PRG:2E53 C6 32 25 02 42 3E 25 22 42 3E 25 42 42 36 25 62 .byte $42, $34, $25, $82, $42, $36, $25, $A2, $42, $34, $25, $C2, $C4, $32, $25, $C3 ; CPU:$EE63 PRG:2E63 42 34 25 82 42 36 25 A2 42 34 25 C2 C4 32 25 C3 .byte $C4, $32, $25, $24, $42, $36, $24, $C5, $C2, $37, $25, $44, $42, $34, $25, $64 ; CPU:$EE73 PRG:2E73 C4 32 25 24 42 36 24 C5 C2 37 25 44 42 34 25 64 .byte $02, $DD, $DB, $25, $84, $02, $DE, $DC, $25, $A4, $C3, $4B, $25, $A5, $C3, $4A ; CPU:$EE83 PRG:2E83 02 DD DB 25 84 02 DE DC 25 A4 C3 4B 25 A5 C3 4A .byte $26, $04, $02, $4D, $4C, $26, $24, $02, $4F, $4E, $24, $83, $83, $43, $42, $37 ; CPU:$EE93 PRG:2E93 26 04 02 4D 4C 26 24 02 4F 4E 24 83 83 43 42 37 .byte $24, $1A, $C7, $31, $24, $1B, $45, $31, $24, $3B, $C5, $31, $24, $3C, $44, $31 ; CPU:$EEA3 PRG:2EA3 24 1A C7 31 24 1B 45 31 24 3B C5 31 24 3C 44 31 .byte $24, $5C, $C4, $31, $24, $5D, $43, $31, $24, $7D, $C4, $31, $24, $7E, $42, $31 ; CPU:$EEB3 PRG:2EB3 24 5C C4 31 24 5D 43 31 24 7D C4 31 24 7E 42 31 .byte $24, $FA, $C3, $37, $25, $5A, $83, $32, $DD, $DE, $25, $BA, $C3, $4B, $26, $1A ; CPU:$EEC3 PRG:2EC3 24 FA C3 37 25 5A 83 32 DD DE 25 BA C3 4B 26 1A .byte $82, $4D, $4F, $24, $DB, $C5, $3E, $25, $7B, $82, $DB, $DC, $25, $BB, $C3, $4A ; CPU:$EED3 PRG:2ED3 82 4D 4F 24 DB C5 3E 25 7B 82 DB DC 25 BB C3 4A .byte $26, $1B, $82, $4C, $4E, $24, $DC, $C4, $3E, $25, $5C, $43, $36, $25, $7C, $43 ; CPU:$EEE3 PRG:2EE3 26 1B 82 4C 4E 24 DC C4 3E 25 5C 43 36 25 7C 43 .byte $34, $25, $9C, $43, $36, $25, $BC, $43, $34, $25, $DC, $C4, $32, $25, $DD, $C4 ; CPU:$EEF3 PRG:2EF3 34 25 9C 43 36 25 BC 43 34 25 DC C4 32 25 DD C4 .byte $32, $24, $FD, $83, $39, $32, $3E, $25, $DE, $C4, $32, $24, $9E, $82, $43, $42 ; CPU:$EF03 PRG:2F03 32 24 FD 83 39 32 3E 25 DE C4 32 24 9E 82 43 42 .byte $24, $9F, $C2, $31, $24, $DE, $C3, $37, $24, $DF, $C3, $3E, $25, $3F, $C9, $32 ; CPU:$EF13 PRG:2F13 24 9F C2 31 24 DE C3 37 24 DF C3 3E 25 3F C9 32 .byte $25, $3E, $01, $35, $24, $E3, $01, $37, $25, $05, $01, $38, $25, $46, $C7, $80 ; CPU:$EF23 PRG:2F23 25 3E 01 35 24 E3 01 37 25 05 01 38 25 46 C7 80 .byte $26, $26, $02, $81, $85, $25, $47, $C7, $84, $25, $48, $04, $8A, $8D, $8D, $90 ; CPU:$EF33 PRG:2F33 26 26 02 81 85 25 47 C7 84 25 48 04 8A 8D 8D 90 .byte $25, $68, $C5, $8B, $26, $08, $04, $8C, $8F, $8F, $92, $26, $28, $44, $D3, $25 ; CPU:$EF43 PRG:2F43 25 68 C5 8B 26 08 04 8C 8F 8F 92 26 28 44 D3 25 .byte $6B, $C5, $91, $25, $4C, $C7, $80, $26, $2C, $01, $81, $25, $4D, $C7, $84, $26 ; CPU:$EF53 PRG:2F53 6B C5 91 25 4C C7 80 26 2C 01 81 25 4D C7 84 26 .byte $2D, $01, $85, $25, $4E, $44, $32, $25, $6E, $04, $93, $96, $93, $96, $25, $8E ; CPU:$EF63 PRG:2F63 2D 01 85 25 4E 44 32 25 6E 04 93 96 93 96 25 8E .byte $C4, $94, $26, $0E, $04, $95, $99, $95, $99, $26, $2E, $04, $9B, $9C, $9B, $9C ; CPU:$EF73 PRG:2F73 C4 94 26 0E 04 95 99 95 99 26 2E 04 9B 9C 9B 9C .byte $25, $8F, $C4, $97, $25, $90, $C4, $94, $25, $91, $C4, $97, $25, $CF, $02, $D9 ; CPU:$EF83 PRG:2F83 25 8F C4 97 25 90 C4 94 25 91 C4 97 25 CF 02 D9 .byte $DA, $25, $52, $C7, $80, $25, $53, $C7, $84, $26, $32, $02, $81, $85, $25, $54 ; CPU:$EF93 PRG:2F93 DA 25 52 C7 80 25 53 C7 84 26 32 02 81 85 25 54 .byte $04, $8A, $8D, $8D, $90, $25, $74, $C5, $8B, $26, $14, $04, $8C, $8F, $8F, $92 ; CPU:$EFA3 PRG:2FA3 04 8A 8D 8D 90 25 74 C5 8B 26 14 04 8C 8F 8F 92 .byte $26, $34, $44, $D3, $25, $77, $C5, $91, $25, $58, $C7, $80, $25, $59, $C7, $84 ; CPU:$EFB3 PRG:2FB3 26 34 44 D3 25 77 C5 91 25 58 C7 80 25 59 C7 84 .byte $26, $38, $02, $81, $85, $24, $06, $01, $80, $24, $07, $53, $82, $24, $26, $14 ; CPU:$EFC3 PRG:2FC3 26 38 02 81 85 24 06 01 80 24 07 53 82 24 26 14 .byte $80, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82, $82 ; CPU:$EFD3 PRG:2FD3 80 82 82 82 82 82 82 82 82 82 82 82 82 82 82 82 .byte $82, $82, $82, $84, $24, $46, $C5, $80, $24, $49, $C5, $82, $24, $4A, $C5, $82 ; CPU:$EFE3 PRG:2FE3 82 82 82 84 24 46 C5 80 24 49 C5 82 24 4A C5 82 .byte $24, $4D, $C5, $82, $24, $4E, $C5, $82, $24, $51, $C5, $82, $24, $52, $C5, $82 ; CPU:$EFF3 PRG:2FF3 24 4D C5 82 24 4E C5 82 24 51 C5 82 24 52 C5 82 .byte $24, $55, $C5, $82, $24, $56, $C5, $82, $24, $59, $C5, $84, $24, $E6, $08, $86 ; CPU:$F003 PRG:3003 24 55 C5 82 24 56 C5 82 24 59 C5 84 24 E6 08 86 .byte $87, $87, $89, $86, $87, $87, $89, $24, $EE, $08, $86, $87, $87, $89, $86, $87 ; CPU:$F013 PRG:3013 87 87 89 86 87 87 89 24 EE 08 86 87 87 89 86 87 .byte $87, $89, $24, $F6, $04, $86, $87, $87, $89, $25, $06, $54, $33, $25, $26, $54 ; CPU:$F023 PRG:3023 87 89 24 F6 04 86 87 87 89 25 06 54 33 25 26 54 .byte $32, $22, $45, $56, $A5, $22, $40, $45, $32, $22, $5B, $45, $32, $22, $60, $60 ; CPU:$F033 PRG:3033 32 22 45 56 A5 22 40 45 32 22 5B 45 32 22 60 60 .byte $32, $22, $80, $60, $32, $26, $45, $56, $A5, $26, $40, $45, $32, $26, $5B, $45 ; CPU:$F043 PRG:3043 32 22 80 60 32 26 45 56 A5 26 40 45 32 26 5B 45 .byte $32, $26, $60, $60, $32, $26, $80, $60, $32, $00, $22, $C2, $84, $C0, $C3, $C3 ; CPU:$F053 PRG:3053 32 26 60 60 32 26 80 60 32 00 22 C2 84 C0 C3 C3 .byte $C4, $22, $C3, $5A, $BF, $22, $C9, $84, $BB, $BD, $BD, $BE, $22, $D6, $84, $C0 ; CPU:$F063 PRG:3063 C4 22 C3 5A BF 22 C9 84 BB BD BD BE 22 D6 84 C0 .byte $C3, $C3, $C4, $22, $DD, $84, $BB, $BD, $BD, $BE, $22, $CD, $06, $E5, $E4, $E3 ; CPU:$F073 PRG:3073 C3 C3 C4 22 DD 84 BB BD BD BE 22 CD 06 E5 E4 E3 .byte $E2, $E1, $E0, $23, $23, $46, $C2, $23, $37, $46, $C2, $23, $0C, $02, $C0, $BF ; CPU:$F083 PRG:3083 E2 E1 E0 23 23 46 C2 23 37 46 C2 23 0C 02 C0 BF .byte $23, $2C, $01, $C3, $23, $4C, $82, $C3, $C4, $23, $6D, $46, $C2, $23, $12, $02 ; CPU:$F093 PRG:3093 23 2C 01 C3 23 4C 82 C3 C4 23 6D 46 C2 23 12 02 .byte $BF, $BB, $23, $33, $01, $BD, $23, $53, $82, $BD, $BE, $23, $45, $03, $9E, $24 ; CPU:$F0A3 PRG:30A3 BF BB 23 33 01 BD 23 53 82 BD BE 23 45 03 9E 24 .byte $03, $23, $59, $03, $9D, $24, $03, $23, $0E, $04, $1D, $12, $16, $0E, $26, $C2 ; CPU:$F0B3 PRG:30B3 03 23 59 03 9D 24 03 23 0E 04 1D 12 16 0E 26 C2 .byte $84, $C0, $C3, $C3, $C4, $26, $C3, $5A, $BF, $26, $C9, $84, $BB, $BD, $BD, $BE ; CPU:$F0C3 PRG:30C3 84 C0 C3 C3 C4 26 C3 5A BF 26 C9 84 BB BD BD BE .byte $26, $D6, $84, $C0, $C3, $C3, $C4, $26, $DD, $84, $BB, $BD, $BD, $BE, $26, $CD ; CPU:$F0D3 PRG:30D3 26 D6 84 C0 C3 C3 C4 26 DD 84 BB BD BD BE 26 CD .byte $06, $E5, $E4, $E3, $E2, $E1, $E0, $27, $23, $46, $C2, $27, $37, $46, $C2, $27 ; CPU:$F0E3 PRG:30E3 06 E5 E4 E3 E2 E1 E0 27 23 46 C2 27 37 46 C2 27 .byte $0C, $02, $C0, $BF, $27, $2C, $01, $C3, $27, $4C, $82, $C3, $C4, $27, $6D, $46 ; CPU:$F0F3 PRG:30F3 0C 02 C0 BF 27 2C 01 C3 27 4C 82 C3 C4 27 6D 46 .byte $C2, $27, $12, $02, $BF, $BB, $27, $33, $01, $BD, $27, $53, $82, $BD, $BE, $27 ; CPU:$F103 PRG:3103 C2 27 12 02 BF BB 27 33 01 BD 27 53 82 BD BE 27 .byte $45, $03, $9E, $24, $03, $27, $59, $03, $9D, $24, $03, $27, $0E, $04, $1D, $12 ; CPU:$F113 PRG:3113 45 03 9E 24 03 27 59 03 9D 24 03 27 0E 04 1D 12 .byte $16, $0E, $23, $E8, $18, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $A5, $A5, $A5 ; CPU:$F123 PRG:3123 16 0E 23 E8 18 5A 5A 5A 5A 5A 5A 5A 5A A5 A5 A5 .byte $FF, $FF, $A5, $A5, $A5, $55, $55, $55, $FF, $FF, $00, $00, $00, $27, $E8, $18 ; CPU:$F133 PRG:3133 FF FF A5 A5 A5 55 55 55 FF FF 00 00 00 27 E8 18 .byte $5A, $5A, $5A, $5A, $5A, $5A, $5A, $5A, $A5, $A5, $A5, $FF, $FF, $A5, $A5, $A5 ; CPU:$F143 PRG:3143 5A 5A 5A 5A 5A 5A 5A 5A A5 A5 A5 FF FF A5 A5 A5 .byte $55, $55, $55, $FF, $FF, $00, $00, $00, $00, $22, $E2, $08, $C0, $E5, $E4, $E3 ; CPU:$F153 PRG:3153 55 55 55 FF FF 00 00 00 00 22 E2 08 C0 E5 E4 E3 .byte $E2, $E1, $E0, $BB, $23, $02, $83, $C3, $C3, $C4, $23, $09, $83, $BD, $BD, $BE ; CPU:$F163 PRG:3163 E2 E1 E0 BB 23 02 83 C3 C3 C4 23 09 83 BD BD BE .byte $23, $43, $46, $C2, $22, $EC, $08, $C0, $BF, $1D, $12, $16, $0E, $BF, $BB, $23 ; CPU:$F173 PRG:3173 23 43 46 C2 22 EC 08 C0 BF 1D 12 16 0E BF BB 23 .byte $0C, $83, $C3, $C3, $C4, $23, $13, $83, $BD, $BD, $BE, $23, $4D, $46, $C2, $22 ; CPU:$F183 PRG:3183 0C 83 C3 C3 C4 23 13 83 BD BD BE 23 4D 46 C2 22 .byte $D6, $06, $1B, $18, $1E, $17, $0D, $24, $23, $16, $05, $0C, $18, $16, $24, $03 ; CPU:$F193 PRG:3193 D6 06 1B 18 1E 17 0D 24 23 16 05 0C 18 16 24 03 .byte $23, $36, $05, $22, $18, $1E, $24, $03, $26, $E2, $08, $C0, $E5, $E4, $E3, $E2 ; CPU:$F1A3 PRG:31A3 23 36 05 22 18 1E 24 03 26 E2 08 C0 E5 E4 E3 E2 .byte $E1, $E0, $BB, $27, $02, $83, $C3, $C3, $C4, $27, $09, $83, $BD, $BD, $BE, $27 ; CPU:$F1B3 PRG:31B3 E1 E0 BB 27 02 83 C3 C3 C4 27 09 83 BD BD BE 27 .byte $43, $46, $C2, $26, $EC, $08, $C0, $BF, $1D, $12, $16, $0E, $BF, $BB, $27, $0C ; CPU:$F1C3 PRG:31C3 43 46 C2 26 EC 08 C0 BF 1D 12 16 0E BF BB 27 0C .byte $83, $C3, $C3, $C4, $27, $13, $83, $BD, $BD, $BE, $27, $4D, $46, $C2, $26, $D6 ; CPU:$F1D3 PRG:31D3 83 C3 C3 C4 27 13 83 BD BD BE 27 4D 46 C2 26 D6 .byte $06, $1B, $18, $1E, $17, $0D, $24, $27, $16, $05, $0C, $18, $16, $24, $03, $27 ; CPU:$F1E3 PRG:31E3 06 1B 18 1E 17 0D 24 27 16 05 0C 18 16 24 03 27 .byte $36, $05, $22, $18, $1E, $24, $03, $23, $E8, $18, $5A, $5A, $5A, $FA, $FA, $5A ; CPU:$F1F3 PRG:31F3 36 05 22 18 1E 24 03 23 E8 18 5A 5A 5A FA FA 5A .byte $5A, $5A, $55, $55, $55, $FF, $FF, $AA, $AA, $AA, $55, $55, $55, $FF, $FF, $00 ; CPU:$F203 PRG:3203 5A 5A 55 55 55 FF FF AA AA AA 55 55 55 FF FF 00 .byte $00, $00, $27, $E8, $18, $5A, $5A, $5A, $FA, $FA, $5A, $5A, $5A, $55, $55, $55 ; CPU:$F213 PRG:3213 00 00 27 E8 18 5A 5A 5A FA FA 5A 5A 5A 55 55 55 .byte $FF, $FF, $AA, $AA, $AA, $55, $55, $55, $FF, $FF, $00, $00, $00, $00, $21, $0A ; CPU:$F223 PRG:3223 FF FF AA AA AA 55 55 55 FF FF 00 00 00 00 21 0A .byte $0E, $33, $E9, $E8, $F9, $E9, $EC, $F9, $33, $FA, $EF, $F6, $F7, $33, $33, $21 ; CPU:$F233 PRG:3233 0E 33 E9 E8 F9 E9 EC F9 33 FA EF F6 F7 33 33 21 .byte $46, $C8, $33, $21, $4D, $C8, $33, $21, $52, $C8, $33, $21, $59, $C8, $33, $23 ; CPU:$F243 PRG:3243 46 C8 33 21 4D C8 33 21 52 C8 33 21 59 C8 33 23 .byte $C0, $20, $00, $44, $55, $55, $55, $55, $11, $00, $00, $44, $55, $55, $55, $55 ; CPU:$F253 PRG:3253 C0 20 00 44 55 55 55 55 11 00 00 44 55 55 55 55 .byte $11, $00, $00, $4C, $5F, $5F, $5F, $5F, $13, $00, $00, $44, $55, $55, $55, $55 ; CPU:$F263 PRG:3263 11 00 00 4C 5F 5F 5F 5F 13 00 00 44 55 55 55 55 .byte $11, $00, $23, $E0, $08, $A0, $A4, $A5, $A5, $A5, $A5, $A1, $A0, $00, $21, $0A ; CPU:$F273 PRG:3273 11 00 23 E0 08 A0 A4 A5 A5 A5 A5 A1 A0 00 21 0A .byte $0E, $33, $33, $FA, $F5, $E8, $EA, $F2, $33, $E9, $E8, $F9, $33, $33, $33, $21 ; CPU:$F283 PRG:3283 0E 33 33 FA F5 E8 EA F2 33 E9 E8 F9 33 33 33 21 .byte $46, $C8, $D2, $21, $4D, $C8, $D2, $21, $52, $C8, $D2, $21, $59, $C8, $D2, $23 ; CPU:$F293 PRG:3293 46 C8 D2 21 4D C8 D2 21 52 C8 D2 21 59 C8 D2 23 .byte $C0, $20, $00, $CC, $FF, $FF, $FF, $FF, $33, $00, $00, $CC, $FF, $FF, $FF, $FF ; CPU:$F2A3 PRG:32A3 C0 20 00 CC FF FF FF FF 33 00 00 CC FF FF FF FF .byte $33, $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA ; CPU:$F2B3 PRG:32B3 33 00 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA .byte $22, $00, $23, $E0, $08, $A0, $A8, $AA, $AA, $AA, $AA, $A2, $A0, $00, $21, $0A ; CPU:$F2C3 PRG:32C3 22 00 23 E0 08 A0 A8 AA AA AA AA A2 A0 00 21 0A .byte $0E, $33, $F9, $EC, $FA, $FB, $E8, $FC, $F9, $E8, $F5, $FB, $33, $33, $33, $21 ; CPU:$F2D3 PRG:32D3 0E 33 F9 EC FA FB E8 FC F9 E8 F5 FB 33 33 33 21 .byte $46, $C8, $33, $21, $4D, $C8, $33, $21, $52, $C8, $33, $21, $59, $C8, $33, $23 ; CPU:$F2E3 PRG:32E3 46 C8 33 21 4D C8 33 21 52 C8 33 21 59 C8 33 23 .byte $C0, $20, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA ; CPU:$F2F3 PRG:32F3 C0 20 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA .byte $22, $00, $00, $84, $A5, $25, $85, $A5, $21, $00, $00, $88, $AA, $22, $88, $AA ; CPU:$F303 PRG:3303 22 00 00 84 A5 25 85 A5 21 00 00 88 AA 22 88 AA .byte $22, $00, $23, $E0, $08, $A0, $A8, $AA, $A2, $A8, $AA, $A2, $A0, $00, $25, $0A ; CPU:$F313 PRG:3313 22 00 23 E0 08 A0 A8 AA A2 A8 AA A2 A0 00 25 0A .byte $0E, $33, $E9, $F6, $F6, $F2, $33, $FA, $FB, $F6, $F9, $EC, $33, $33, $33, $25 ; CPU:$F323 PRG:3323 0E 33 E9 F6 F6 F2 33 FA FB F6 F9 EC 33 33 33 25 .byte $4E, $04, $D6, $D7, $D7, $D8, $27, $C0, $20, $00, $88, $AA, $AA, $AA, $AA, $22 ; CPU:$F333 PRG:3333 4E 04 D6 D7 D7 D8 27 C0 20 00 88 AA AA AA AA 22 .byte $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $00, $88, $AA, $AA, $AA, $AA, $22 ; CPU:$F343 PRG:3343 00 00 88 AA AA AA AA 22 00 00 88 AA AA AA AA 22 .byte $00, $00, $88, $AA, $AA, $AA, $AA, $22, $00, $27, $E0, $08, $A0, $A8, $AA, $AA ; CPU:$F353 PRG:3353 00 00 88 AA AA AA AA 22 00 27 E0 08 A0 A8 AA AA .byte $AA, $AA, $A2, $A0, $00, $25, $0A, $0E, $EB, $F0, $FA, $EA, $F6, $FC, $F5, $FB ; CPU:$F363 PRG:3363 AA AA A2 A0 00 25 0A 0E EB F0 FA EA F6 FC F5 FB .byte $33, $FA, $EF, $F6, $F7, $33, $25, $4E, $04, $D6, $D7, $D7, $D8, $27, $C0, $20 ; CPU:$F373 PRG:3373 33 FA EF F6 F7 33 25 4E 04 D6 D7 D7 D8 27 C0 20 .byte $00, $44, $55, $55, $55, $55, $11, $00, $00, $44, $55, $55, $55, $55, $11, $00 ; CPU:$F383 PRG:3383 00 44 55 55 55 55 11 00 00 44 55 55 55 55 11 00 .byte $00, $00, $00, $80, $20, $00, $00, $00, $00, $00, $00, $88, $22, $00, $00, $00 ; CPU:$F393 PRG:3393 00 00 00 80 20 00 00 00 00 00 00 88 22 00 00 00 .byte $27, $E0, $08, $A0, $A0, $A0, $A8, $A2, $A0, $A0, $A0, $00, $20, $00, $60, $32 ; CPU:$F3A3 PRG:33A3 27 E0 08 A0 A0 A0 A8 A2 A0 A0 A0 00 20 00 60 32 .byte $20, $20, $60, $32, $20, $40, $60, $32, $20, $60, $60, $32, $21, $40, $60, $32 ; CPU:$F3B3 PRG:33B3 20 20 60 32 20 40 60 32 20 60 60 32 21 40 60 32 .byte $22, $20, $60, $32, $20, $80, $CD, $32, $20, $81, $CD, $32, $20, $82, $CD, $32 ; CPU:$F3C3 PRG:33C3 22 20 60 32 20 80 CD 32 20 81 CD 32 20 82 CD 32 .byte $20, $83, $CD, $32, $20, $93, $CD, $32, $20, $9C, $CD, $32, $20, $9D, $CD, $32 ; CPU:$F3D3 PRG:33D3 20 83 CD 32 20 93 CD 32 20 9C CD 32 20 9D CD 32 .byte $20, $9E, $CD, $32, $20, $9F, $CD, $32, $20, $94, $48, $31, $20, $B4, $47, $31 ; CPU:$F3E3 PRG:33E3 20 9E CD 32 20 9F CD 32 20 94 48 31 20 B4 47 31 .byte $20, $D4, $47, $31, $20, $F4, $47, $31, $21, $14, $47, $31, $20, $84, $CC, $A0 ; CPU:$F3F3 PRG:33F3 20 D4 47 31 20 F4 47 31 21 14 47 31 20 84 CC A0 .byte $20, $85, $CC, $A1, $20, $86, $CC, $A2, $20, $87, $CD, $A0, $20, $88, $8D, $33 ; CPU:$F403 PRG:3403 20 85 CC A1 20 86 CC A2 20 87 CD A0 20 88 8D 33 .byte $A1, $A8, $A9, $A1, $A1, $32, $A1, $A1, $33, $A1, $A1, $A1, $20, $A9, $CC, $A2 ; CPU:$F413 PRG:3413 A1 A8 A9 A1 A1 32 A1 A1 33 A1 A1 A1 20 A9 CC A2 .byte $20, $8A, $CD, $A0, $20, $8B, $8D, $33, $A1, $A8, $A9, $A1, $33, $32, $33, $A1 ; CPU:$F423 PRG:3423 20 8A CD A0 20 8B 8D 33 A1 A8 A9 A1 33 32 33 A1 .byte $A1, $33, $A1, $A1, $20, $AC, $CC, $A2, $20, $AD, $CC, $A0, $20, $AE, $CC, $A1 ; CPU:$F433 PRG:3433 A1 33 A1 A1 20 AC CC A2 20 AD CC A0 20 AE CC A1 .byte $20, $AF, $C5, $A2, $21, $8F, $C5, $A1, $20, $90, $CD, $A0, $20, $B1, $C5, $A1 ; CPU:$F443 PRG:3443 20 AF C5 A2 21 8F C5 A1 20 90 CD A0 20 B1 C5 A1 .byte $21, $71, $C6, $A0, $20, $B2, $C5, $A2, $21, $72, $86, $33, $A1, $A1, $33, $AA ; CPU:$F453 PRG:3453 21 71 C6 A0 20 B2 C5 A2 21 72 86 33 A1 A1 33 AA .byte $AA, $21, $73, $84, $A3, $A2, $A2, $A4, $21, $74, $C6, $A0, $21, $75, $C6, $A2 ; CPU:$F463 PRG:3463 AA 21 73 84 A3 A2 A2 A4 21 74 C6 A0 21 75 C6 A2 .byte $21, $96, $C4, $A0, $21, $97, $C4, $A1, $21, $98, $C4, $A2, $21, $79, $C6, $A0 ; CPU:$F473 PRG:3473 21 96 C4 A0 21 97 C4 A1 21 98 C4 A2 21 79 C6 A0 .byte $21, $9A, $C5, $A1, $21, $9B, $C5, $A2, $21, $24, $83, $A7, $32, $A6, $21, $05 ; CPU:$F483 PRG:3483 21 9A C5 A1 21 9B C5 A2 21 24 83 A7 32 A6 21 05 .byte $84, $A8, $33, $32, $33, $21, $26, $83, $A4, $32, $A3, $20, $89, $84, $A3, $A2 ; CPU:$F493 PRG:3493 84 A8 33 32 33 21 26 83 A4 32 A3 20 89 84 A3 A2 .byte $A4, $A3, $21, $6A, $01, $A6, $20, $8C, $88, $A3, $A2, $A4, $A3, $A2, $A4, $32 ; CPU:$F4A3 PRG:34A3 A4 A3 21 6A 01 A6 20 8C 88 A3 A2 A4 A3 A2 A4 32 .byte $A3, $20, $8D, $01, $A6, $20, $8E, $84, $33, $A1, $A1, $33, $20, $8F, $01, $A3 ; CPU:$F4B3 PRG:34B3 A3 20 8D 01 A6 20 8E 84 33 A1 A1 33 20 8F 01 A3 .byte $21, $6E, $03, $33, $33, $A3, $20, $91, $02, $33, $A3, $21, $76, $06, $A6, $33 ; CPU:$F4C3 PRG:34C3 21 6E 03 33 33 A3 20 91 02 33 A3 21 76 06 A6 33 .byte $A3, $A0, $33, $A3, $22, $04, $03, $A7, $33, $A4, $22, $16, $03, $A7, $33, $A4 ; CPU:$F4D3 PRG:34D3 A3 A0 33 A3 22 04 03 A7 33 A4 22 16 03 A7 33 A4 .byte $20, $22, $D1, $32, $20, $23, $D1, $32, $21, $44, $58, $32, $22, $24, $58, $32 ; CPU:$F4E3 PRG:34E3 20 22 D1 32 20 23 D1 32 21 44 58 32 22 24 58 32 .byte $21, $A6, $01, $32, $21, $F3, $C2, $32, $21, $A5, $01, $AA, $21, $90, $C5, $A2 ; CPU:$F4F3 PRG:34F3 21 A6 01 32 21 F3 C2 32 21 A5 01 AA 21 90 C5 A2 .byte $20, $96, $83, $43, $42, $37, $20, $F5, $02, $32, $37, $21, $15, $43, $36, $21 ; CPU:$F503 PRG:3503 20 96 83 43 42 37 20 F5 02 32 37 21 15 43 36 21 .byte $34, $04, $32, $34, $34, $34, $20, $D8, $84, $32, $3E, $3E, $3E, $20, $D9, $84 ; CPU:$F513 PRG:3513 34 04 32 34 34 34 20 D8 84 32 3E 3E 3E 20 D9 84 .byte $3E, $3E, $32, $3E, $20, $FA, $83, $38, $3E, $32, $20, $BB, $85, $43, $42, $37 ; CPU:$F523 PRG:3523 3E 3E 32 3E 20 FA 83 38 3E 32 20 BB 85 43 42 37 .byte $37, $37, $22, $A6, $17, $10, $0A, $16, $0E, $2F, $0B, $2F, $2F, $2F, $2F, $02 ; CPU:$F533 PRG:3533 37 37 22 A6 17 10 0A 16 0E 2F 0B 2F 2F 2F 2F 02 .byte $2F, $19, $15, $0A, $22, $0E, $1B, $2F, $10, $0A, $16, $0E, $22, $66, $16, $10 ; CPU:$F543 PRG:3543 2F 19 15 0A 22 0E 1B 2F 10 0A 16 0E 22 66 16 10 .byte $0A, $16, $0E, $2F, $0A, $2F, $2F, $2F, $2F, $1F, $1C, $2B, $2F, $0C, $18, $16 ; CPU:$F553 PRG:3553 0A 16 0E 2F 0A 2F 2F 2F 2F 1F 1C 2B 2F 0C 18 16 .byte $19, $1E, $1D, $0E, $1B, $22, $EA, $0A, $1D, $18, $19, $2F, $1B, $18, $1E, $17 ; CPU:$F563 PRG:3563 19 1E 1D 0E 1B 22 EA 0A 1D 18 19 2F 1B 18 1E 17 .byte $0D, $24, $23, $29, $0E, $25, $01, $09, $08, $04, $2F, $17, $12, $17, $1D, $0E ; CPU:$F573 PRG:3573 0D 24 23 29 0E 25 01 09 08 04 2F 17 12 17 1D 0E .byte $17, $0D, $18, $23, $C0, $60, $00, $23, $E0, $08, $F0, $B0, $A0, $A0, $A0, $A0 ; CPU:$F583 PRG:3583 17 0D 18 23 C0 60 00 23 E0 08 F0 B0 A0 A0 A0 A0 .byte $A0, $A0, $23, $E8, $08, $00, $0B, $0A, $0A, $0A, $0A, $0A, $0A, $23, $F0, $50 ; CPU:$F593 PRG:3593 A0 A0 23 E8 08 00 0B 0A 0A 0A 0A 0A 0A 23 F0 50 .byte $FF, $23, $CD, $42, $55, $23, $D5, $42, $05, $22, $1C, $02, $2D, $2E, $00, $BE ; CPU:$F5A3 PRG:35A3 FF 23 CD 42 55 23 D5 42 05 22 1C 02 2D 2E 00 BE .byte $F5, $D6, $F5, $FA, $F5, $1E, $F6, $42, $F6, $66, $F6, $3F, $00, $10, $0F, $0F ; CPU:$F5B3 PRG:35B3 F5 D6 F5 FA F5 1E F6 42 F6 66 F6 3F 00 10 0F 0F .byte $11, $31, $0F, $02, $0F, $27, $0F, $16, $25, $23, $0F, $05, $20, $0F, $3F, $10 ; CPU:$F5C3 PRG:35C3 11 31 0F 02 0F 27 0F 16 25 23 0F 05 20 0F 3F 10 .byte $50, $0F, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $07, $38, $2B, $0F, $00 ; CPU:$F5D3 PRG:35D3 50 0F 00 3F 00 20 0F 21 0C 38 0F 07 38 2B 0F 00 .byte $10, $30, $0F, $16, $30, $22, $0F, $02, $36, $31, $0F, $1A, $36, $31, $0F, $1A ; CPU:$F5E3 PRG:35E3 10 30 0F 16 30 22 0F 02 36 31 0F 1A 36 31 0F 1A .byte $15, $0C, $0F, $16, $27, $19, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $07 ; CPU:$F5F3 PRG:35F3 15 0C 0F 16 27 19 00 3F 00 20 0F 21 0C 38 0F 07 .byte $38, $2B, $0F, $00, $10, $30, $0F, $16, $30, $22, $0F, $02, $26, $31, $0F, $34 ; CPU:$F603 PRG:3603 38 2B 0F 00 10 30 0F 16 30 22 0F 02 26 31 0F 34 .byte $21, $11, $0F, $1A, $15, $0C, $0F, $16, $27, $19, $00, $3F, $00, $20, $0F, $21 ; CPU:$F613 PRG:3613 21 11 0F 1A 15 0C 0F 16 27 19 00 3F 00 20 0F 21 .byte $0C, $38, $0F, $09, $31, $29, $0F, $00, $10, $30, $0F, $16, $30, $22, $0F, $02 ; CPU:$F623 PRG:3623 0C 38 0F 09 31 29 0F 00 10 30 0F 16 30 22 0F 02 .byte $26, $31, $0F, $19, $36, $32, $0F, $1A, $15, $0C, $0F, $16, $27, $19, $00, $3F ; CPU:$F633 PRG:3633 26 31 0F 19 36 32 0F 1A 15 0C 0F 16 27 19 00 3F .byte $00, $20, $0F, $21, $0C, $38, $0F, $22, $18, $07, $0F, $00, $10, $30, $0F, $16 ; CPU:$F643 PRG:3643 00 20 0F 21 0C 38 0F 22 18 07 0F 00 10 30 0F 16 .byte $30, $22, $0F, $02, $26, $31, $0F, $19, $36, $32, $0F, $1A, $15, $0C, $0F, $16 ; CPU:$F653 PRG:3653 30 22 0F 02 26 31 0F 19 36 32 0F 1A 15 0C 0F 16 .byte $27, $19, $00, $3F, $00, $20, $0F, $21, $0C, $38, $0F, $03, $18, $0B, $0F, $00 ; CPU:$F663 PRG:3663 27 19 00 3F 00 20 0F 21 0C 38 0F 03 18 0B 0F 00 .byte $10, $30, $0F, $16, $30, $22, $0F, $02, $26, $31, $0F, $19, $36, $32, $0F, $1A ; CPU:$F673 PRG:3673 10 30 0F 16 30 22 0F 02 26 31 0F 19 36 32 0F 1A .byte $15, $0C, $0F, $16, $27, $19, $00, $00, $01, $20, $00, $00, $01, $20, $00, $00 ; CPU:$F683 PRG:3683 15 0C 0F 16 27 19 00 00 01 20 00 00 01 20 00 00 .byte $01, $20, $00, $01, $01, $7B, $C1, $00, $15, $60, $A0, $00, $03, $00, $00, $01 ; CPU:$F693 PRG:3693 01 20 00 01 01 7B C1 00 15 60 A0 00 03 00 00 01 .byte $00, $00, $00, $01, $00, $00, $04, $00, $00, $00, $00, $0A, $00, $00, $05, $00 ; CPU:$F6A3 PRG:36A3 00 00 00 01 00 00 04 00 00 00 00 0A 00 00 05 00 .byte $00, $00, $01, $01, $01, $7B, $3E, $08, $15, $A0, $E0, $00, $03, $00, $00, $00 ; CPU:$F6B3 PRG:36B3 00 00 01 01 01 7B 3E 08 15 A0 E0 00 03 00 00 00 .byte $00, $00, $00, $00, $00, $00, $04, $00, $00, $00, $00, $0A, $00, $00, $05, $00 ; CPU:$F6C3 PRG:36C3 00 00 00 00 00 00 04 00 00 00 00 0A 00 00 05 00 .byte $00, $00, $01, $01, $01, $3D, $78, $00, $13, $E0, $00, $01, $00, $03, $00, $00 ; CPU:$F6D3 PRG:36D3 00 00 01 01 01 3D 78 00 13 E0 00 01 00 03 00 00 .byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$F6E3 PRG:36E3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .byte $00, $00, $00, $F4, $FE, $20, $04, $F4, $FD, $00, $68, $F4, $FC, $00, $70, $F4 ; CPU:$F6F3 PRG:36F3 00 00 00 F4 FE 20 04 F4 FD 00 68 F4 FC 00 70 F4 .byte $FB, $00, $78, $F4, $F6, $00, $78, $F4, $F5, $00, $80, $F4, $F4, $00, $80, $F4 ; CPU:$F703 PRG:3703 FB 00 78 F4 F6 00 78 F4 F5 00 80 F4 F4 00 80 F4 .byte $F3, $03, $80, $F4, $F2, $00, $88, $F4, $F1, $00, $88, $F4, $F0, $03, $88, $F4 ; CPU:$F713 PRG:3713 F3 03 80 F4 F2 00 88 F4 F1 00 88 F4 F0 03 88 F4 .byte $EF, $00, $90, $F4, $EE, $00, $90, $F4, $ED, $00, $98, $F4, $EC, $00, $98, $F4 ; CPU:$F723 PRG:3723 EF 00 90 F4 EE 00 90 F4 ED 00 98 F4 EC 00 98 F4 .byte $EB, $00, $A0, $F4, $F9, $00, $80, $F4, $F7, $00, $88, $F4, $FA, $01, $80, $F4 ; CPU:$F733 PRG:3733 EB 00 A0 F4 F9 00 80 F4 F7 00 88 F4 FA 01 80 F4 .byte $F8, $01, $88, $2F, $4C, $78, $7A, $7C, $7E, $4E, $79, $7B, $7D, $7F, $CD, $CB ; CPU:$F743 PRG:3743 F8 01 88 2F 4C 78 7A 7C 7E 4E 79 7B 7D 7F CD CB .byte $C9, $C7, $C5, $CE, $CC, $CA, $C8, $C6, $FF, $78, $7A, $7C, $7E, $4D, $79, $7B ; CPU:$F753 PRG:3753 C9 C7 C5 CE CC CA C8 C6 FF 78 7A 7C 7E 4D 79 7B .byte $7D, $7F, $4F, $CD, $CB, $C9, $C7, $C5, $CE, $CC, $CA, $C8, $C6, $FF, $00, $00 ; CPU:$F763 PRG:3763 7D 7F 4F CD CB C9 C7 C5 CE CC CA C8 C6 FF 00 00 .byte $31, $F2, $21, $F3, $81, $F2, $68, $F3, $D1, $F2, $AF, $F7, $B6, $F7, $BD, $F7 ; CPU:$F773 PRG:3773 31 F2 21 F3 81 F2 68 F3 D1 F2 AF F7 B6 F7 BD F7 .byte $C4, $F7, $D7, $F7, $CE, $F7, $E0, $F7, $E3, $F7, $E6, $F7, $E9, $F7, $99, $F7 ; CPU:$F783 PRG:3783 C4 F7 D7 F7 CE F7 E0 F7 E3 F7 E6 F7 E9 F7 99 F7 .byte $A6, $F7, $CB, $F7, $EC, $F7, $04, $02, $04, $00, $04, $01, $04, $06, $04, $00 ; CPU:$F793 PRG:3793 A6 F7 CB F7 EC F7 04 02 04 00 04 01 04 06 04 00 .byte $04, $01, $FE, $04, $00, $04, $06, $04, $01, $04, $02, $FE, $20, $0F, $10, $08 ; CPU:$F7A3 PRG:37A3 04 01 FE 04 00 04 06 04 01 04 02 FE 20 0F 10 08 .byte $01, $04, $FF, $20, $10, $10, $09, $01, $06, $FF, $10, $0F, $10, $08, $01, $04 ; CPU:$F7B3 PRG:37B3 01 04 FF 20 10 10 09 01 06 FF 10 0F 10 08 01 04 .byte $FF, $10, $10, $10, $09, $01, $06, $FF, $15, $0A, $FF, $10, $06, $10, $06, $10 ; CPU:$F7C3 PRG:37C3 FF 10 10 10 09 01 06 FF 15 0A FF 10 06 10 06 10 .byte $07, $10, $07, $FE, $10, $04, $10, $04, $10, $05, $10, $05, $FE, $20, $0B, $FF ; CPU:$F7D3 PRG:37D3 07 10 07 FE 10 04 10 04 10 05 10 05 FE 20 0B FF .byte $20, $0C, $FF, $20, $16, $FF, $20, $17, $FF, $40, $19, $F0, $18, $FF, $02, $FF ; CPU:$F7E3 PRG:37E3 20 0C FF 20 16 FF 20 17 FF 40 19 F0 18 FF 02 FF .byte $01, $02, $FF, $01, $02, $FF, $01, $02, $FF, $01, $02, $00, $01, $FD, $14, $02 ; CPU:$F7F3 PRG:37F3 01 02 FF 01 02 FF 01 02 FF 01 02 00 01 FD 14 02 .byte $00, $01, $02, $00, $01, $02, $01, $01, $02, $01, $01, $02, $01, $01, $02, $01 ; CPU:$F803 PRG:3803 00 01 02 00 01 02 01 01 02 01 01 02 01 01 02 01 .byte $01, $02, $01, $01, $02, $01, $01, $02, $02, $01, $FD, $0E, $02, $02, $01, $02 ; CPU:$F813 PRG:3813 01 02 01 01 02 01 01 02 02 01 FD 0E 02 02 01 02 .byte $02, $01, $14, $00, $01, $FD, $11, $14, $F8, $00, $FD, $0C, $0F, $03, $10, $FF ; CPU:$F823 PRG:3823 02 01 14 00 01 FD 11 14 F8 00 FD 0C 0F 03 10 FF .byte $02, $03, $01, $FE, $0E, $00, $0A, $FF, $08, $02, $01, $FD, $11, $08, $F8, $00 ; CPU:$F833 PRG:3833 02 03 01 FE 0E 00 0A FF 08 02 01 FD 11 08 F8 00 .byte $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD ; CPU:$F843 PRG:3843 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E 08 08 10 FD .byte $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E ; CPU:$F853 PRG:3853 11 08 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E .byte $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08 ; CPU:$F863 PRG:3863 08 08 10 FD 11 08 F8 00 FD 0E 08 08 10 FD 11 08 .byte $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08 ; CPU:$F873 PRG:3873 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 FD 0E 08 08 .byte $10, $FD, $11, $08, $F8, $00, $FD, $0E, $08, $08, $10, $FD, $11, $08, $F8, $00 ; CPU:$F883 PRG:3883 10 FD 11 08 F8 00 FD 0E 08 08 10 FD 11 08 F8 00 .byte $FF, $FD, $1D, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04 ; CPU:$F893 PRG:3893 FF FD 1D 04 02 00 04 02 00 04 02 00 04 02 00 04 .byte $02, $00, $04, $02, $00, $04, $02, $00, $FD, $1A, $04, $02, $00, $04, $02, $00 ; CPU:$F8A3 PRG:38A3 02 00 04 02 00 04 02 00 FD 1A 04 02 00 04 02 00 .byte $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04, $02, $00, $04 ; CPU:$F8B3 PRG:38B3 04 02 00 04 02 00 04 02 00 04 02 00 04 02 00 04 .byte $02, $00, $04, $02, $00, $04, $02, $00, $FF, $48, $EA, $23, $9C, $48, $C4, $61 ; CPU:$F8C3 PRG:38C3 02 00 04 02 00 04 02 00 FF 48 EA 23 9C 48 C4 61 .byte $98, $48, $C4, $21, $A0, $40, $C6, $20, $98, $40, $C3, $20, $A0, $38, $C5, $20 ; CPU:$F8D3 PRG:38D3 98 48 C4 21 A0 40 C6 20 98 40 C3 20 A0 38 C5 20 .byte $98, $38, $C2, $20, $A0, $08, $F8, $08, $08, $10, $00, $FF, $10, $F0, $18, $F8 ; CPU:$F8E3 PRG:38E3 98 38 C2 20 A0 08 F8 08 08 10 00 FF 10 F0 18 F8 .byte $18, $08, $10, $10, $FF, $18, $E0, $20, $E8, $28, $F8, $20, $00, $28, $10, $FF ; CPU:$F8F3 PRG:38F3 18 08 10 10 FF 18 E0 20 E8 28 F8 20 00 28 10 FF .byte $20, $D0, $30, $D8, $30, $E8, $38, $F0, $30, $00, $30, $18, $FF, $30, $C8, $40 ; CPU:$F903 PRG:3903 20 D0 30 D8 30 E8 38 F0 30 00 30 18 FF 30 C8 40 .byte $E0, $40, $08, $48, $20, $FF, $38, $B0, $40, $C0, $50, $E8, $50, $00, $FF, $50 ; CPU:$F913 PRG:3913 E0 40 08 48 20 FF 38 B0 40 C0 50 E8 50 00 FF 50 .byte $C8, $FF, $48, $98, $50, $B0, $FF, $50, $88, $58, $90, $60, $A8, $58, $B8, $60 ; CPU:$F923 PRG:3923 C8 FF 48 98 50 B0 FF 50 88 58 90 60 A8 58 B8 60 .byte $C8, $60, $E0, $58, $F8, $60, $08, $58, $18, $60, $20, $60, $30, $FE, $2F, $1B ; CPU:$F933 PRG:3933 C8 60 E0 58 F8 60 08 58 18 60 20 60 30 FE 2F 1B .byte $18, $1E, $17, $0D, $24, $2F, $2F, $2F, $4F, $F9, $75, $F9, $CD, $24, $57, $FF ; CPU:$F943 PRG:3943 18 1E 17 0D 24 2F 2F 2F 4F F9 75 F9 CD 24 57 FF .byte $13, $13, $13, $13, $13, $1A, $D8, $1B, $18, $1E, $17, $0D, $21, $D8, $B7, $B7 ; CPU:$F953 PRG:3953 13 13 13 13 13 1A D8 1B 18 1E 17 0D 21 D8 B7 B7 .byte $B7, $B7, $B7, $21, $D8, $B7, $B7, $B7, $B7, $B7, $21, $23, $FC, $FC, $FC, $FC ; CPU:$F963 PRG:3963 B7 B7 B7 21 D8 B7 B7 B7 B7 B7 21 23 FC FC FC FC .byte $FC, $FD, $6B, $0B, $1A, $32, $32, $2F, $19, $0A, $1E, $1C, $0E, $2F, $32, $33 ; CPU:$F973 PRG:3973 FC FD 6B 0B 1A 32 32 2F 19 0A 1E 1C 0E 2F 32 33 .byte $5A, $24, $FF, $13, $13, $13, $13, $13, $1A, $24, $24, $24, $D8, $B7, $B7, $B7 ; CPU:$F983 PRG:3983 5A 24 FF 13 13 13 13 13 1A 24 24 24 D8 B7 B7 B7 .byte $B7, $B7, $21, $24, $24, $24, $D8, $19, $0A, $1E, $1C, $0E, $21, $24, $24, $24 ; CPU:$F993 PRG:3993 B7 B7 21 24 24 24 D8 19 0A 1E 1C 0E 21 24 24 24 .byte $D8, $B7, $B7, $B7, $B7, $B7, $21, $24, $24, $24, $23, $FC, $FC, $FC, $FC, $FC ; CPU:$F9A3 PRG:39A3 D8 B7 B7 B7 B7 B7 21 24 24 24 23 FC FC FC FC FC .byte $FD, $24, $24, $01, $01, $02, $03, $00, $50, $00, $00, $00, $02, $03, $01, $04 ; CPU:$F9B3 PRG:39B3 FD 24 24 01 01 02 03 00 50 00 00 00 02 03 01 04 .byte $06, $02, $05, $07, $05, $08, $10, $15, $16, $20, $24, $30, $E3, $F9, $E7, $F9 ; CPU:$F9C3 PRG:39C3 06 02 05 07 05 08 10 15 16 20 24 30 E3 F9 E7 F9 .byte $EB, $F9, $EF, $F9, $F3, $F9, $F7, $F9, $FB, $F9, $FF, $F9, $03, $FA, $07, $FA ; CPU:$F9D3 PRG:39D3 EB F9 EF F9 F3 F9 F7 F9 FB F9 FF F9 03 FA 07 FA .byte $50, $52, $51, $53, $54, $56, $55, $57, $58, $5A, $59, $5B, $5C, $5E, $5D, $5F ; CPU:$F9E3 PRG:39E3 50 52 51 53 54 56 55 57 58 5A 59 5B 5C 5E 5D 5F .byte $60, $62, $61, $63, $64, $66, $65, $67, $68, $6A, $69, $6B, $6C, $6E, $6D, $6F ; CPU:$F9F3 PRG:39F3 60 62 61 63 64 66 65 67 68 6A 69 6B 6C 6E 6D 6F .byte $70, $72, $71, $73, $74, $76, $75, $77, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA03 PRG:3A03 70 72 71 73 74 76 75 77 FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA13 PRG:3A13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA23 PRG:3A23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA33 PRG:3A33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA43 PRG:3A43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA53 PRG:3A53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA63 PRG:3A63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA73 PRG:3A73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA83 PRG:3A83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA93 PRG:3A93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAA3 PRG:3AA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAB3 PRG:3AB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAC3 PRG:3AC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAD3 PRG:3AD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAE3 PRG:3AE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAF3 PRG:3AF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB03 PRG:3B03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB13 PRG:3B13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB23 PRG:3B23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB33 PRG:3B33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB43 PRG:3B43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB53 PRG:3B53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB63 PRG:3B63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB73 PRG:3B73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB83 PRG:3B83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB93 PRG:3B93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBA3 PRG:3BA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBB3 PRG:3BB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBC3 PRG:3BC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBD3 PRG:3BD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBE3 PRG:3BE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBF3 PRG:3BF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC03 PRG:3C03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC13 PRG:3C13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC23 PRG:3C23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC33 PRG:3C33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC43 PRG:3C43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC53 PRG:3C53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC63 PRG:3C63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC73 PRG:3C73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC83 PRG:3C83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC93 PRG:3C93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCA3 PRG:3CA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCB3 PRG:3CB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCC3 PRG:3CC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCD3 PRG:3CD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCE3 PRG:3CE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCF3 PRG:3CF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD03 PRG:3D03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD13 PRG:3D13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD23 PRG:3D23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD33 PRG:3D33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD43 PRG:3D43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD53 PRG:3D53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD63 PRG:3D63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD73 PRG:3D73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD83 PRG:3D83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD93 PRG:3D93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDA3 PRG:3DA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDB3 PRG:3DB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDC3 PRG:3DC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDD3 PRG:3DD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDE3 PRG:3DE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDF3 PRG:3DF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE03 PRG:3E03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE13 PRG:3E13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE23 PRG:3E23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE33 PRG:3E33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE43 PRG:3E43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE53 PRG:3E53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE63 PRG:3E63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE73 PRG:3E73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE83 PRG:3E83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE93 PRG:3E93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEA3 PRG:3EA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEB3 PRG:3EB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEC3 PRG:3EC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FED3 PRG:3ED3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEE3 PRG:3EE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEF3 PRG:3EF3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF03 PRG:3F03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF13 PRG:3F13 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF23 PRG:3F23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF33 PRG:3F33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF43 PRG:3F43 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF53 PRG:3F53 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF63 PRG:3F63 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF73 PRG:3F73 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF83 PRG:3F83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF93 PRG:3F93 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFA3 PRG:3FA3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFB3 PRG:3FB3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFC3 PRG:3FC3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFD3 PRG:3FD3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFE3 PRG:3FE3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $91, $CA, $00, $CA, $00, $CA ; CPU:$FFF3 PRG:3FF3 FF FF FF FF FF FF FF 91 CA 00 CA 00 CA