DKC2-disassembly/bank_80.asm
p4plus2 233cdc8882 Reworked lua script making it easier to configure certain things
Some SPC documnetation
More logo documnetation
Fixed decompilation error in bank B3
2017-10-26 14:04:04 -07:00

13600 lines
333 KiB
NASM

DATA_808000:
db $00, $00, $72, $4E, $00, $00, $71, $4E
db $00, $00, $71, $4E, $00, $00, $71, $4E
db $00, $00, $51, $4E, $00, $00, $51, $4E
db $00, $00, $51, $4E, $00, $00, $51, $4A
db $00, $00, $50, $4A, $00, $00, $50, $4A
db $00, $00, $50, $4A, $00, $00, $30, $4A
db $00, $00, $30, $4A, $00, $00, $30, $4A
db $00, $00, $30, $4A, $00, $00, $2F, $4A
db $00, $00, $2F, $4A, $00, $00, $2F, $4A
db $00, $00, $2F, $4A, $00, $00, $0F, $46
db $00, $00, $0F, $46, $00, $00, $0F, $46
db $00, $00, $0E, $46, $00, $00, $0E, $46
db $00, $00, $0E, $46, $00, $00, $0E, $46
db $00, $00, $EE, $45, $00, $00, $EE, $45
db $00, $00, $EE, $45, $00, $00, $EE, $45
db $00, $00, $ED, $45, $00, $00, $ED, $41
db $00, $00, $ED, $41, $00, $00, $CD, $41
db $00, $00, $CD, $41, $00, $00, $CD, $41
db $00, $00, $CD, $41, $00, $00, $CC, $41
db $00, $00, $CC, $41, $00, $00, $CC, $41
db $00, $00, $CC, $41, $00, $00, $AC, $41
db $00, $00, $AC, $41, $00, $00, $AC, $3D
db $00, $00, $AB, $3D, $00, $00, $AB, $3D
db $00, $00, $AB, $3D, $00, $00, $AB, $3D
db $00, $00, $8B, $3D, $00, $00, $8B, $3D
db $00, $00, $8B, $3D, $00, $00, $8B, $3D
db $00, $00, $8A, $3D, $00, $00, $8A, $3D
db $00, $00, $8A, $3D, $00, $00, $8A, $3D
db $00, $00, $8A, $39, $00, $00, $8A, $39
db $00, $00, $6A, $39, $00, $00, $69, $39
db $00, $00, $69, $39, $00, $00, $69, $39
db $00, $00, $69, $39, $00, $00, $69, $39
db $00, $00, $69, $39, $00, $00, $48, $39
db $00, $00, $48, $35, $00, $00, $48, $35
db $00, $00, $48, $35, $00, $00, $48, $35
db $00, $00, $48, $35, $00, $00, $48, $35
db $00, $00, $27, $35, $00, $00, $27, $35
db $00, $00, $27, $31, $00, $00, $27, $31
db $00, $00, $27, $31, $00, $00, $27, $31
db $00, $00, $06, $31, $00, $00, $06, $31
db $00, $00, $06, $2D, $00, $00, $06, $2D
db $00, $00, $06, $2D, $00, $00, $06, $2D
db $00, $00, $05, $2D, $00, $00, $E5, $2C
db $00, $00, $E5, $28, $00, $00, $E5, $28
db $00, $00, $E5, $28, $00, $00, $E5, $28
db $00, $00, $E5, $28, $00, $00, $E4, $24
db $00, $00, $C4, $24, $00, $00, $C4, $24
db $00, $00, $C4, $24, $00, $00, $C4, $24
db $00, $00, $C4, $24, $00, $00, $C3, $20
db $00, $00, $C3, $20, $00, $00, $A3, $20
db $00, $00, $A3, $20, $00, $00, $A3, $20
db $00, $00, $A3, $20, $00, $00, $A3, $1C
db $00, $00, $A2, $1C, $00, $00, $A2, $1C
db $00, $00, $82, $1C, $00, $00, $82, $1C
db $00, $00, $82, $18, $00, $00, $82, $18
db $00, $00, $81, $18, $00, $00, $81, $18
db $00, $00, $81, $18, $00, $00, $61, $18
db $00, $00, $61, $14, $00, $00, $61, $14
db $00, $00, $60, $14, $00, $00, $60, $14
db $00, $00, $60, $14, $00, $00, $60, $14
db $00, $00, $77, $4A, $00, $00, $77, $46
db $00, $00, $77, $46, $00, $00, $77, $46
db $00, $00, $57, $46, $00, $00, $57, $46
db $00, $00, $57, $46, $00, $00, $56, $46
db $00, $00, $56, $42, $00, $00, $56, $42
db $00, $00, $56, $42, $00, $00, $36, $42
db $00, $00, $36, $42, $00, $00, $36, $42
db $00, $00, $36, $42, $00, $00, $36, $3E
db $00, $00, $36, $3E, $00, $00, $36, $3E
db $00, $00, $36, $3E, $00, $00, $15, $3E
db $00, $00, $15, $3E, $00, $00, $15, $3E
db $00, $00, $15, $3A, $00, $00, $15, $3A
db $00, $00, $15, $3A, $00, $00, $15, $3A
db $00, $00, $F5, $39, $00, $00, $F5, $39
db $00, $00, $F5, $39, $00, $00, $F5, $39
db $00, $00, $F5, $35, $00, $00, $F4, $35
db $00, $00, $F4, $35, $00, $00, $D4, $35
db $00, $00, $D4, $35, $00, $00, $D4, $35
db $00, $00, $D4, $35, $00, $00, $D4, $31
db $00, $00, $D4, $31, $00, $00, $D4, $31
db $00, $00, $D4, $31, $00, $00, $B4, $31
db $00, $00, $B4, $31, $00, $00, $B3, $31
db $00, $00, $B3, $2D, $00, $00, $B3, $2D
db $00, $00, $B3, $2D, $00, $00, $B3, $2D
db $00, $00, $93, $2D, $00, $00, $93, $2D
db $00, $00, $93, $2D, $00, $00, $93, $2D
db $00, $00, $93, $29, $00, $00, $93, $29
db $00, $00, $93, $29, $00, $00, $93, $29
db $00, $00, $92, $29, $00, $00, $92, $29
db $00, $00, $72, $29, $00, $00, $72, $25
db $00, $00, $72, $25, $00, $00, $72, $25
db $00, $00, $72, $25, $00, $00, $72, $25
db $00, $00, $72, $25, $00, $00, $52, $21
db $00, $00, $51, $21, $00, $00, $51, $21
db $00, $00, $51, $21, $00, $00, $51, $21
db $00, $00, $51, $21, $00, $00, $51, $21
db $00, $00, $31, $1D, $00, $00, $31, $1D
db $00, $00, $30, $1D, $00, $00, $30, $1D
db $00, $00, $30, $1D, $00, $00, $30, $1D
db $00, $00, $10, $19, $00, $00, $10, $19
db $00, $00, $0F, $19, $00, $00, $0F, $19
db $00, $00, $0F, $19, $00, $00, $0F, $19
db $00, $00, $0F, $15, $00, $00, $EF, $14
db $00, $00, $EE, $14, $00, $00, $EE, $14
db $00, $00, $EE, $14, $00, $00, $EE, $14
db $00, $00, $EE, $14, $00, $00, $ED, $10
db $00, $00, $CD, $10, $00, $00, $CD, $10
db $00, $00, $CD, $10, $00, $00, $CD, $10
db $00, $00, $CD, $10, $00, $00, $CC, $0C
db $00, $00, $CC, $0C, $00, $00, $AC, $0C
db $00, $00, $AC, $0C, $00, $00, $AC, $0C
db $00, $00, $AC, $0C, $00, $00, $AB, $0C
db $00, $00, $AB, $08, $00, $00, $AB, $08
db $00, $00, $8B, $08, $00, $00, $8B, $08
db $00, $00, $8A, $08, $00, $00, $8A, $08
db $00, $00, $8A, $04, $00, $00, $8A, $04
db $00, $00, $8A, $04, $00, $00, $6A, $04
db $00, $00, $69, $04, $00, $00, $69, $04
db $00, $00, $69, $00, $00, $00, $69, $00
db $00, $00, $69, $00, $00, $00, $69, $00
rare_string:
db "Rareware"
piracy_string:
db "A thief!"
display_error_message:
TYA ;$8083D0 \ Copy message id to A
JSL handle_VRAM_payload_wrapper ;$8083D1 | Upload the anti-piracy screen contents
LDA #DATA_FD258E ;$8083D5 |\ Upload background palette
LDY #$0000 ;$8083D8 | |
LDX #$0020 ;$8083DB | |
JSL DMA_palette ;$8083DE |/
LDA #DATA_FD0408 ;$8083E2 |\ Upload piracy text color
LDY #$0000 ;$8083E5 | |
LDX #$0001 ;$8083E8 | |
JSL DMA_palette ;$8083EB |/
LDA #$0039 ;$8083EF |\ Load PPU settings for anti-piracy screen
JSL set_PPU_registers_wrapper ;$8083F2 |/
STP ;$8083F6 /
RESET_start:
SEI ;$8083F7 \ Disable interrupts
LDA #$80 ;$8083F8 |\ Enable F-Blank
STA $2100 ;$8083FA |/
LDA #$01 ;$8083FD |\ Enable autojoy and fastROM
STA $4200 ;$8083FF | |
STA $420D ;$808402 |/
DEC A ;$808405 |\ Disable HDMA
STA $420C ;$808406 |/
CLC ;$808409 |\ Disable emulation mode
XCE ;$80840A |/
REP #$30 ;$80840B |\ Anti piracy: Ensure dp is zero
TDC ;$80840D | | and the emulation flag was set
ADC #$FFFF ;$80840E | |
BEQ .anti_piracy_test ;$808411 |/
BRL .prepare_anti_piracy ;$808413 / Anti piracy triggered
.anti_piracy_test ; \
TSX ;$808416 |\ Check if the reset vector was
LDA #RESET_start-1 ;$808417 | | the most recent popped value
CMP $FFFF,x ;$80841A | |
BEQ .check_for_false_positive ;$80841D |/
LDY #$1FFD ;$80841F | Load number of RAM bytes to scan
SEP #$20 ;$808422 | Use 8 bit to check each byte
.next_byte ; |
LDA $0000,y ;$808424 | Load byte to scan
CMP #$4C ;$808427 |\ Test for JMP $83F7 (reset vector)
BEQ .jmp_test ;$808429 |/
CMP #$6C ;$80842B |\ Test for JMP ($xxxx) (indirect reset vector)
BEQ .indirect_jmp_test ;$80842D |/
CMP #$60 ;$80842F |\ Test for #$60-#$7F being sequential
BEQ .sequential_test ;$808431 |/
.resume_scanning ; |
DEY ;$808433 |\ If not at the end of RAM continue scanning
BPL .next_byte ;$808434 |/
REP #$20 ;$808436 |\ Test that SRAM is present
LDA.l $B06000 ;$808438 | |
INC A ;$80843C | |
STA $B06000 ;$80843D | |
CMP $B06000 ;$808441 | |
BNE .prepare_anti_piracy ;$808445 |/ Otherwise trigger anti piracy
DEC A ;$808447 |\ Restore byte modified from SRAM test
STA $B06000 ;$808448 |/
LDY #$003D ;$80844C | Load wrong console message
LDA $213F ;$80844F |\ Verify the console is NTSC
AND #$0010 ;$808452 | |
BNE .prepare_message ;$808455 |/ Display wrong console message
BRA .final_piracy_test ;$808457 / Do the final piracy test
.jmp_test
REP #$20 ;$808459 \
LDA $0001,y ;$80845B |\ Check if the operand was the reset vector
CMP #RESET_start ;$80845E | |
BEQ .check_for_false_positive ;$808461 |/
SEP #$20 ;$808463 |
BRA .resume_scanning ;$808465 / Continue scanning
.indirect_jmp_test
REP #$20 ;$808467 \
LDX $0001,y ;$808469 |\ Test if operand was ROM
BMI .address_rom ;$80846C |/
CPX #$2000 ;$80846E |\ Test if the operand was low RAM
BPL .invalid_address ;$808471 |/ Otherwise skip the indirect test
.address_rom ; |
LDA $0000,x ;$808473 |\ Check if the operand pointed to the reset vector
CMP #RESET_start ;$808476 | |
BEQ .check_for_false_positive ;$808479 |/
.invalid_address ; |
SEP #$20 ;$80847B |
BRA .resume_scanning ;$80847D / Continue scanning
.sequential_test
TYX ;$80847F \ X is used so to preserve Y if the test fails
.next_count ; |
CMP $0000,x ;$808480 |\ Scan for the sequential string of $60-$7F
BNE .resume_scanning ;$808483 | |
INX ;$808485 | |
INC A ;$808486 | |
BPL .next_count ;$808487 |/
REP #$20 ;$808489 | Fall through to final check
.check_for_false_positive ; |
PHK ;$80848B |\ Set current databank
PLB ;$80848C |/
LDX #$0006 ;$80848D | Load anti piracy test string length
- ; |
LDA $0907,x ;$808490 |\ Avoid false positive by checking if
CMP rare_string,x ;$808493 | | the anti piracy check was prior passed
BNE .write_piracy_string ;$808496 | | Otherwise jump and fail anti piracy check
DEX ;$808498 | |
DEX ;$808499 | |
BPL - ;$80849A |/
BRA .prepare_logo ;$80849C / Boot the game
.write_piracy_string
LDX #$0006 ;$80849E \ Load anti piracy string length
LDY #$0004 ;$8084A1 | Load target iteration count
.write_next_byte ; |
LDA piracy_string,x ;$8084A4 |\ Load the current anti piracy byte
STA $0907,x ;$8084A7 | | Write the anti piracy byte in RAM
CMP.l $B06000,x ;$8084AA | |\ If the byte is already in SRAM decrease the
BNE + ;$8084AE | | | iteration count. If zero, the full string
DEY ;$8084B0 | |/ was already present.
+ ; | |
STA $B06000,x ;$8084B1 | | Write the anti piracy byte to SRAM
DEX ;$8084B5 | |\ Move anti piracy index
DEX ;$8084B6 | |/
BPL .write_next_byte ;$8084B7 |/ Continue writing until there are no more bytes
TYA ;$8084B9 |\ If the anti piracy failure string was already in SRAM
BEQ .prepare_anti_piracy ;$8084BA |/ Display the anti piracy message
LDY #$003B ;$8084BC | Otherwise load irregularity detected message
BRA .prepare_message ;$8084BF / Display the message
.prepare_anti_piracy
LDY #$003C ;$8084C1 \ Load anti piracy message
.prepare_message ; |
LDA #$0000 ;$8084C4 |\ Zero the direct page register
TCD ;$8084C7 |/
LDX #$01FF ;$8084C8 |\ Reset the stack register
TXS ;$8084CB |/
%return(display_error_message) ;$8084CC | Push address to decompress and display the message
%return(clear_VRAM) ;$8084CF | Push address for clearing VRAM
BRA init_registers ;$8084D2 / Initialize MMIO registers
.final_piracy_test ; \
PHK ;$8084D4 |\ Set current databank
PLB ;$8084D5 |/
LDX #$0006 ;$8084D6 | Load anti piracy string length
- ; |
LDA $0907,x ;$8084D9 |\ Verify the anti piracy failure string is not in RAM
CMP piracy_string,x ;$8084DC | |
BNE .prepare_logo ;$8084DF | |
DEX ;$8084E1 | |
DEX ;$8084E2 | |
BPL - ;$8084E3 |/
BRA .prepare_anti_piracy ;$8084E5 / If the string was matched, display anti piracy message
.prepare_logo ; \
LDA #$0000 ;$8084E7 |\ Clear first word of SRAM
STA $B06000 ;$8084EA |/
LDX #$01FF ;$8084EE |\ Reset the stack register
TXS ;$8084F1 |/
%return(start_engine) ;$8084F2 | Push address to start the game engine
%return(clear_VRAM) ;$8084F5 | Push address for clearing VRAM
init_registers: ; |
SEP #$30 ;$8084F8 | Use 8 bit to manipulate MMIO
LDX #$00 ;$8084FA | Reset index to clear PPU MMIO
.clear_PPU ; |
STZ $2101,x ;$8084FC |\ Clear $2101 - $2134
STZ $2101,x ;$8084FF | | Clear twice to handle write twice registers
INX ;$808502 | |
CPX #$34 ;$808503 | |
BNE .clear_PPU ;$808505 |/
LDX #$00 ;$808507 | Reset index to clear CPU MMIO
.clear_CPU ; |
STZ $4202,x ;$808509 |\ Clear 4202-420C
INX ;$80850C | |
CPX #$0B ;$80850D | |
BNE .clear_CPU ;$80850F |/
LDA #$8F ;$808511 |\ Enable F-Blank with full brightness
STA $2100 ;$808513 |/
LDA #$80 ;$808516 |\
STA $2115 ;$808518 | | Increment VRAM after high byte write
STA $211A ;$80851B |/ Use large mode 7 tilemap bounds
LDA #$01 ;$80851E |\ Enable fastROM
STA $420D ;$808520 |/
STZ $2131 ;$808523 | Disable color math
STZ $2133 ;$808526 | Reset screen mode
STZ $4200 ;$808529 | Disable interrupts and autojoy
LDA #$FF ;$80852C |\ Initalize outport (unused)
STA $4201 ;$80852E |/
LDA #$E0 ;$808531 |\ Set fixed color
STA $2132 ;$808533 |/
LDA #$30 ;$808536 |\ Clear color math settings
STA $2130 ;$808538 |/
LDA #$00 ;$80853B |\ Disable mosaic
STA $2106 ;$80853D |/
STZ $210D ;$808540 |\ Clear layer 1-3 horizontal scroll (Layer 1)
STZ $210D ;$808543 | |
STZ $210F ;$808546 | | Layer 2
STZ $210F ;$808549 | |
STZ $2111 ;$80854C | | Layer 3
STZ $2111 ;$80854F |/
LDA #$FF ;$808552 |\ Set layer 1-3 vertical scroll to $FFFF
STA $210E ;$808554 | | Layer 1
STA $210E ;$808557 | |
STA $2110 ;$80855A | | Layer 2
STA $2110 ;$80855D | |
STA $2112 ;$808560 | | Layer 3
STA $2112 ;$808563 |/
REP #$30 ;$808566 | Restore to 16 bit access...
SEP #$20 ;$808568 | ...Just to make A 8 bit again
LDX #$000A ;$80856A | Load up the number of H/DMA bytes to clear
.clear_DMA ; |
STZ $4300,x ;$80856D |\ Zero out channels 0-7
STZ $4310,x ;$808570 | |
STZ $4320,x ;$808573 | |
STZ $4330,x ;$808576 | |
STZ $4340,x ;$808579 | |
STZ $4350,x ;$80857C | |
STZ $4360,x ;$80857F | |
STZ $4370,x ;$808582 | |
DEX ;$808585 | | Next byte
BPL .clear_DMA ;$808586 |/ Continue until addresses from all channel are clear
REP #$20 ;$808588 | Back to a full 16 bit
RTS ;$80858A /
init_registers_wrapper:
JSR init_registers ;$80858B \ Wrapper for long calls
RTL ;$80858E /
VRAM_zero_fill:
dw $0000 ;$80858F > Used for VRAM fill byte
clear_VRAM:
STZ $2116 ;$808591 \ Initialize VRAM to zeros
LDA #VRAM_zero_fill ;$808594 |\ Set DMA source word
STA $4302 ;$808597 |/
STA $4308 ;$80859A | Set HDMA word (not used.)
STZ $4305 ;$80859D | Set size to zero, (full 64K)
LDA #$1809 ;$8085A0 |\ Set DMA destination 2118, fixed transfer,
STA $4300 ;$8085A3 |/ with two register write once
SEP #$20 ;$8085A6 |
LDA #VRAM_zero_fill>>16 ;$8085A8 |\ Set DMA source bank
STA $4304 ;$8085AA |/
LDA #$01 ;$8085AD |\
STA $420B ;$8085AF |/ Enable channel 1 DMA
REP #$20 ;$8085B2 |
RTS ;$8085B4 /
clear_VRAM_wrapper:
JSR clear_VRAM ;$8085B5 \ Wrapper for long calls
RTL ;$8085B8 /
start_engine: ; \
STZ $00 ;$8085B9 |\ Zero the first byte of WRAM
LDX #$0000 ;$8085BB | | Set up MVN
LDY #$0001 ;$8085BE | |
LDA #$FFFF ;$8085C1 | | 64K
MVN $7E, $7E ;$8085C4 |/ Copy first byte of WRAM across bank 7E (zero bank 7E)
LDY #$0000 ;$8085C7 |\ Set up another MVN
TYX ;$8085CA | |
LDA #$FFFF ;$8085CB | |
MVN $7F, $7E ;$8085CE |/ Copy 64K from bank 7E to 7F (zero bank 7F)
PHK ;$8085D1 |\ Set the program bank to the data bank
PLB ;$8085D2 |/
LDX #$0006 ;$8085D3 |\ Number of bytes minus one to copy (due to 16 bit)
.rare_string_copy ; | |
LDA rare_string,x ;$8085D6 | | Use the Rareware anti piracy success string,
STA $0907,x ;$8085D9 | | and copy that into RAM
DEX ;$8085DC | |
DEX ;$8085DD | |
BPL .rare_string_copy ;$8085DE |/ Copy the string until there are no more bytes
JSL upload_spc_engine_entry ;$8085E0 | Upload the SPC engine
restart_rareware_logo: ; |
JSL disable_screen ;$8085E4 | Disable the screen
JSR clear_wram_reset ;$8085E8 | Clear WRAM
JML init_rareware_logo ;$8085EB / Initialize the Rareware logo
CODE_8085EF:
LDA #$FFFF ;$8085EF \
STA $00090F ;$8085F2 |
JSL disable_screen ;$8085F6 |
LDA #CODE_80B3D7 ;$8085FA |
STA $24 ;$8085FD |
STZ $2102 ;$8085FF |
LDA #CODE_808608 ;$808602 |
JMP CODE_808C82 ;$808605 /
CODE_808608:
LDA #$01FF ;$808608 \
TCS ;$80860B |
CODE_80860C: ; |
LDA #CODE_80F3E6 ;$80860C |
STA $20 ;$80860F |
INC $2A ;$808611 |
JMP ($0024) ;$808613 /
CODE_808616:
LDA #$0100 ;$808616 |
CLC ;$808619 |
ADC $0985 ;$80861A |
STA $0985 ;$80861D |
SEP #$20 ;$808620 |
LDA $0512 ;$808622 |
STA $2100 ;$808625 |
REP #$20 ;$808628 |
CODE_80862A: ; |
PHB ;$80862A |
PHB ;$80862B |
PLA ;$80862C |
SEC ;$80862D |
SBC #$C000 ;$80862E |
BCC CODE_808636 ;$808631 /
DATA_808633:
db $00, $80, $FD
CODE_808636:
INC $D5 ;$808636 \
BNE CODE_808640 ;$808638 |
INC $D7 ;$80863A |
BNE CODE_808640 ;$80863C |
DEC $D7 ;$80863E |
CODE_808640: ; |
LDA #CODE_808608 ;$808640 |
STA $20 ;$808643 |
SEP #$20 ;$808645 |
LDA $4210 ;$808647 |
LDA #$81 ;$80864A |
STA $4200 ;$80864C |
STZ $4016 ;$80864F |
CODE_808652: ; |
WAI ;$808652 |
BRA CODE_808652 ;$808653 /
LDA $0504 ;$808655 |
AND #$0020 ;$808658 |
BNE CODE_808672 ;$80865B |
LDA $0987 ;$80865D |
CLC ;$808660 |
ADC #$0010 ;$808661 |
CMP #$0800 ;$808664 |
BMI CODE_80866C ;$808667 |
LDA #$0800 ;$808669 |
CODE_80866C: ; |
STA $0987 ;$80866C |
JMP CODE_80860C ;$80866F /
CODE_808672:
LDA $0987 ;$808672 \
SEC ;$808675 |
SBC #$0010 ;$808676 |
BPL CODE_80867E ;$808679 |
LDA #$0000 ;$80867B |
CODE_80867E: ; |
STA $0987 ;$80867E |
JMP CODE_80860C ;$808681 /
CODE_808684:
JSL disable_screen ;$808684 |
SEP #$20 ;$808688 |
LDA #$FF ;$80868A |
STA $210E ;$80868C |
STA $210E ;$80868F |
REP #$20 ;$808692 |
LDA #DATA_FD0FF0 ;$808694 |
LDY #$0000 ;$808697 |
LDX #$0040 ;$80869A |
JSL DMA_palette ;$80869D |
LDA #$0008 ;$8086A1 |
JSL handle_VRAM_payload_wrapper ;$8086A4 |
LDA #$0007 ;$8086A8 |
JSL set_PPU_registers_wrapper ;$8086AB |
LDA #$7000 ;$8086AF |
STA $2116 ;$8086B2 |
LDY #$0064 ;$8086B5 |
LDX #$0000 ;$8086B8 |
CODE_8086BB: ; |
LDA.l DATA_ED57EF,x ;$8086BB |
STA $2118 ;$8086BF |
INX ;$8086C2 |
INX ;$8086C3 |
TXA ;$8086C4 |
AND #$000F ;$8086C5 |
BNE CODE_8086BB ;$8086C8 |
STZ $2118 ;$8086CA |
STZ $2118 ;$8086CD |
STZ $2118 ;$8086D0 |
STZ $2118 ;$8086D3 |
STZ $2118 ;$8086D6 |
STZ $2118 ;$8086D9 |
STZ $2118 ;$8086DC |
STZ $2118 ;$8086DF |
DEY ;$8086E2 |
BNE CODE_8086BB ;$8086E3 |
LDA #$0001 ;$8086E5 |
STA $059B ;$8086E8 |
SEP #$20 ;$8086EB |
LDA #$0F ;$8086ED |
STA $2100 ;$8086EF |
REP #$20 ;$8086F2 |
CODE_8086F4: ; |
BRA CODE_8086F4 ;$8086F4 /
CODE_8086F6:
JSL disable_screen ;$8086F6 \
PHK ;$8086FA |
PLB ;$8086FB |
LDA #$8000 ;$8086FC |
TSB $08C4 ;$8086FF |
LDA #$0001 ;$808702 |
STA $05FB ;$808705 |
JSR CODE_808712 ;$808708 |
LDA #CODE_8087E1 ;$80870B |
JML CODE_808C9E ;$80870E /
CODE_808712:
LDA #$AA55 ;$808712 \
STA $2E ;$808715 |
LDA #$3765 ;$808717 |
STA $30 ;$80871A |
STZ $05FD ;$80871C |
STZ $05FF ;$80871F |
LDA #$0040 ;$808722 |
TRB $08C2 ;$808725 |
STZ $0502 ;$808728 |
STZ $0506 ;$80872B |
STZ $050A ;$80872E |
LDA $05FB ;$808731 |
CMP #$0002 ;$808734 |
BNE CODE_80875E ;$808737 |
LDA #$000C ;$808739 |
STA $D3 ;$80873C |
STA $08C8 ;$80873E |
LDA #$0001 ;$808741 |
STA $08A6 ;$808744 |
LDX $05FD ;$808747 |
LDA $D3 ;$80874A |
STA DATA_FE9388,x ;$80874C |
INX ;$808750 |
INX ;$808751 |
LDA $08A6 ;$808752 |
STA DATA_FE9388,x ;$808755 |
INX ;$808759 |
INX ;$80875A |
STX $05FD ;$80875B |
CODE_80875E: ; |
LDA.l $000605 ;$80875E |
AND #$0003 ;$808762 |
CMP #$0003 ;$808765 |
BNE CODE_80876E ;$808768 |
JML restart_rareware_logo ;$80876A /
CODE_80876E:
ASL A ;$80876E \
TAX ;$80876F |
LDA.l DATA_FE958E,x ;$808770 |
STA $000601 ;$808774 |
INC $0605 ;$808778 |
LDA.l $000601 ;$80877B |
STA $36 ;$80877F |
LDA #$00FE ;$808781 |
STA $38 ;$808784 |
LDA $05FB ;$808786 |
CMP #$0001 ;$808789 |
BNE CODE_8087B8 ;$80878C |
PHB ;$80878E |
PHK ;$80878F |
PLB ;$808790 |
LDY $05FD ;$808791 |
LDA [$36],y ;$808794 |
STA $000603 ;$808796 |
INY ;$80879A |
INY ;$80879B |
LDA [$36],y ;$80879C |
STA $D3 ;$80879E |
STA $08C8 ;$8087A0 |
INY ;$8087A3 |
INY ;$8087A4 |
LDA [$36],y ;$8087A5 |
STA $08A6 ;$8087A7 |
INY ;$8087AA |
INY ;$8087AB |
STY $05FD ;$8087AC |
INY ;$8087AF |
INY ;$8087B0 |
LDA [$36],y ;$8087B1 |
STA $0005FF ;$8087B3 |
PLB ;$8087B7 |
CODE_8087B8: ; |
RTS ;$8087B8 /
CODE_8087B9:
JSL CODE_80F3FB ;$8087B9 \
PHK ;$8087BD |
PLB ;$8087BE |
LDA #CODE_8087C5 ;$8087BF |
JMP CODE_808C9E ;$8087C2 /
CODE_8087C5:
JML CODE_80F482 ;$8087C5 /
CODE_8087C9:
JSL disable_screen ;$8087C9 |
PHK ;$8087CD |
PLB ;$8087CE |
JSR CODE_808712 ;$8087CF |
LDA #CODE_8087E1 ;$8087D2 |
JML CODE_808C9E ;$8087D5 /
CODE_8087D9:
LDA.l $0006B1 ;$8087D9 \
JML CODE_B5CDFD ;$8087DD /
CODE_8087E1:
PHK ;$8087E1 \
PLB ;$8087E2 |
JSL disable_screen ;$8087E3 |
JSL CODE_BB9210 ;$8087E7 |
PHK ;$8087EB |
PLB ;$8087EC |
LDA #$0200 ;$8087ED |
JSR CODE_808C32 ;$8087F0 |
JSR CODE_808CAC ;$8087F3 |
SEP #$20 ;$8087F6 |
LDA $0529 ;$8087F8 |
STA $96 ;$8087FB |
LDA $0527 ;$8087FD |
STA $94 ;$808800 |
REP #$20 ;$808802 |
LDA #CODE_808819 ;$808804 |
JMP CODE_808C9E ;$808807 /
CODE_80880A:
SEP #$20 ;$80880A |
STA $96 ;$80880C |
XBA ;$80880E |
STA $94 ;$80880F |
REP #$20 ;$808811 |
LDA #CODE_808819 ;$808813 |
JMP CODE_808C9E ;$808816 /
CODE_808819:
LDA $94 ;$808819 \
ASL A ;$80881B |
TAX ;$80881C |
JSR (DATA_80B6C1,x) ;$80881D |
SEP #$20 ;$808820 |
LDA $4212 ;$808822 |
REP #$20 ;$808825 |
BMI CODE_808830 ;$808827 |
LDA #$0005 ;$808829 |
JSL CODE_808C13 ;$80882C |
CODE_808830: ; |
LDA $96 ;$808830 |
ASL A ;$808832 |
TAX ;$808833 |
JMP (DATA_80D411,x) ;$808834 /
CODE_808837:
JSR CODE_80883B ;$808837 \
RTL ;$80883A /
CODE_80883B:
BNE CODE_808863 ;$80883B \
LDA #$0DE2 ;$80883D |
STA $0593 ;$808840 |
LDA #$16B2 ;$808843 |
STA $0595 ;$808846 |
STZ $08A4 ;$808849 |
LDA $08A4 ;$80884C |
INC A ;$80884F |
STA $08A2 ;$808850 |
LDA #$0E40 ;$808853 |
STA $0597 ;$808856 |
LDA #$16D8 ;$808859 |
STA $0599 ;$80885C |
JSR CODE_808889 ;$80885F |
RTS ;$808862 /
CODE_808863:
LDA #$0E40 ;$808863 \
STA $0593 ;$808866 |
LDA #$16D8 ;$808869 |
STA $0595 ;$80886C |
LDA #$0001 ;$80886F |
STA $08A4 ;$808872 |
INC A ;$808875 |
STA $08A2 ;$808876 |
LDA #$0DE2 ;$808879 |
STA $0597 ;$80887C |
LDA #$16B2 ;$80887F |
STA $0599 ;$808882 |
JSR CODE_808889 ;$808885 |
RTS ;$808888 /
CODE_808889:
PHX ;$808889 \
LDX $0593 ;$80888A |
LDA #$001E ;$80888D |
STA $30,x ;$808890 |
LDX $0597 ;$808892 |
LDA #$0000 ;$808895 |
STA $30,x ;$808898 |
PLX ;$80889A |
RTS ;$80889B /
CODE_80889C:
JSR CODE_8088A0 ;$80889C \
RTL ;$80889F /
CODE_8088A0:
LDA $08A4 ;$8088A0 \
EOR #$0001 ;$8088A3 |
BRA CODE_80883B ;$8088A6 /
CODE_8088A8:
LDA $D3 ;$8088A8 \
RTL ;$8088AA /
CODE_8088AB:
LDA #$0200 ;$8088AB \
STA $70 ;$8088AE |
JSR CODE_8088BA ;$8088B0 |
RTL ;$8088B3 /
CODE_8088B4:
PHB ;$8088B4 \
JSR CODE_8088BA ;$8088B5 |
PLB ;$8088B8 |
RTL ;$8088B9 /
CODE_8088BA:
PHK ;$8088BA \
PLB ;$8088BB |
LDX $70 ;$8088BC |
CPX #$0400 ;$8088BE |
BEQ CODE_8088D1 ;$8088C1 |
LDA #$F0FF ;$8088C3 |
CODE_8088C6: ; |
STA $00,x ;$8088C6 |
INX ;$8088C8 |
INX ;$8088C9 |
INX ;$8088CA |
INX ;$8088CB |
CPX #$0400 ;$8088CC |
BNE CODE_8088C6 ;$8088CF |
CODE_8088D1: ; |
RTS ;$8088D1 /
CODE_8088D2:
LDY #DATA_8088F1 ;$8088D2 \
PHB ;$8088D5 |
PHK ;$8088D6 |
PLB ;$8088D7 |
BRA CODE_8088EA ;$8088D8 /
CODE_8088DA:
TAX ;$8088DA \
LDA $0002,y ;$8088DB |
LSR A ;$8088DE |
CODE_8088DF: ; |
STZ $00,x ;$8088DF |
INX ;$8088E1 |
INX ;$8088E2 |
DEC A ;$8088E3 |
BNE CODE_8088DF ;$8088E4 |
INY ;$8088E6 |
INY ;$8088E7 |
INY ;$8088E8 |
INY ;$8088E9 |
CODE_8088EA: ; |
LDA $0000,y ;$8088EA |
BPL CODE_8088DA ;$8088ED |
PLB ;$8088EF |
RTL ;$8088F0 /
DATA_8088F1:
db $84, $0D, $2E, $09, $B2, $16, $26, $00
db $D8, $16, $26, $00, $7A, $0D, $02, $00
db $A0, $0B, $02, $00, $A2, $0B, $02, $00
db $36, $0A, $02, $00, $38, $0A, $02, $00
db $04, $0B, $20, $00, $24, $0B, $40, $00
db $EF, $00, $02, $00, $F1, $00, $02, $00
db $64, $0B, $10, $00, $74, $0B, $10, $00
db $42, $0A, $40, $00, $29, $09, $02, $00
db $2B, $09, $02, $00, $2D, $09, $02, $00
db $23, $09, $02, $00, $15, $05, $3E, $00
db $5B, $09, $08, $00, $63, $09, $08, $00
db $4A, $0D, $02, $00, $89, $09, $02, $00
db $1B, $09, $02, $00, $19, $09, $02, $00
db $02, $0B, $02, $00, $FF, $FF
DMA_to_VRAM:
JSR .DMA_to_VRAM ;$80895F \ Simple JSL to RTS wrapper
RTL ;$808962 /
.DMA_to_VRAM
STA $4302 ;$808963 \ Store the DMA source word
STY $4305 ;$808966 | Store the DMA size
LDA #$1801 ;$808969 |\ Set DMA destination to $2118, write once, two registers
STA $4300 ;$80896C |/
SEP #$30 ;$80896F |
STX $4304 ;$808971 | Store the DMA source bank
LDA #$01 ;$808974 |\ Enable the DMA
STA $420B ;$808976 |/
REP #$30 ;$808979 |
RTS ;$80897B /
CODE_80897C:
PHB ;$80897C \
JSR CODE_808988 ;$80897D |
PLB ;$808980 |
RTL ;$808981 /
CODE_808982:
JSL CODE_809025 ;$808982 \
BRA CODE_808A00 ;$808986 /
CODE_808988:
PHK ;$808988 \
PLB ;$808989 |
SEP #$20 ;$80898A |
LDA #$01 ;$80898C |
CODE_80898E: ; |
BIT $4212 ;$80898E |
BNE CODE_80898E ;$808991 |
REP #$20 ;$808993 |
LDA $05FB ;$808995 |
BNE CODE_808982 ;$808998 |
LDA $0B02 ;$80899A |
AND #$0020 ;$80899D |
BEQ CODE_8089C9 ;$8089A0 |
LDA $0927 ;$8089A2 |
BPL CODE_8089C2 ;$8089A5 |
LDA #$0100 ;$8089A7 |
CLC ;$8089AA |
ADC $0927 ;$8089AB |
STA $0927 ;$8089AE |
LDA #$0002 ;$8089B1 |
TSB $0B02 ;$8089B4 |
LDA $0510 ;$8089B7 |
AND #$EFFF ;$8089BA |
STA $0510 ;$8089BD |
BRA CODE_808A3C ;$8089C0 /
CODE_8089C2:
SEC ;$8089C2 \
SBC $0925 ;$8089C3 |
STA $0927 ;$8089C6 |
CODE_8089C9: ; |
LDA $4218 ;$8089C9 |
TAX ;$8089CC |
EOR $0502 ;$8089CD |
AND $4218 ;$8089D0 |
STA $0506 ;$8089D3 |
TXA ;$8089D6 |
EOR $0502 ;$8089D7 |
AND $0502 ;$8089DA |
STA $050A ;$8089DD |
STX $0502 ;$8089E0 |
LDA $421A ;$8089E3 |
TAX ;$8089E6 |
EOR $0504 ;$8089E7 |
AND $421A ;$8089EA |
STA $0508 ;$8089ED |
TXA ;$8089F0 |
EOR $0504 ;$8089F1 |
AND $0504 ;$8089F4 |
STA $050C ;$8089F7 |
STX $0504 ;$8089FA |
JSR CODE_808BB0 ;$8089FD |
CODE_808A00: ; |
LDA $060D ;$808A00 |
BNE CODE_808A26 ;$808A03 |
LDA $0502 ;$808A05 |
STA $050E ;$808A08 |
LDA $0506 ;$808A0B |
STA $0510 ;$808A0E |
BRA CODE_808A3C ;$808A11 /
CODE_808A13:
LDA $060F ;$808A13 \
ASL A ;$808A16 |
TAX ;$808A17 |
LDA $0502,x ;$808A18 |
STA $050E ;$808A1B |
LDA $0506,x ;$808A1E |
STA $0510 ;$808A21 |
BRA CODE_808A3C ;$808A24 /
CODE_808A26:
DEC A ;$808A26 \
BNE CODE_808A13 ;$808A27 |
LDA $08A2 ;$808A29 |
AND #$0002 ;$808A2C |
TAX ;$808A2F |
LDA $0502,x ;$808A30 |
STA $050E ;$808A33 |
LDA $0506,x ;$808A36 |
STA $0510 ;$808A39 |
CODE_808A3C: ; |
LDA $0B02 ;$808A3C |
AND #$0010 ;$808A3F |
BEQ CODE_808A76 ;$808A42 |
LDA $050E ;$808A44 |
XBA ;$808A47 |
AND #$000F ;$808A48 |
ASL A ;$808A4B |
TAX ;$808A4C |
LDA.l DATA_808B90,x ;$808A4D |
EOR $050E ;$808A51 |
AND #$0F00 ;$808A54 |
EOR $050E ;$808A57 |
STA $050E ;$808A5A |
LDA $0510 ;$808A5D |
XBA ;$808A60 |
AND #$000F ;$808A61 |
ASL A ;$808A64 |
TAX ;$808A65 |
LDA.l DATA_808B90,x ;$808A66 |
EOR $0510 ;$808A6A |
AND #$0F00 ;$808A6D |
EOR $0510 ;$808A70 |
STA $0510 ;$808A73 |
CODE_808A76: ; |
LDA $08C2 ;$808A76 |
AND #$0040 ;$808A79 |
BNE CODE_808AB4 ;$808A7C |
LDA #$0010 ;$808A7E |
TRB $08C4 ;$808A81 |
BNE CODE_808A8D ;$808A84 |
LDA $08C2 ;$808A86 |
AND #$0040 ;$808A89 |
RTS ;$808A8C /
CODE_808A8D:
LDA #$0040 ;$808A8D \
TSB $08C2 ;$808A90 |
LDA #$075E ;$808A93 |
JSL CODE_B58021 ;$808A96 |
LDA #$065E ;$808A9A |
JSL CODE_B58021 ;$808A9D |
LDA #$055E ;$808AA1 |
JSL CODE_B58021 ;$808AA4 |
LDA #$045E ;$808AA8 |
JSL CODE_B58021 ;$808AAB |
LDA $2A ;$808AAF |
STA $0636 ;$808AB1 |
CODE_808AB4: ; |
LDA $0510 ;$808AB4 |
AND #$1000 ;$808AB7 |
BNE CODE_808AED ;$808ABA |
LDA $D5 ;$808ABC |
SEC ;$808ABE |
SBC #$0001 ;$808ABF |
STA $D5 ;$808AC2 |
LDA $D7 ;$808AC4 |
SBC #$0000 ;$808AC6 |
STA $D7 ;$808AC9 |
LDA $0510 ;$808ACB |
AND #$2000 ;$808ACE |
BEQ CODE_808AE6 ;$808AD1 |
LDA $08A8 ;$808AD3 |
JSL CODE_BB825C ;$808AD6 |
BCC CODE_808AE6 ;$808ADA |
LDA #$0040 ;$808ADC |
TRB $08C2 ;$808ADF |
JML CODE_BBBDC4 ;$808AE2 /
CODE_808AE6:
JSR CODE_808B19 ;$808AE6 \
LDA #$0001 ;$808AE9 |
RTS ;$808AEC /
CODE_808AED:
LDA #$075E ;$808AED \
JSL CODE_B58021 ;$808AF0 |
LDA #$065E ;$808AF4 |
JSL CODE_B58021 ;$808AF7 |
LDA #$055E ;$808AFB |
JSL CODE_B58021 ;$808AFE |
LDA #$045E ;$808B02 |
JSL CODE_B58021 ;$808B05 |
LDA #$00FF ;$808B09 |
TRB $0621 ;$808B0C |
STZ $19B0 ;$808B0F |
LDA #$0040 ;$808B12 |
TRB $08C2 ;$808B15 |
RTS ;$808B18 /
CODE_808B19:
LDX $19D6 ;$808B19 \
LDA $050E ;$808B1C |
BEQ CODE_808B40 ;$808B1F |
CMP.l DATA_808B7C,x ;$808B21 |
BEQ CODE_808B40 ;$808B25 |
CMP.l DATA_808B7E,x ;$808B27 |
BEQ CODE_808B41 ;$808B2B |
LDA.l DATA_808B7C,x ;$808B2D |
ORA.l DATA_808B7E,x ;$808B31 |
EOR #$FFFF ;$808B35 |
AND $050E ;$808B38 |
BEQ CODE_808B40 ;$808B3B |
STZ $19D6 ;$808B3D |
CODE_808B40: ; |
RTS ;$808B40 /
CODE_808B41:
INX ;$808B41 \
INX ;$808B42 |
INX ;$808B43 |
INX ;$808B44 |
STX $19D6 ;$808B45 |
LDA.l DATA_808B7E,x ;$808B48 |
CMP #$1000 ;$808B4C |
BNE CODE_808B40 ;$808B4F |
JSL disable_screen ;$808B51 |
LDA #$0505 ;$808B55 |
JSL CODE_B58021 ;$808B58 |
LDA #$0000 ;$808B5C |
CODE_808B5F: ; |
JSR CODE_808B6F ;$808B5F |
DEC A ;$808B62 |
BNE CODE_808B5F ;$808B63 |
LDA #$0040 ;$808B65 |
TRB $08C2 ;$808B68 |
JML CODE_BBBDC4 ;$808B6B /
CODE_808B6F:
LDY $00,x ;$808B6F \
LDY $00,x ;$808B71 |
LDY $00,x ;$808B73 |
LDY $00,x ;$808B75 |
LDY $00,x ;$808B77 |
LDY $00,x ;$808B79 |
RTS ;$808B7B /
DATA_808B7C:
db $00, $00
DATA_808B7E:
db $00, $41, $00, $41, $80, $02, $80, $02
db $00, $88, $00, $88, $40, $04, $40, $04
db $00, $10
DATA_808B90:
db $00, $00, $00, $02, $00, $01, $00, $00
db $00, $08, $00, $0A, $00, $09, $00, $00
db $00, $04, $00, $06, $00, $05, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
CODE_808BB0:
STZ $32 ;$808BB0 \
LDA $0502 ;$808BB2 |
AND #$0007 ;$808BB5 |
BEQ CODE_808BCF ;$808BB8 |
SEP #$20 ;$808BBA |
LDY #$0010 ;$808BBC |
CODE_808BBF: ; |
LDA $4016 ;$808BBF |
DEY ;$808BC2 |
BNE CODE_808BBF ;$808BC3 |
REP #$20 ;$808BC5 |
STZ $0502 ;$808BC7 |
STZ $0506 ;$808BCA |
BRA CODE_808BE1 ;$808BCD /
CODE_808BCF:
SEP #$20 ;$808BCF \
LDA $4016 ;$808BD1 |
REP #$20 ;$808BD4 |
BIT #$0001 ;$808BD6 |
BNE CODE_808BE1 ;$808BD9 |
STZ $0502 ;$808BDB |
STZ $0506 ;$808BDE |
CODE_808BE1: ; |
LDA $0504 ;$808BE1 |
AND #$0007 ;$808BE4 |
BEQ CODE_808BFE ;$808BE7 |
SEP #$20 ;$808BE9 |
LDY #$0010 ;$808BEB |
CODE_808BEE: ; |
LDA $4017 ;$808BEE |
DEY ;$808BF1 |
BNE CODE_808BEE ;$808BF2 |
REP #$20 ;$808BF4 |
STZ $0504 ;$808BF6 |
STZ $0508 ;$808BF9 |
BRA CODE_808C10 ;$808BFC /
CODE_808BFE:
SEP #$20 ;$808BFE \
LDA $4017 ;$808C00 |
REP #$20 ;$808C03 |
BIT #$0001 ;$808C05 |
BNE CODE_808C12 ;$808C08 |
STZ $0504 ;$808C0A |
STZ $0508 ;$808C0D |
CODE_808C10: ; |
INC $32 ;$808C10 |
CODE_808C12: ; |
RTS ;$808C12 /
CODE_808C13:
RTL ;$808C13 /
PHA ;$808C14 |
LDA.l $0005F3 ;$808C15 |
BEQ CODE_808C21 ;$808C19 |
PLA ;$808C1B |
JSL CODE_808C22 ;$808C1C |
RTL ;$808C20 /
CODE_808C21:
PLA ;$808C21 \
CODE_808C22: ; |
STA $0005F3 ;$808C22 |
LDA #$00B4 ;$808C26 |
STA $0005F5 ;$808C29 |
RTL ;$808C2D /
CODE_808C2E:
JSR CODE_808C32 ;$808C2E \
RTL ;$808C31 /
CODE_808C32:
STZ $0513 ;$808C32 \
STA $0512 ;$808C35 |
RTS ;$808C38 /
CODE_808C39:
JSR CODE_808C3D ;$808C39 \
RTL ;$808C3C /
CODE_808C3D:
SEP #$20 ;$808C3D \
LDA $0513 ;$808C3F |
BEQ CODE_808C7D ;$808C42 |
BMI CODE_808C63 ;$808C44 |
INC $0514 ;$808C46 |
CMP $0514 ;$808C49 |
BNE CODE_808C7D ;$808C4C |
STZ $0514 ;$808C4E |
INC $0512 ;$808C51 |
LDA #$0F ;$808C54 |
CMP $0512 ;$808C56 |
BCS CODE_808C7D ;$808C59 |
STA $0512 ;$808C5B |
STZ $0513 ;$808C5E |
BRA CODE_808C7D ;$808C61 /
CODE_808C63:
AND #$7F ;$808C63 \
INC $0514 ;$808C65 |
CMP $0514 ;$808C68 |
BNE CODE_808C7D ;$808C6B |
STZ $0514 ;$808C6D |
DEC $0512 ;$808C70 |
BMI CODE_808C77 ;$808C73 |
BNE CODE_808C7D ;$808C75 |
CODE_808C77: ; |
STZ $0513 ;$808C77 |
STZ $0512 ;$808C7A |
CODE_808C7D: ; |
REP #$20 ;$808C7D |
RTS ;$808C7F /
CODE_808C80:
PHK ;$808C80 \
PLB ;$808C81 |
CODE_808C82: ; |
STA $20 ;$808C82 |
CODE_808C84: ; |
SEP #$20 ;$808C84 |
LDA $4211 ;$808C86 |
LDA $4210 ;$808C89 |
CODE_808C8C: ; |
LDA $4210 ;$808C8C |
AND #$80 ;$808C8F |
BNE CODE_808C8C ;$808C91 |
LDA #$81 ;$808C93 |
STA $4200 ;$808C95 |
STZ $4016 ;$808C98 |
CODE_808C9B: ; |
WAI ;$808C9B |
BRA CODE_808C9B ;$808C9C /
CODE_808C9E:
PHK ;$808C9E \
PLB ;$808C9F |
STA $24 ;$808CA0 |
CODE_808CA2: ; |
JSR CODE_808CAC ;$808CA2 |
JMP CODE_80862A ;$808CA5 /
CODE_808CA8:
JSR CODE_808CAC ;$808CA8 \
RTL ;$808CAB /
CODE_808CAC:
LDA #$0200 ;$808CAC \
STA $4302 ;$808CAF |
STA $4308 ;$808CB2 |
LDA #$0220 ;$808CB5 |
STA $4305 ;$808CB8 |
LDA #$0400 ;$808CBB |
STA $4300 ;$808CBE |
SEP #$20 ;$808CC1 |
STZ $4304 ;$808CC3 |
REP #$20 ;$808CC6 |
RTS ;$808CC8 /
CODE_808CC9:
LDX #$01FF ;$808CC9 \
TXS ;$808CCC |
INC $2A ;$808CCD |
JSL CODE_BAB31B ;$808CCF |
JSL CODE_80897C ;$808CD3 |
BRA CODE_808D1C ;$808CD7 /
CODE_808CD9:
LDX #$01FF ;$808CD9 \
TXS ;$808CDC |
INC $2A ;$808CDD |
JSL CODE_B4BE60 ;$808CDF |
JSL CODE_80897C ;$808CE3 |
BRA CODE_808D1C ;$808CE7 /
CODE_808CE9:
JML CODE_B5D13B ;$808CE9 /
CODE_808CED:
JML CODE_B5D4A7 ;$808CED /
CODE_808CF1:
JML CODE_B5D334 ;$808CF1 /
CODE_808CF5:
LDX #$01FF ;$808CF5 \
TXS ;$808CF8 |
INC $2A ;$808CF9 |
JSL CODE_B491D7 ;$808CFB |
BRL CODE_808D1C ;$808CFF /
CODE_808D02:
LDX #$01FF ;$808D02 \
TXS ;$808D05 |
INC $2A ;$808D06 |
JSL CODE_B48B15 ;$808D08 |
BRA CODE_808D1C ;$808D0C /
CODE_808D0E:
LDX #$01FF ;$808D0E \
TXS ;$808D11 |
INC $2A ;$808D12 |
JSL CODE_B4935E ;$808D14 |
JSL CODE_80897C ;$808D18 |
CODE_808D1C: ; |
WAI ;$808D1C |
BRA CODE_808D1C ;$808D1D /
CODE_808D1F:
LDX #$01FF ;$808D1F \
TXS ;$808D22 |
INC $2A ;$808D23 |
JSL CODE_B49978 ;$808D25 |
JSL CODE_80897C ;$808D29 |
BRL CODE_808D1C ;$808D2D /
CODE_808D30:
LDX #$01FF ;$808D30 \
TXS ;$808D33 |
INC $2A ;$808D34 |
JSL CODE_B49886 ;$808D36 |
BRL CODE_808D1C ;$808D3A /
CODE_808D3D:
LDX #$01FF ;$808D3D \
TXS ;$808D40 |
INC $2A ;$808D41 |
JSL CODE_B49F1D ;$808D43 |
JSL CODE_80897C ;$808D47 |
BRL CODE_808D1C ;$808D4B /
CODE_808D4E:
LDX #$01FF ;$808D4E \
TXS ;$808D51 |
INC $2A ;$808D52 |
JSL CODE_B49ED7 ;$808D54 |
JSL CODE_80897C ;$808D58 |
BRL CODE_808D1C ;$808D5C /
CODE_808D5F:
LDX #$01FF ;$808D5F \
TXS ;$808D62 |
INC $2A ;$808D63 |
JSL CODE_B4AB6E ;$808D65 |
JSL CODE_80897C ;$808D69 |
BRL CODE_808D1C ;$808D6D /
CODE_808D70:
LDX #$01FF ;$808D70 \
TXS ;$808D73 |
INC $2A ;$808D74 |
JSL CODE_B4990F ;$808D76 |
BRL CODE_808D1C ;$808D7A /
CODE_808D7D:
LDX #$01FF ;$808D7D \
TXS ;$808D80 |
INC $2A ;$808D81 |
JSL CODE_B49B63 ;$808D83 |
BRL CODE_808D1C ;$808D87 /
CODE_808D8A:
LDA #$8000 ;$808D8A \
ORA $08C2 ;$808D8D |
STA $08C2 ;$808D90 |
LDA $08A4 ;$808D93 |
JSL CODE_808837 ;$808D96 |
LDA #$0020 ;$808D9A |
ORA $30,x ;$808D9D |
STA $30,x ;$808D9F |
JSR CODE_808E29 ;$808DA1 |
LDA #$16D8 ;$808DA4 |
STA $66 ;$808DA7 |
LDY #$136E ;$808DA9 |
JSL CODE_BB8432 ;$808DAC |
LDX $68 ;$808DB0 |
STX $64 ;$808DB2 |
LDA #$0004 ;$808DB4 |
JSL CODE_B9D0B8 ;$808DB7 |
LDA.l DATA_FF012A ;$808DBB |
STA $16E0 ;$808DBF |
LDA.l DATA_FF012C ;$808DC2 |
STA $16E2 ;$808DC6 |
LDX $0593 ;$808DC9 |
LDA #$001D ;$808DCC |
STA $2E,x ;$808DCF |
LDA #$00E4 ;$808DD1 |
STA $02,x ;$808DD4 |
JSR CODE_808DFB ;$808DD6 |
LDX $0597 ;$808DD9 |
LDA #$001E ;$808DDC |
STA $2E,x ;$808DDF |
LDA #$00D8 ;$808DE1 |
STA $02,x ;$808DE4 |
JSR CODE_808DFB ;$808DE6 |
LDA $08C2 ;$808DE9 |
BIT #$4000 ;$808DEC |
BNE CODE_808DFA ;$808DEF |
LDY $0597 ;$808DF1 |
LDA #$C000 ;$808DF4 |
STA $001C,y ;$808DF7 |
CODE_808DFA: ; |
RTL ;$808DFA /
CODE_808DFB:
RTS ;$808DFB /
LDA #$0101 ;$808DFC |
STA $1E,x ;$808DFF |
STZ $0E,x ;$808E01 |
LDA $0A,x ;$808E03 |
STA $0C,x ;$808E05 |
RTS ;$808E07 /
LDA #$8000 ;$808E08 |
ORA $08C2 ;$808E0B |
STA $08C2 ;$808E0E |
LDA #$0000 ;$808E11 |
JSL CODE_808837 ;$808E14 |
JSR CODE_808E29 ;$808E18 |
LDX $0593 ;$808E1B |
LDA #$001D ;$808E1E |
STA $2E,x ;$808E21 |
LDA #$00E4 ;$808E23 |
STA $02,x ;$808E26 |
RTL ;$808E28 /
CODE_808E29:
LDA #$16B2 ;$808E29 \
STA $66 ;$808E2C |
LDY #$1330 ;$808E2E |
JSL CODE_BB8432 ;$808E31 |
LDX $68 ;$808E35 |
STX $64 ;$808E37 |
LDA #$0001 ;$808E39 |
JSL CODE_B9D0B8 ;$808E3C |
LDA.l DATA_FF0040 ;$808E40 |
STA $16BA ;$808E44 |
LDA.l DATA_FF0042 ;$808E47 |
STA $16BC ;$808E4B |
RTS ;$808E4E /
CODE_808E4F:
JSR CODE_808E53 ;$808E4F \
RTL ;$808E52 /
CODE_808E53:
LDA $2E ;$808E53 \
STA $34 ;$808E55 |
ASL A ;$808E57 |
LDA $30 ;$808E58 |
ROL A ;$808E5A |
STA $32 ;$808E5B |
LDA $2F ;$808E5D |
EOR $32 ;$808E5F |
STA $2E ;$808E61 |
LDA $34 ;$808E63 |
STA $30 ;$808E65 |
LDA $2E ;$808E67 |
RTS ;$808E69 /
CODE_808E6A:
PHB ;$808E6A \
PHK ;$808E6B |
PLB ;$808E6C |
STZ $D9 ;$808E6D |
LDX #$00D9 ;$808E6F |
LDA #$0024 ;$808E72 |
TXY ;$808E75 |
INY ;$808E76 |
MVN $80, $80 ;$808E77 |
STZ $0911 ;$808E7A |
LDX #$0911 ;$808E7D |
LDA #$10C7 ;$808E80 |
TXY ;$808E83 |
INY ;$808E84 |
MVN $80, $80 ;$808E85 |
LDA #$0000 ;$808E88 |
STA $7E5A12 ;$808E8B |
LDX #$5A12 ;$808E8F |
LDA #$3B14 ;$808E92 |
TXY ;$808E95 |
INY ;$808E96 |
MVN $7E, $7E ;$808E97 |
LDA #$0000 ;$808E9A |
STA $7F0000 ;$808E9D |
LDX #$0000 ;$808EA1 |
LDA #$FFFF ;$808EA4 |
TXY ;$808EA7 |
INY ;$808EA8 |
MVN $7F, $7F ;$808EA9 |
PLB ;$808EAC |
RTL ;$808EAD /
clear_wram_reset: ; \
PLA ;$808EAE |\ Store the return address in scratch ram
INC A ;$808EAF | |
STA $32 ;$808EB0 |/
LDA #$0000 ;$808EB2 |\ Clear bank 7F using an MVN copy
STA $7F0000 ;$808EB5 | | (Clear the first byte the recursive MVN)
LDX #$0000 ;$808EB9 | |
LDA #$FFFF ;$808EBC | |
TXY ;$808EBF | |
INY ;$808EC0 | |
MVN $7F, $7F ;$808EC1 |/
LDA #$0000 ;$808EC4 |\ Clear bank 7E above $0911 using an MVN copy
STA $000911 ;$808EC7 | |
LDX #$0911 ;$808ECB | |
LDA #$F6ED ;$808ECE | |
TXY ;$808ED1 | |
INY ;$808ED2 | |
MVN $7E, $7E ;$808ED3 |/
STZ $34 ;$808ED6 |\ Clean $7E0034-$7E0906 with an MVN copy
LDX #$0034 ;$808ED8 | |
LDA #$08D1 ;$808EDB | |
TXY ;$808EDE | |
INY ;$808EDF | |
MVN $80, $80 ;$808EE0 |/
LDX #$01FF ;$808EE3 |\ Reset the stack
TXS ;$808EE6 |/
JMP ($0032) ;$808EE7 / Return using address from scratch RAM
CODE_808EEA:
JSL disable_screen ;$808EEA \
PHK ;$808EEE |
PLB ;$808EEF |
JSR CODE_808FFB ;$808EF0 |
LDA #$0000 ;$808EF3 |
JSL CODE_808837 ;$808EF6 |
JSR CODE_808F4A ;$808EFA |
LDA #CODE_8087D9 ;$808EFD |
JML CODE_808C9E ;$808F00 /
CODE_808F04:
JSL disable_screen ;$808F04 \
PHK ;$808F08 |
PLB ;$808F09 |
JSR CODE_808FFB ;$808F0A |
LDA.l $7E56CE ;$808F0D |
AND #$0001 ;$808F11 |
STA $060F ;$808F14 |
LDA.l $7E56CF ;$808F17 |
AND #$0003 ;$808F1B |
STA $060D ;$808F1E |
CMP #$0002 ;$808F21 |
BEQ CODE_808F35 ;$808F24 |
JSR CODE_808FDC ;$808F26 |
JSL CODE_BBC736 ;$808F29 |
CODE_808F2D: ; |
LDA.l $0006B1 ;$808F2D |
JML CODE_B5CDFD ;$808F31 /
CODE_808F35:
JSR CODE_808FDC ;$808F35 \
JSL CODE_BBC736 ;$808F38 |
JSL CODE_BBC85B ;$808F3C |
JSL CODE_BBC736 ;$808F40 |
JSL CODE_BBC85B ;$808F44 |
BRA CODE_808F2D ;$808F48 /
CODE_808F4A:
JSR CODE_808FDC ;$808F4A \
LDA $060D ;$808F4D |
CMP #$0002 ;$808F50 |
BEQ CODE_808F59 ;$808F53 |
JSR CODE_808F6C ;$808F55 |
RTS ;$808F58 /
CODE_808F59:
JSL CODE_BBC85B ;$808F59 \
JSR CODE_808F6C ;$808F5D |
JSL CODE_BBC85B ;$808F60 |
JSR CODE_808F6C ;$808F64 |
RTS ;$808F67 /
CODE_808F68:
JSR CODE_808F6C ;$808F68 \
RTL ;$808F6B /
CODE_808F6C:
LDA #$0003 ;$808F6C \
STA $D3 ;$808F6F |
STA $05BD ;$808F71 |
LDA #$0003 ;$808F74 |
STA $08A8 ;$808F77 |
LDA #$FFFC ;$808F7A |
STA $0BA4 ;$808F7D |
STZ $08C6 ;$808F80 |
STZ $08C2 ;$808F83 |
STZ $D5 ;$808F86 |
STZ $D7 ;$808F88 |
STZ $6C ;$808F8A |
STZ $6E ;$808F8C |
STZ $08A6 ;$808F8E |
STZ $08AA ;$808F91 |
STZ $08AC ;$808F94 |
STZ $08AE ;$808F97 |
STZ $08BC ;$808F9A |
STZ $096B ;$808F9D |
LDX #$0004 ;$808FA0 |
LDA $060B ;$808FA3 |
AND #$0002 ;$808FA6 |
BEQ CODE_808FAE ;$808FA9 |
LDX #$0032 ;$808FAB |
CODE_808FAE: ; |
STX $08BE ;$808FAE |
STX $08C0 ;$808FB1 |
LDA #$0080 ;$808FB4 |
STA $0512 ;$808FB7 |
LDA #$002C ;$808FBA |
STA $78 ;$808FBD |
LDA $08A4 ;$808FBF |
JSL CODE_808837 ;$808FC2 |
JSL CODE_B48000 ;$808FC6 |
LDX #$0000 ;$808FCA |
LDA #$0000 ;$808FCD |
CODE_808FD0: ; |
STA $7E59B2,x ;$808FD0 |
INX ;$808FD4 |
INX ;$808FD5 |
CPX #$0060 ;$808FD6 |
BNE CODE_808FD0 ;$808FD9 |
RTS ;$808FDB /
CODE_808FDC:
LDA #$1234 ;$808FDC \
STA $2E ;$808FDF |
STA $30 ;$808FE1 |
LDA #$0080 ;$808FE3 |
CMP #$0080 ;$808FE6 |
BNE CODE_808FF3 ;$808FE9 |
LDA #$FBA2 ;$808FEB |
CMP #$FFB0 ;$808FEE |
BMI CODE_808FFA ;$808FF1 |
CODE_808FF3: ; |
LDA #$000F ;$808FF3 |
JSL CODE_808C13 ;$808FF6 |
CODE_808FFA: ; |
RTS ;$808FFA /
CODE_808FFB:
RTS ;$808FFB /
LDX $05FD ;$808FFC |
LDA $4218 ;$808FFF |
CMP.l DATA_FE9388,x ;$809002 |
BNE CODE_809012 ;$809006 |
LDA.l DATA_FE938A,x ;$809008 |
INC A ;$80900C |
STA DATA_FE938A,x ;$80900D |
RTL ;$809011 /
CODE_809012:
INX ;$809012 \
INX ;$809013 |
INX ;$809014 |
INX ;$809015 |
STA DATA_FE9388,x ;$809016 |
LDA #$0001 ;$80901A |
STA DATA_FE938A,x ;$80901D |
STX $05FD ;$809021 |
RTL ;$809024 /
CODE_809025:
PHK ;$809025 \
PLB ;$809026 |
LDA $0502 ;$809027 |
PHA ;$80902A |
LDA $0506 ;$80902B |
PHA ;$80902E |
LDA $4218 ;$80902F |
TAX ;$809032 |
EOR $0502 ;$809033 |
AND $4218 ;$809036 |
STA $0506 ;$809039 |
TXA ;$80903C |
EOR $0502 ;$80903D |
AND $0502 ;$809040 |
STA $050A ;$809043 |
STX $0502 ;$809046 |
LDA $0502 ;$809049 |
TAX ;$80904C |
PLA ;$80904D |
STA $0506 ;$80904E |
PLA ;$809051 |
STA $0502 ;$809052 |
TXA ;$809055 |
AND #$D000 ;$809056 |
BNE CODE_8090AA ;$809059 |
LDA $05FD ;$80905B |
CMP $0603 ;$80905E |
BPL CODE_8090A0 ;$809061 |
PHB ;$809063 |
PHK ;$809064 |
PLB ;$809065 |
LDA $0601 ;$809066 |
STA $36 ;$809069 |
LDA #$00FE ;$80906B |
STA $38 ;$80906E |
LDY $05FD ;$809070 |
LDA $05FF ;$809073 |
BNE CODE_809088 ;$809076 |
INY ;$809078 |
INY ;$809079 |
INY ;$80907A |
INY ;$80907B |
STY $05FD ;$80907C |
INY ;$80907F |
INY ;$809080 |
LDA [$36],y ;$809081 |
DEY ;$809083 |
DEY ;$809084 |
STA $05FF ;$809085 |
CODE_809088: ; |
DEC $05FF ;$809088 |
LDA [$36],y ;$80908B |
STA $32 ;$80908D |
LDA $32 ;$80908F |
TAX ;$809091 |
EOR $0502 ;$809092 |
AND $32 ;$809095 |
STA $0506 ;$809097 |
TXA ;$80909A |
STA $0502 ;$80909B |
PLB ;$80909E |
RTL ;$80909F /
CODE_8090A0:
JSR CODE_8090B1 ;$8090A0 \
LDA #CODE_8086F6 ;$8090A3 |
JML CODE_808C9E ;$8090A6 /
CODE_8090AA:
JSR CODE_8090B1 ;$8090AA \
JML CODE_80A5F1 ;$8090AD /
CODE_8090B1:
LDA #$8000 ;$8090B1 \
TRB $08C4 ;$8090B4 |
STZ $05FB ;$8090B7 |
RTS ;$8090BA /
CODE_8090BB:
JSL disable_screen ;$8090BB \
LDA #$0006 ;$8090BF |
STA $000689 ;$8090C2 |
LDA #CODE_808D02 ;$8090C6 |
JML CODE_808C80 ;$8090C9 /
reset_controller_state:
STZ $060F ;$8090CD \
STZ $060D ;$8090D0 |
LDA #$0001 ;$8090D3 |
STA $08A2 ;$8090D6 |
RTS ;$8090D9 /
init_rareware_logo:
JSR reset_controller_state ;$8090DA \
LDA #$002C ;$8090DD |\
STA $78 ;$8090E0 |/
JSR init_registers ;$8090E2 | Reset registers to a known state
JSR clear_VRAM ;$8090E5 | Nuke VRAM
STZ $2A ;$8090E8 | Reset effective frame counter
LDA #$AA55 ;$8090EA |\ TODO: figure out $2E/30 use.
STA $2E ;$8090ED | |
LDA #$3765 ;$8090EF | |
STA $30 ;$8090F2 |/
LDA #$0011 ;$8090F4 |\ Load Intro fanfare sound
JSL set_song_simple_entry ;$8090F7 |/
SEP #$20 ;$8090FB |
LDA #$01 ;$8090FD |\ Enable auto polling
STA $4200 ;$8090FF |/
LDA #$8F ;$809102 |\ Enable F-Blank
STA $2100 ;$809104 |/
STZ $2101 ;$809107 | User 8x8 sprites with sprite tile data at $0000
STZ $2133 ;$80910A | Turn off special video modes
REP #$30 ;$80910D |
LDA #$0003 ;$80910F |\ Set background mode to 3
STA $2105 ;$809112 |/
LDA #$0102 ;$809115 |\ Set layer 2 on the main screen, layer 1 on the subscreen
STA $212C ;$809118 |/
LDA #$0202 ;$80911B |\ Enable color math on layer 2, add subscreen to mainscreen
STA $2130 ;$80911E |/
LDA #$0364 ;$809121 |\ Set layer 1,2,3,4 tile data address
STA $210B ;$809124 |/ Addresses: $8000, $C000, $6000, $0000
LDA #$787C ;$809127 |\ Set layer 1 and 2 tile map address
STA $2107 ;$80912A |/ Addresses: $F800, $F000
LDA #$0070 ;$80912D |\ Set layer 1 and 2 tile map address
STA $2109 ;$809130 |/ Addresses: $E000, $0000
STZ $2116 ;$809133 | Zero VRAM address
LDX #$4000 ;$809136 | Load number of VRAM words to clear (minus 1...)
.clear_VRAM ; |
STZ $2118 ;$809139 |\ Clear VRAM byte
DEX ;$80913C | | Decrement counter
BNE .clear_VRAM ;$80913D |/ Loop until done
LDX #DATA_FA4C3E ;$80913F |\ Decompress mode 7 tile data to $7F0000
LDY.w #DATA_FA4C3E>>16 ;$809142 | |
LDA #$0000 ;$809145 | |
JSL decompress_data ;$809148 |/
STZ $2116 ;$80914C |\ Zero VRAM address and reset index for upload.
SEP #$20 ;$80914F | |
LDX #$0000 ;$809151 |/
.mode_7_tile_data_upload ; |\
TXA ;$809154 | |\ Useless, due to the load immediately after.
LSR A ;$809155 | | |
LSR A ;$809156 | | |
LSR A ;$809157 | | |
LSR A ;$809158 | | |
LSR A ;$809159 | | |
LSR A ;$80915A | |/
LDA.l $7F0000,x ;$80915B | |\ Copy byte to VRAM
STA $2119 ;$80915F | |/
INX ;$809162 | | Increment byte counter
CPX #$3400 ;$809163 | | Check if we've uploaded $3400 bytes
BNE .mode_7_tile_data_upload ;$809166 |/ Branch until we have
REP #$20 ;$809168 |
LDA #$038B ;$80916A |\ Load initial VRAM address for the mode 7 tilemap
STA $32 ;$80916D |/
LDA #DATA_F547BC ;$80916F |\ Load pointer to the mode 7 tilemap
LDX.w #DATA_F547BC>>16 ;$809172 |/
JSR upload_mode_7_tilemap ;$809175 | Upload mode 7 tilemap
LDA #$0100 ;$809178 |\ Set mode 7 X/Y scale to $0100 (100%)
STA $7C ;$80917B | |
STA $7A ;$80917D |/
SEP #$20 ;$80917F |
LDA #$05 ;$809181 |\ Set mode 7 X center to $0105
STA $211F ;$809183 | |
LDA #$01 ;$809186 | |
STA $211F ;$809188 |/
LDA #$D7 ;$80918B |\ Set mode 7 Y center to $00D7
STA $2120 ;$80918D | |
STZ $2120 ;$809190 |/
LDA #$80 ;$809193 |\ Fill empty mode 7 space with transparency
STA $211A ;$809195 |/
REP #$20 ;$809198 |
LDA #$7400 ;$80919A |\ Clear $800 of VRAM at $E800
JSR clear_VRAM_block ;$80919D |/
LDA #$7000 ;$8091A0 |\ Clear $800 of VRAM at $E000
JSR clear_VRAM_block ;$8091A3 |/
LDA #$7800 ;$8091A6 |\ Clear $800 of VRAM at $F000
JSR clear_VRAM_block ;$8091A9 |/
LDA #$7C00 ;$8091AC |\ Clear $800 of VRAM at $F800
JSR clear_VRAM_block ;$8091AF |/
LDX #DATA_F52FC7 ;$8091B2 |\ Load pointer to Nintendo presents layer 1 tilemap
LDY.w #DATA_F52FC7>>16 ;$8091B5 | |
LDA #$0000 ;$8091B8 | |
JSL decompress_data ;$8091BB |/ Decompress the tilemap
LDA #$0000 ;$8091BF |\ Patch decompressed data, removes a couple of garbage tiles
STA $7F0100 ;$8091C2 | |
STA $7F013E ;$8091C6 |/
LDA #$74A0 ;$8091CA |\ Set VRAM address to $E940
STA $2116 ;$8091CD |/
LDX #$007F ;$8091D0 |\ Upload $0340 bytes from $7F0000 to VRAM address $E940
LDA #$0000 ;$8091D3 | |
LDY #$0340 ;$8091D6 | |
JSL DMA_to_VRAM ;$8091D9 |/ DMA the payload
LDX #DATA_F80D10 ;$8091DD |\ Load pointer to mini Rare logo layer 1 tilemap
LDY.w #DATA_F80D10>>16 ;$8091E0 | |
LDA #$0000 ;$8091E3 | |
JSL decompress_data ;$8091E6 |/ Decompress the tilemap
LDA #$76BA ;$8091EA |\ Set VRAM address to $ED74
STA $2116 ;$8091ED |/
LDX #$007F ;$8091F0 |\ Upload $00C8 bytes from $7F0000 to VRAM address $ED74
LDA #$0000 ;$8091F3 | |
LDY #$00C8 ;$8091F6 | |
JSL DMA_to_VRAM ;$8091F9 |/ DMA the payload
LDX #DATA_F50004 ;$8091FD |\
LDY.w #DATA_F50004>>16 ;$809200 | |
LDA #$0000 ;$809203 | |
JSL decompress_data ;$809206 |/
LDA #$78E0 ;$80920A |\ Set VRAM address to $F1C0
STA $2116 ;$80920D |/
LDX #$007F ;$809210 |\
LDA #$0000 ;$809213 | |
LDY #$0380 ;$809216 | |
JSL DMA_to_VRAM ;$809219 |/
LDX #DATA_F56AC9 ;$80921D |\ Upload $0380 bytes from $7F0000 to VRAM address $F1C0
LDY.w #DATA_F56AC9>>16 ;$809220 | |
LDA #$0000 ;$809223 | |
JSL decompress_data ;$809226 |/ DMA the payload
LDA #$7CE0 ;$80922A |\ Set VRAM address to $F9C0
STA $2116 ;$80922D |/
LDX #$007F ;$809230 |\ Upload $0380 bytes from $7F0000 to VRAM address $F9C0
LDA #$0000 ;$809233 | |
LDY #$0380 ;$809236 | |
JSL DMA_to_VRAM ;$809239 |/ DMA the payload
LDX #DATA_F55D4A ;$80923D |\
LDY.w #DATA_F55D4A>>16 ;$809240 | |
LDA #$0000 ;$809243 | |
JSL decompress_data ;$809246 |/
LDA #$4000 ;$80924A |\ Set VRAM address to $8000
STA $2116 ;$80924D |/
LDX #$007F ;$809250 |\ Upload $2400 bytes from $7F0000 to VRAM address $8000
LDA #$0000 ;$809253 | |
LDY #$2400 ;$809256 | |
JSL DMA_to_VRAM ;$809259 |/ DMA the payload
LDX #DATA_F8063E ;$80925D |\
LDY.w #DATA_F8063E>>16 ;$809260 | |
LDA #$0000 ;$809263 | |
JSL decompress_data ;$809266 |/
LDA #$6000 ;$80926A |\ Set VRAM address to $C000
STA $2116 ;$80926D |/
LDX #$007F ;$809270 |\ Upload $1000 bytes from $7F0000 to VRAM address $C000
LDA #$0000 ;$809273 | |
LDY #$1000 ;$809276 | |
JSL DMA_to_VRAM ;$809279 |/ DMA the payload
LDX #DATA_D9F7C9 ;$80927D |\ Load pointer to Nintendo presents screen layer 3 tilemap
LDY.w #DATA_D9F7C9>>16 ;$809280 | |
LDA #$0000 ;$809283 | |
JSL decompress_data ;$809286 |/ Decompress the tilemap
LDA #$7000 ;$80928A |\ Set VRAM address to $E000
STA $2116 ;$80928D |/
LDX #$007F ;$809290 |\ Upload $800 bytes from $7F0000 to VRAM address $E000
LDA #$0000 ;$809293 | |
LDY #$0800 ;$809296 | |
JSL DMA_to_VRAM ;$809299 |/ DMA the payload
LDX #DATA_F5325B ;$80929D |\ Decompress the Nintendo presents logo
LDY.w #DATA_F5325B>>16 ;$8092A0 | |
LDA #$0000 ;$8092A3 | |
JSL decompress_data ;$8092A6 |/
LDX #DATA_EB2B84 ;$8092AA |\ Decompress tilemap for Nintendo presents sparkles
LDY.w #DATA_EB2B84>>16 ;$8092AD | | (This overwrites the Nintendo presents logo)
LDA #$0000 ;$8092B0 | |
JSL decompress_data ;$8092B3 |/
LDX #DATA_F5325B ;$8092B7 |\ Redecompress the Nintendo presents logo
LDY.w #DATA_F5325B>>16 ;$8092BA | | This time Decompress over the Sparkles
LDA #$0500 ;$8092BD | |
JSL decompress_data ;$8092C0 |/
LDA #$000F ;$8092C4 |\ Set the screen brightness mirror to full brightness
STA $0512 ;$8092C7 |/
LDA #$0000 ;$8092CA | Value to initialize scratch RAM and palette mirrors to
LDX #$01FE ;$8092CD | Load number of bytes minus two to clear
CODE_8092D0: ; |\ Clear scratch RAM
STA $7E8928,x ;$8092D0 | |
DEX ;$8092D4 | |
DEX ;$8092D5 | |
BPL CODE_8092D0 ;$8092D6 |/ Continue to loop until all is cleared
LDX #$001C ;$8092D8 | Load number of bytes minus two to clear
.clear_scratch_RAM ; |\ Clear scratch RAM
STZ $32,x ;$8092DB | |
DEX ;$8092DD | |
DEX ;$8092DE | |
BPL .clear_scratch_RAM ;$8092DF |/ Continue to loop until all is cleared
LDA #$007F ;$8092E1 |\ For $7F scanlines set the bg mode to 3
STA $7E8012 ;$8092E4 | |
LDA #$0003 ;$8092E8 | |
STA $7E8013 ;$8092EB | |
LDA #$0018 ;$8092EF | | For $18 scanlines set the bg mode to 3
STA $7E8014 ;$8092F2 | |
LDA #$0003 ;$8092F6 | |
STA $7E8015 ;$8092F9 | | For $3 scanlines set the bg mode to 3
STA $7E8016 ;$8092FD | |
STA $7E8017 ;$809301 | |
LDA #$0000 ;$809305 | | Terminate HDMA table
STA $7E8018 ;$809308 |/
LDA #$007F ;$80930C |\ For $7F scanlines enable color math on layer 2
STA $7E8022 ;$80930F | |
LDA #$0002 ;$809313 | |
STA $7E8023 ;$809316 | |
LDA #$0018 ;$80931A | | For $18 scanlines enable color math on layer 2
STA $7E8024 ;$80931D | |
LDA #$0002 ;$809321 | |
STA $7E8025 ;$809324 | | For $2 scanlines enable color math on layer 2
STA $7E8026 ;$809328 | |
STA $7E8027 ;$80932C | |
LDA #$0000 ;$809330 | | Terminate HDMA table
STA $7E8028 ;$809333 |/
LDA #$007F ;$809337 |\ For $7F scanlines set layer 1 on the subscreen
STA $7E8032 ;$80933A | |
LDA #$0001 ;$80933E | |
STA $7E8033 ;$809341 | |
LDA #$0018 ;$809345 | | For $18 scanlines set layer 1 on the subscreen
STA $7E8034 ;$809348 | |
LDA #$0001 ;$80934C | |
STA $7E8035 ;$80934F | | For $1 scanlines set layer 1 on the subscreen
STA $7E8036 ;$809353 | |
STA $7E8037 ;$809357 | |
LDA #$0000 ;$80935B | | Terminate HDMA table
STA $7E8038 ;$80935E |/
SEP #$20 ;$809362 |\
LDX #$0500 ;$809364 | |\ Set up write once HDMA with $2105 destination
STX $4320 ;$809367 | |/
LDX #$8012 ;$80936A | |\ Set HDMA source to $7E8012
STX $4322 ;$80936D | | |
LDA #$7E ;$809370 | | |
STA $4324 ;$809372 | |/
STZ $4327 ;$809375 |_| Zero indirect HDMA bank byte
LDX #$3100 ;$809378 | |\Set up write once HDMA with $2131 destination
STX $4330 ;$80937B | |/
LDX #$8022 ;$80937E | |\ Set HDMA source to $7E8022
STX $4332 ;$809381 | | |
LDA #$7E ;$809384 | | |
STA $4334 ;$809386 | |/
STZ $4337 ;$809389 |_| Zero indirect HDMA bank byte
LDX #$2D00 ;$80938C | |\ Set up write once HDMA with $212D destination
STX $4340 ;$80938F | |/
LDX #$8032 ;$809392 | |\ Set HDMA source to $7E8032
STX $4342 ;$809395 | | |
LDA #$7E ;$809398 | | |
STA $4344 ;$80939A | |/
STZ $4347 ;$80939D |/ Zero indirect HDMA bank byte
LDA $4211 ;$8093A0 | Read IRQ flag to clear
LDA #$80 ;$8093A3 |\ Disable sprite 0 priority
STA $2103 ;$8093A5 |/
LDA #$01 ;$8093A8 |\ Enable fast ROM
STA $420D ;$8093AA |/
REP #$20 ;$8093AD |
INC $0993 ;$8093AF |
LDA #run_rareware_logo ;$8093B2 | Load NMI pointer for Rareware logo
JMP CODE_80B0EE ;$8093B5 / Set NMI pointer and wait for NMI
run_rareware_logo: ; \
LDX #$01FF ;$8093B8 |\ Reset the stack
TXS ;$8093BB |/
LDA #$8928 ;$8093BC |\ Set DMA source word $8928
STA $4312 ;$8093BF | |
STA $4318 ;$8093C2 |/
LDA #$0200 ;$8093C5 |\ Set DMA size to 512 bytes
STA $4315 ;$8093C8 |/
LDA #$2200 ;$8093CB |\ Set DMA destination to $2122 with write once, one register
STA $4310 ;$8093CE |/
SEP #$20 ;$8093D1 |
LDA #$7E ;$8093D3 |\ DMA source bank to $7E
STA $4314 ;$8093D5 |/
STZ $2121 ;$8093D8 | Set CGRAM destination address to zero
LDA #$02 ;$8093DB |\ Run palette DMA
STA $420B ;$8093DD |/
REP #$20 ;$8093E0 |
LDA #$1C00 ;$8093E2 |\ Enable HDMA on channels 3, 4, 5
STA $420B ;$8093E5 |/
LDA $2A ;$8093E8 |\ Check if the frame count is less than $E0
CMP #$00E0 ;$8093EA | |
BCC .skip_mode_7_update ;$8093ED |/ If so, skip mode 7 updates
JSL update_mode_7 ;$8093EF | Run mode 7 update.
.skip_mode_7_update ; |
LDA $2A ;$8093F3 |\ If the frame count is not exactly $E0
CMP #$00E0 ;$8093F5 | |
BNE .skip_mode_7_enable ;$8093F8 |/ Skip enabling mode 7
SEP #$20 ;$8093FA |
LDA #$07 ;$8093FC |\ Set background mode HDMA values to 7
STA $7E8013 ;$8093FE | |
STA $7E8015 ;$809402 | |
STA $7E8017 ;$809406 |/
LDA #$74 ;$80940A |\ Place layer 1 tilemap at $E800 in VRAM
STA $2107 ;$80940C |/
LDA #$01 ;$80940F |\ Put layer 1 on the pain screen
STA $212C ;$809411 |/
REP #$20 ;$809414 |
.skip_mode_7_enable ; |
LDA $2A ;$809416 |\ If the frame count is not exactly $0110
CMP #$0110 ;$809418 | |
BNE CODE_809430 ;$80941B |/ Skip uploading the first half of Nintendo Presents
LDA #$4000 ;$80941D |\ Set VRAM address to $8000
STA $2116 ;$809420 |/
LDX #$007F ;$809423 |\ Upload $1440 bytes from $7F0500 to VRAM address $8000
LDA #$0500 ;$809426 | | The first half of tiledata for the Nintendo Presents
LDY #$1440 ;$809429 | |
JSL DMA_to_VRAM ;$80942C |/ DMA the payload
CODE_809430: ; |
LDA $2A ;$809430 |\ If the frame count is not exactly $0111
CMP #$0111 ;$809432 | |
BNE CODE_809458 ;$809435 |/ Skip uploading the second half of Nintendo Presents
LDA #$4A20 ;$809437 |\ Set VRAM address to $9440
STA $2116 ;$80943A |/
LDX #$007F ;$80943D |\ Upload $1440 bytes from $7F1940 to VRAM address $9440
LDA #$1940 ;$809440 | | The second half of tiledata for the Nintendo Presents
LDY #$1440 ;$809443 | |
JSL DMA_to_VRAM ;$809446 |/ DMA the payload
LDA #$0000 ;$80944A |
LDX #$001E ;$80944D | Number of bytes to clear minus 2
.clear_palette ; |
STA $7E8928,x ;$809450 |\ Clear palette
DEX ;$809454 | |
DEX ;$809455 | |
BNE .clear_palette ;$809456 |/ Loop until all clear
CODE_809458: ; |
LDA $2A ;$809458 |\ If the frame count is not exactly $0112
CMP #$0112 ;$80945A | |
BNE CODE_8094A0 ;$80945D |/ Skip uploading the sparkle tilemap
LDA #$3000 ;$80945F |\ Set VRAM address to $6000
STA $2116 ;$809462 |/
LDX #$007F ;$809465 |\ Upload $500 bytes from $7F0000 to VRAM address $6000
LDA #$0000 ;$809468 | | The source is the tiledata for the sparkles
LDY #$0500 ;$80946B | |
JSL DMA_to_VRAM ;$80946E |/ DMA the payload
SEP #$20 ;$809472 |
LDA #$01 ;$809474 |\ Use mode 1 for $97 scanlines
STA $7E8013 ;$809476 | |
STA $7E8015 ;$80947A |/
LDA #$05 ;$80947E |\ Use mode 5 for the remainder of the screen
STA $7E8017 ;$809480 |/
LDA #$21 ;$809484 |\ Enable color math on layer 1 and backgroup
STA $7E8023 ;$809486 | |
STA $7E8025 ;$80948A |/
LDA #$04 ;$80948E |\ Place layer 3 on the subscreen
STA $7E8033 ;$809490 | |
STA $7E8035 ;$809494 |/
LDA #$00 ;$809498 |\ Terminate color math HDMA
STA $7E8027 ;$80949A |/
REP #$20 ;$80949E |
CODE_8094A0: ; |
SEP #$20 ;$8094A0 |
LDA $098F ;$8094A2 |\ Set Layer 3 X position
STA $2111 ;$8094A5 | |
STZ $2111 ;$8094A8 |/
LDA $0991 ;$8094AB |\ Set Layer 3 Y position
STA $2112 ;$8094AE | |
STZ $2112 ;$8094B1 |/
LDA $0512 ;$8094B4 |\ Set screen brightness
STA $2100 ;$8094B7 |/
REP #$20 ;$8094BA |
LDA $2A ;$8094BC |\ Subtract $E0 from the frame counter
SEC ;$8094BE | | This results in frame counter relative to mode 7 start
SBC #$00E0 ;$8094BF |/
CMP #$002F ;$8094C2 |
BCS CODE_8094DC ;$8094C5 |
BIT #$0020 ;$8094C7 |
BEQ CODE_8094CF ;$8094CA |
EOR #$003F ;$8094CC |
CODE_8094CF: ; |
LSR A ;$8094CF |
STA $32 ;$8094D0 |
LSR A ;$8094D2 |
ADC $32 ;$8094D3 |
CLC ;$8094D5 |
ADC $7C ;$8094D6 |
STA $7C ;$8094D8 |
STA $7A ;$8094DA |
CODE_8094DC: ; |
JSR CODE_80B061 ;$8094DC |
INC $2A ;$8094DF | Increment the frame counter
LDA $2A ;$8094E1 |\ Check if this is the first frame of the logo
CMP #$0001 ;$8094E3 | |
BNE CODE_8094EC ;$8094E6 |/
JSL CODE_B58009 ;$8094E8 |
CODE_8094EC: ; |
LDA $2A ;$8094EC |
CMP #$00F0 ;$8094EE |
BNE CODE_809502 ;$8094F1 |
LDX #$003E ;$8094F3 |
CODE_8094F6: ; |
LDA.l $7E8928,x ;$8094F6 |
STA $7E89C8,x ;$8094FA |
DEX ;$8094FE |
DEX ;$8094FF |
BPL CODE_8094F6 ;$809500 |
CODE_809502: ; |
LDA $2A ;$809502 |
SEC ;$809504 |
SBC #$0121 ;$809505 |
CMP #$005B ;$809508 |
BCC CODE_809510 ;$80950B |
JMP CODE_8095B3 ;$80950D /
CODE_809510:
DEC $0993 ;$809510 \
BPL CODE_809528 ;$809513 |
JSR CODE_80B13E ;$809515 |
AND #$0060 ;$809518 |
SEC ;$80951B |
SBC #$0040 ;$80951C |
STA $098D ;$80951F |
LDA #$0008 ;$809522 |
STA $0993 ;$809525 |
CODE_809528: ; |
LDA $0993 ;$809528 |
BIT #$FFE0 ;$80952B |
BEQ CODE_809533 ;$80952E |
JMP CODE_8095B3 ;$809530 /
CODE_809533:
BIT #$0007 ;$809533 \
BNE CODE_809554 ;$809536 |
JSR CODE_80B13E ;$809538 |
AND #$003F ;$80953B |
CLC ;$80953E |
ADC $098D ;$80953F |
STA $098F ;$809542 |
SEC ;$809545 |
SBC $098D ;$809546 |
EOR #$00FF ;$809549 |
LSR A ;$80954C |
SEC ;$80954D |
SBC #$0050 ;$80954E |
STA $0991 ;$809551 |
CODE_809554: ; |
SEP #$20 ;$809554 |
LDA $0993 ;$809556 |
ASL A ;$809559 |
ASL A ;$80955A |
ASL A ;$80955B |
ASL A ;$80955C |
ASL A ;$80955D |
BPL CODE_809563 ;$80955E |
EOR #$FF ;$809560 |
INC A ;$809562 |
CODE_809563: ; |
STA $32 ;$809563 |
LSR A ;$809565 |
LSR A ;$809566 |
CLC ;$809567 |
ADC $32 ;$809568 |
STA $211B ;$80956A |
STZ $211B ;$80956D |
LDY #$0000 ;$809570 |
TYX ;$809573 |
CODE_809574: ; |
SEP #$20 ;$809574 |
LDA DATA_80B12E,y ;$809576 |
STA $211C ;$809579 |
LDA $2135 ;$80957C |
REP #$20 ;$80957F |
AND #$001F ;$809581 |
STA $32 ;$809584 |
ASL A ;$809586 |
ASL A ;$809587 |
ASL A ;$809588 |
ASL A ;$809589 |
ASL A ;$80958A |
STA $34 ;$80958B |
ASL A ;$80958D |
ASL A ;$80958E |
ASL A ;$80958F |
ASL A ;$809590 |
STA $36 ;$809591 |
ASL A ;$809593 |
CLC ;$809594 |
ADC $36 ;$809595 |
CMP #$7C00 ;$809597 |
BCC CODE_80959F ;$80959A |
LDA #$7C00 ;$80959C |
CODE_80959F: ; |
AND #$7C00 ;$80959F |
CLC ;$8095A2 |
ADC $34 ;$8095A3 |
ADC $32 ;$8095A5 |
STA $7E8928,x ;$8095A7 |
INY ;$8095AB |
INX ;$8095AC |
INX ;$8095AD |
CPY #$0010 ;$8095AE |
BNE CODE_809574 ;$8095B1 |
CODE_8095B3: ; |
LDA $2A ;$8095B3 |
SEC ;$8095B5 |
SBC #$0118 ;$8095B6 |
CMP #$0068 ;$8095B9 |
BCC CODE_8095C1 ;$8095BC |
JMP CODE_80964C ;$8095BE /
CODE_8095C1:
XBA ;$8095C1 \
LSR A ;$8095C2 |
LSR A ;$8095C3 |
LSR A ;$8095C4 |
CMP #$0CFF ;$8095C5 |
BCC CODE_8095CD ;$8095C8 |
LDA #$0CFF ;$8095CA |
CODE_8095CD: ; |
CMP #$0500 ;$8095CD |
BCC CODE_8095D6 ;$8095D0 |
SEC ;$8095D2 |
SBC #$0400 ;$8095D3 |
CODE_8095D6: ; |
CMP #$0500 ;$8095D6 |
BCC CODE_8095DF ;$8095D9 |
SEC ;$8095DB |
SBC #$0400 ;$8095DC |
CODE_8095DF: ; |
CMP #$0300 ;$8095DF |
BCC CODE_8095EB ;$8095E2 |
EOR #$07FF ;$8095E4 |
SEC ;$8095E7 |
SBC #$0200 ;$8095E8 |
CODE_8095EB: ; |
SEP #$20 ;$8095EB |
STA $211B ;$8095ED |
XBA ;$8095F0 |
STA $211B ;$8095F1 |
REP #$20 ;$8095F4 |
PEA $8080 ;$8095F6 |
PLB ;$8095F9 |
LDY #$0002 ;$8095FA |
LDX #$0002 ;$8095FD |
CODE_809600: ; |
STZ $32 ;$809600 |
SEP #$20 ;$809602 |
LDA DATA_80B317,x ;$809604 |
AND #$1F ;$809607 |
STA $211C ;$809609 |
LDA $2135 ;$80960C |
CMP #$1F ;$80960F |
BCC CODE_809615 ;$809611 |
LDA #$1F ;$809613 |
CODE_809615: ; |
STA $32 ;$809615 |
REP #$20 ;$809617 |
AND #$001F ;$809619 |
XBA ;$80961C |
LSR A ;$80961D |
LSR A ;$80961E |
LSR A ;$80961F |
TSB $32 ;$809620 |
LDA DATA_80B318,x ;$809622 |
AND #$001F ;$809625 |
STA $211C ;$809628 |
LDA $2135 ;$80962B |
CMP #$001F ;$80962E |
BCC CODE_809636 ;$809631 |
LDA #$001F ;$809633 |
CODE_809636: ; |
REP #$20 ;$809636 |
AND #$001F ;$809638 |
XBA ;$80963B |
ASL A ;$80963C |
ASL A ;$80963D |
ORA $32 ;$80963E |
STA $7E8968,x ;$809640 |
INX ;$809644 |
INX ;$809645 |
CPX #$0060 ;$809646 |
BNE CODE_809600 ;$809649 |
PLB ;$80964B |
CODE_80964C: ; |
LDX #$00A0 ;$80964C |
LDA $2A ;$80964F |
SEC ;$809651 |
SBC #$0110 ;$809652 |
CMP #$0040 ;$809655 |
BCS CODE_80965F ;$809658 |
CMP #$0008 ;$80965A |
BCS CODE_809670 ;$80965D |
CODE_80965F: ; |
LDX #$0000 ;$80965F |
LDA $2A ;$809662 |
SEC ;$809664 |
SBC #$0078 ;$809665 |
CMP #$0029 ;$809668 |
BCC CODE_809670 ;$80966B |
JMP CODE_8096FB ;$80966D /
CODE_809670:
ASL A ;$809670 \
ASL A ;$809671 |
ASL A ;$809672 |
ASL A ;$809673 |
ASL A ;$809674 |
CMP #$04FF ;$809675 |
BCC CODE_80967D ;$809678 |
LDA #$04FF ;$80967A |
CODE_80967D: ; |
CMP #$0300 ;$80967D |
BCC CODE_809689 ;$809680 |
EOR #$07FF ;$809682 |
SEC ;$809685 |
SBC #$0200 ;$809686 |
CODE_809689: ; |
SEP #$20 ;$809689 |
STA $211B ;$80968B |
XBA ;$80968E |
STA $211B ;$80968F |
REP #$20 ;$809692 |
PEA $8080 ;$809694 |
PLB ;$809697 |
LDY #$0000 ;$809698 |
CODE_80969B: ; |
STZ $32 ;$80969B |
SEP #$20 ;$80969D |
LDA DATA_80B377,y ;$80969F |
AND #$1F ;$8096A2 |
STA $211C ;$8096A4 |
LDA $2135 ;$8096A7 |
CMP #$1F ;$8096AA |
BCC CODE_8096B0 ;$8096AC |
LDA #$1F ;$8096AE |
CODE_8096B0: ; |
STA $32 ;$8096B0 |
LDA DATA_80B378,y ;$8096B2 |
AND #$1F ;$8096B5 |
STA $211C ;$8096B7 |
LDA $2135 ;$8096BA |
CMP #$1F ;$8096BD |
BCC CODE_8096C3 ;$8096BF |
LDA #$1F ;$8096C1 |
CODE_8096C3: ; |
REP #$20 ;$8096C3 |
AND #$001F ;$8096C5 |
ASL A ;$8096C8 |
ASL A ;$8096C9 |
ASL A ;$8096CA |
ASL A ;$8096CB |
ASL A ;$8096CC |
TSB $32 ;$8096CD |
SEP #$20 ;$8096CF |
LDA DATA_80B379,y ;$8096D1 |
AND #$1F ;$8096D4 |
STA $211C ;$8096D6 |
LDA $2135 ;$8096D9 |
CMP #$1F ;$8096DC |
BCC CODE_8096E2 ;$8096DE |
LDA #$1F ;$8096E0 |
CODE_8096E2: ; |
REP #$20 ;$8096E2 |
AND #$001F ;$8096E4 |
XBA ;$8096E7 |
ASL A ;$8096E8 |
ASL A ;$8096E9 |
ORA $32 ;$8096EA |
STA $7E8928,x ;$8096EC |
INX ;$8096F0 |
INX ;$8096F1 |
INY ;$8096F2 |
INY ;$8096F3 |
INY ;$8096F4 |
CPY #$0060 ;$8096F5 |
BNE CODE_80969B ;$8096F8 |
PLB ;$8096FA |
CODE_8096FB: ; |
LDA $2A ;$8096FB |
CMP #$0072 ;$8096FD |
BCS CODE_80973E ;$809700 |
AND #$00FF ;$809702 |
ASL A ;$809705 |
TAX ;$809706 |
CPX #$00E0 ;$809707 |
BCS CODE_809717 ;$80970A |
LDA #$7FFF ;$80970C |
STA $7E8968,x ;$80970F |
STA $7E8A48,x ;$809713 |
CODE_809717: ; |
DEX ;$809717 |
DEX ;$809718 |
CPX #$00E0 ;$809719 |
BCS CODE_809729 ;$80971C |
LDA #$7E10 ;$80971E |
STA $7E8968,x ;$809721 |
STA $7E8A48,x ;$809725 |
CODE_809729: ; |
DEX ;$809729 |
DEX ;$80972A |
CPX #$00E0 ;$80972B |
BCS CODE_80973E ;$80972E |
LDA #$03E0 ;$809730 |
STA $7E8968,x ;$809733 |
LDA #$01C0 ;$809737 |
STA $7E8A48,x ;$80973A |
CODE_80973E: ; |
LDA $2A ;$80973E |
SEC ;$809740 |
SBC #$0098 ;$809741 |
CMP #$0040 ;$809744 |
BCS CODE_80978E ;$809747 |
AND #$007F ;$809749 |
ASL A ;$80974C |
ASL A ;$80974D |
ASL A ;$80974E |
TAX ;$80974F |
LDA #$7FFF ;$809750 |
STA $7E8968,x ;$809753 |
DEX ;$809757 |
DEX ;$809758 |
BMI CODE_80978E ;$809759 |
LDA #$4210 ;$80975B |
STA $7E8968,x ;$80975E |
DEX ;$809762 |
DEX ;$809763 |
BMI CODE_80978E ;$809764 |
LDA #$0000 ;$809766 |
STA $7E8968,x ;$809769 |
DEX ;$80976D |
DEX ;$80976E |
BMI CODE_80978E ;$80976F |
LDA #$0000 ;$809771 |
STA $7E8968,x ;$809774 |
DEX ;$809778 |
DEX ;$809779 |
BMI CODE_80978E ;$80977A |
LDA #$0000 ;$80977C |
STA $7E8968,x ;$80977F |
DEX ;$809783 |
DEX ;$809784 |
BMI CODE_80978E ;$809785 |
LDA #$0000 ;$809787 |
STA $7E8968,x ;$80978A |
CODE_80978E: ; |
LDA $090F ;$80978E |
BEQ CODE_8097A4 ;$809791 |
LDA $0512 ;$809793 |
CMP #$000F ;$809796 |
BNE CODE_8097A4 ;$809799 |
LDA.l $000506 ;$80979B |
BIT #$D0C0 ;$80979F |
BNE CODE_8097AB ;$8097A2 |
CODE_8097A4: ; |
LDA $2A ;$8097A4 |
CMP #$01A0 ;$8097A6 |
BNE CODE_8097B4 ;$8097A9 |
CODE_8097AB: ; |
SEP #$20 ;$8097AB |
LDA #$82 ;$8097AD |
STA $0513 ;$8097AF |
REP #$20 ;$8097B2 |
CODE_8097B4: ; |
LDA $0512 ;$8097B4 |
BNE CODE_8097C7 ;$8097B7 |
LDA $2A ;$8097B9 |
CMP #$01A0 ;$8097BB |
BCS CODE_8097C4 ;$8097BE |
JML CODE_8085EF ;$8097C0 /
CODE_8097C4:
JMP CODE_80B5FA ;$8097C4 /
CODE_8097C7:
JSR CODE_808C3D ;$8097C7 \
CODE_8097CA: ; |
WAI ;$8097CA |
BRA CODE_8097CA ;$8097CB /
CODE_8097CD:
JSL disable_screen ;$8097CD \
PHK ;$8097D1 |
PLB ;$8097D2 |
JSR clear_VRAM ;$8097D3 |
JSL init_registers_wrapper ;$8097D6 |
JSL CODE_808E6A ;$8097DA |
JSL CODE_8088AB ;$8097DE |
STZ $060B ;$8097E2 |
LDX #$001E ;$8097E5 |
LDA #$0000 ;$8097E8 |
CODE_8097EB: ; |
STA $32,x ;$8097EB |
DEX ;$8097ED |
DEX ;$8097EE |
BPL CODE_8097EB ;$8097EF |
LDA #$0001 ;$8097F1 |
STA $2105 ;$8097F4 |
LDA #$0213 ;$8097F7 |
STA $212C ;$8097FA |
LDA #$0014 ;$8097FD |
STA $210B ;$809800 |
LDA #$FF68 ;$809803 |
STA $2126 ;$809806 |
SEP #$20 ;$809809 |
LDA #$30 ;$80980B |
STA $2125 ;$80980D |
LDA #$E8 ;$809810 |
STA $2132 ;$809812 |
REP #$20 ;$809815 |
LDA #$4100 ;$809817 |
STA $2130 ;$80981A |
LDA #$7C76 ;$80981D |
STA $2107 ;$809820 |
STZ $210D ;$809823 |
STZ $210D ;$809826 |
SEP #$20 ;$809829 |
LDA #$FF ;$80982B |
STA $210E ;$80982D |
STA $210E ;$809830 |
STA $2110 ;$809833 |
STA $2110 ;$809836 |
STZ $210F ;$809839 |
STZ $210F ;$80983C |
REP #$20 ;$80983F |
LDA #$004F ;$809841 |
STA $7E8012 ;$809844 |
LDA #$0122 ;$809848 |
STA $7E8013 ;$80984B |
LDA #$0040 ;$80984F |
STA $7E8015 ;$809852 |
LDA #$8102 ;$809856 |
STA $7E8016 ;$809859 |
LDA #$0050 ;$80985D |
STA $7E8018 ;$809860 |
LDA #$8102 ;$809864 |
STA $7E8019 ;$809867 |
LDA #$0050 ;$80986B |
STA $7E801B ;$80986E |
LDA #$8102 ;$809872 |
STA $7E801C ;$809875 |
LDA #$0001 ;$809879 |
STA $7E801E ;$80987C |
LDA #$8102 ;$809880 |
STA $7E801F ;$809883 |
LDA #$0000 ;$809887 |
STA $7E8021 ;$80988A |
SEP #$20 ;$80988E |
LDX #$3001 ;$809890 |
STX $4320 ;$809893 |
LDX #$8012 ;$809896 |
STX $4322 ;$809899 |
LDA #$7E ;$80989C |
STA $4324 ;$80989E |
STZ $4327 ;$8098A1 |
REP #$20 ;$8098A4 |
LDX #DATA_EC83A0 ;$8098A6 |
LDY.w #DATA_EC83A0>>16 ;$8098A9 |
LDA #$0000 ;$8098AC |
JSL decompress_data ;$8098AF |
LDA #$1000 ;$8098B3 |
STA $2116 ;$8098B6 |
LDX #$007F ;$8098B9 |
LDA #$0000 ;$8098BC |
LDY #$6000 ;$8098BF |
JSL DMA_to_VRAM ;$8098C2 |
LDX #DATA_EC4D40 ;$8098C6 |
LDY.w #DATA_EC4D40>>16 ;$8098C9 |
LDA #$0000 ;$8098CC |
JSL decompress_data ;$8098CF |
LDA #$4000 ;$8098D3 |
STA $2116 ;$8098D6 |
LDX #$007F ;$8098D9 |
LDA #$0000 ;$8098DC |
LDY #$8000 ;$8098DF |
JSL DMA_to_VRAM ;$8098E2 |
LDA #$0020 ;$8098E6 |
STA $2116 ;$8098E9 |
LDX.w #DATA_FC0660>>16 ;$8098EC |
LDA #DATA_FC0660 ;$8098EF |
LDY #$1E00 ;$8098F2 |
JSL DMA_to_VRAM ;$8098F5 |
LDX #DATA_EC7CF0 ;$8098F9 |
LDY.w #DATA_EC7CF0>>16 ;$8098FC |
LDA #$0000 ;$8098FF |
JSL decompress_data ;$809902 |
LDA #$7C00 ;$809906 |
STA $2116 ;$809909 |
LDX #$007F ;$80990C |
LDA #$0000 ;$80990F |
LDY #$0800 ;$809912 |
JSL DMA_to_VRAM ;$809915 |
LDA #$7400 ;$809919 |
JSR clear_VRAM_block ;$80991C |
LDA #$7800 ;$80991F |
JSR clear_VRAM_block ;$809922 |
LDX #DATA_EC4749 ;$809925 |
LDY.w #DATA_EC4749>>16 ;$809928 |
LDA #$0000 ;$80992B |
JSL decompress_data ;$80992E |
LDA #$7420 ;$809932 |
STA $2116 ;$809935 |
LDX #$007F ;$809938 |
LDA #$0000 ;$80993B |
LDY #$0680 ;$80993E |
JSL DMA_to_VRAM ;$809941 |
LDX #DATA_EC4AAD ;$809945 |
LDY.w #DATA_EC4AAD>>16 ;$809948 |
LDA #$0000 ;$80994B |
JSL decompress_data ;$80994E |
LDA #$7780 ;$809952 |
STA $2116 ;$809955 |
LDX #$007F ;$809958 |
LDA #$0000 ;$80995B |
LDY #$0240 ;$80995E |
JSL DMA_to_VRAM ;$809961 |
LDX #DATA_EC4C1C ;$809965 |
LDY.w #DATA_EC4C1C>>16 ;$809968 |
LDA #$0000 ;$80996B |
JSL decompress_data ;$80996E |
LDA #$78C0 ;$809972 |
STA $2116 ;$809975 |
LDX #$007F ;$809978 |
LDA #$0000 ;$80997B |
LDY #$01C0 ;$80997E |
JSL DMA_to_VRAM ;$809981 |
LDY #$0000 ;$809985 |
LDX #$0040 ;$809988 |
LDA #DATA_FD3C6E ;$80998B |
JSL DMA_palette ;$80998E |
LDY #$0080 ;$809992 |
LDX #$0004 ;$809995 |
LDA #$00AA ;$809998 |
JSL DMA_global_palette ;$80999B |
STZ $84 ;$80999F |
LDA #$0300 ;$8099A1 |
JSR CODE_808C32 ;$8099A4 |
CODE_8099A7: ; |
STZ $36 ;$8099A7 |
SEP #$20 ;$8099A9 |
LDA $4211 ;$8099AB |
LDA #$80 ;$8099AE |
STA $2103 ;$8099B0 |
LDA #$01 ;$8099B3 |
STA $420D ;$8099B5 |
REP #$20 ;$8099B8 |
JSR CODE_808CAC ;$8099BA |
LDA #CODE_8099C3 ;$8099BD |
JMP CODE_80B0EE ;$8099C0 /
CODE_8099C3:
LDX #$01FF ;$8099C3 \
TXS ;$8099C6 |
STZ $2102 ;$8099C7 |
LDA #$0401 ;$8099CA |
STA $420B ;$8099CD |
LDA $17C0 ;$8099D0 |
DEC A ;$8099D3 |
SEP #$20 ;$8099D4 |
STA $210E ;$8099D6 |
XBA ;$8099D9 |
STA $210E ;$8099DA |
REP #$20 ;$8099DD |
SEP #$20 ;$8099DF |
LDA $0512 ;$8099E1 |
STA $2100 ;$8099E4 |
REP #$20 ;$8099E7 |
JSR CODE_808C3D ;$8099E9 |
INC $2A ;$8099EC |
JSR CODE_80B061 ;$8099EE |
JSR CODE_808CAC ;$8099F1 |
LDA #$4102 ;$8099F4 |
STA $7E8013 ;$8099F7 |
STA $7E8016 ;$8099FB |
STA $7E8019 ;$8099FF |
STA $7E801C ;$809A03 |
STA $7E801F ;$809A07 |
LDA $0512 ;$809A0B |
BPL CODE_809A13 ;$809A0E |
JMP CODE_809ADC ;$809A10 /
CODE_809A13:
LDA $0506 ;$809A13 \
BIT #$0800 ;$809A16 |
BEQ CODE_809A53 ;$809A19 |
LDA $060D ;$809A1B |
BEQ CODE_809A53 ;$809A1E |
CMP #$0003 ;$809A20 |
BNE CODE_809A49 ;$809A23 |
LDA $84 ;$809A25 |
BEQ CODE_809A49 ;$809A27 |
SEP #$20 ;$809A29 |
LDA #$01 ;$809A2B |
STA $004200 ;$809A2D |
REP #$20 ;$809A31 |
LDA #$0018 ;$809A33 |
JSL CODE_B5800F ;$809A36 |
STZ $84 ;$809A3A |
DEC $060D ;$809A3C |
LDA #$0633 ;$809A3F |
JSL CODE_B58021 ;$809A42 |
JMP CODE_8099A7 ;$809A46 /
CODE_809A49:
LDA #$0633 ;$809A49 \
JSL CODE_B58021 ;$809A4C |
DEC $060D ;$809A50 |
CODE_809A53: ; |
LDA $0506 ;$809A53 |
BIT #$0400 ;$809A56 |
BEQ CODE_809A6F ;$809A59 |
LDA $060D ;$809A5B |
CMP #$0002 ;$809A5E |
BCS CODE_809A6F ;$809A61 |
INC $060D ;$809A63 |
LDA #$0633 ;$809A66 |
JSL CODE_B58021 ;$809A69 |
BRA CODE_809ADC ;$809A6D /
CODE_809A6F:
INC $38 ;$809A6F \
LDA $38 ;$809A71 |
CMP #$0020 ;$809A73 |
BEQ CODE_809A80 ;$809A76 |
LDA $0506 ;$809A78 |
BIT #$FBFF ;$809A7B |
BEQ CODE_809A84 ;$809A7E |
CODE_809A80: ; |
STZ $36 ;$809A80 |
STZ $38 ;$809A82 |
CODE_809A84: ; |
LDA $060D ;$809A84 |
CMP #$0002 ;$809A87 |
BCC CODE_809ADC ;$809A8A |
LDA $0506 ;$809A8C |
BIT #$0400 ;$809A8F |
BEQ CODE_809ADC ;$809A92 |
INC $36 ;$809A94 |
STZ $38 ;$809A96 |
LDA $36 ;$809A98 |
CMP #$0005 ;$809A9A |
BNE CODE_809ADC ;$809A9D |
STZ $36 ;$809A9F |
LDA $060D ;$809AA1 |
CMP #$0004 ;$809AA4 |
BEQ CODE_809ADC ;$809AA7 |
CMP #$0003 ;$809AA9 |
BNE CODE_809AD2 ;$809AAC |
LDA $84 ;$809AAE |
BEQ CODE_809AD2 ;$809AB0 |
SEP #$20 ;$809AB2 |
LDA #$01 ;$809AB4 |
STA $004200 ;$809AB6 |
REP #$20 ;$809ABA |
LDA #$0018 ;$809ABC |
JSL CODE_B5800F ;$809ABF |
STZ $84 ;$809AC3 |
INC $060D ;$809AC5 |
LDA #$0633 ;$809AC8 |
JSL CODE_B58021 ;$809ACB |
JMP CODE_8099A7 ;$809ACF /
CODE_809AD2:
LDA #$0633 ;$809AD2 \
JSL CODE_B58021 ;$809AD5 |
INC $060D ;$809AD9 |
CODE_809ADC: ; |
LDX #$0000 ;$809ADC |
LDA $060D ;$809ADF |
CMP #$0003 ;$809AE2 |
BEQ CODE_809AEE ;$809AE5 |
BCC CODE_809AF1 ;$809AE7 |
LDX #$0090 ;$809AE9 |
BRA CODE_809AF1 ;$809AEC /
CODE_809AEE:
LDX #$0048 ;$809AEE \
CODE_809AF1: ; |
TXA ;$809AF1 |
SEC ;$809AF2 |
SBC $17C0 ;$809AF3 |
STZ $32 ;$809AF6 |
CMP #$8000 ;$809AF8 |
ROR A ;$809AFB |
ROR $32 ;$809AFC |
CMP #$8000 ;$809AFE |
ROR A ;$809B01 |
ROR $32 ;$809B02 |
CMP #$8000 ;$809B04 |
ROR A ;$809B07 |
ROR $32 ;$809B08 |
STA $34 ;$809B0A |
LDA $32 ;$809B0C |
CLC ;$809B0E |
ADC $17C2 ;$809B0F |
STA $17C2 ;$809B12 |
LDA $17C0 ;$809B15 |
ADC $34 ;$809B18 |
STA $17C0 ;$809B1A |
LDA $17C0 ;$809B1D |
SEC ;$809B20 |
SBC #$004F ;$809B21 |
BCS CODE_809B46 ;$809B24 |
EOR #$FFFF ;$809B26 |
INC A ;$809B29 |
SEP #$20 ;$809B2A |
STA $7E8012 ;$809B2C |
LDA #$40 ;$809B30 |
STA $7E8015 ;$809B32 |
LDA #$50 ;$809B36 |
STA $7E8018 ;$809B38 |
LDX #$8012 ;$809B3C |
STX $4322 ;$809B3F |
REP #$20 ;$809B42 |
BRA CODE_809B82 ;$809B44 /
CODE_809B46:
LDA $17C0 ;$809B46 \
SEC ;$809B49 |
SBC #$008F ;$809B4A |
BCS CODE_809B69 ;$809B4D |
EOR #$FFFF ;$809B4F |
INC A ;$809B52 |
SEP #$20 ;$809B53 |
STA $7E8015 ;$809B55 |
LDA #$50 ;$809B59 |
STA $7E8018 ;$809B5B |
LDX #$8015 ;$809B5F |
STX $4322 ;$809B62 |
REP #$20 ;$809B65 |
BRA CODE_809B82 ;$809B67 /
CODE_809B69:
LDA $17C0 ;$809B69 \
SEC ;$809B6C |
SBC #$00DF ;$809B6D |
EOR #$FFFF ;$809B70 |
INC A ;$809B73 |
SEP #$20 ;$809B74 |
STA $7E8018 ;$809B76 |
LDX #$8018 ;$809B7A |
STX $4322 ;$809B7D |
REP #$20 ;$809B80 |
CODE_809B82: ; |
LDA $060D ;$809B82 |
CMP #$0004 ;$809B85 |
BNE CODE_809BC2 ;$809B88 |
LDA $060B ;$809B8A |
BIT #$0001 ;$809B8D |
BNE CODE_809BC2 ;$809B90 |
LDX $3A ;$809B92 |
LDA $0506 ;$809B94 |
BEQ CODE_809BC2 ;$809B97 |
AND.l DATA_809E75,x ;$809B99 |
BEQ CODE_809BC0 ;$809B9D |
INC $3A ;$809B9F |
INC $3A ;$809BA1 |
LDA $3A ;$809BA3 |
CMP #$0010 ;$809BA5 |
BNE CODE_809BC2 ;$809BA8 |
LDA #$0505 ;$809BAA |
JSL CODE_B58021 ;$809BAD |
LDA #$0001 ;$809BB1 |
TSB $060B ;$809BB4 |
SEP #$20 ;$809BB7 |
STZ $2100 ;$809BB9 |
REP #$20 ;$809BBC |
BRA CODE_809BC2 ;$809BBE /
CODE_809BC0:
STZ $3A ;$809BC0 \
CODE_809BC2: ; |
LDA $060D ;$809BC2 |
CMP #$0004 ;$809BC5 |
BNE CODE_809C02 ;$809BC8 |
LDA $060B ;$809BCA |
BIT #$0002 ;$809BCD |
BNE CODE_809C02 ;$809BD0 |
LDX $3C ;$809BD2 |
LDA $0506 ;$809BD4 |
BEQ CODE_809C02 ;$809BD7 |
AND.l DATA_809E85,x ;$809BD9 |
BEQ CODE_809C00 ;$809BDD |
INC $3C ;$809BDF |
INC $3C ;$809BE1 |
LDA $3C ;$809BE3 |
CMP #$0010 ;$809BE5 |
BNE CODE_809C02 ;$809BE8 |
LDA #$0505 ;$809BEA |
JSL CODE_B58021 ;$809BED |
LDA #$0002 ;$809BF1 |
TSB $060B ;$809BF4 |
SEP #$20 ;$809BF7 |
STZ $2100 ;$809BF9 |
REP #$20 ;$809BFC |
BRA CODE_809C02 ;$809BFE /
CODE_809C00:
STZ $3C ;$809C00 \
CODE_809C02: ; |
LDA $060D ;$809C02 |
STA $32 ;$809C05 |
ASL A ;$809C07 |
SEC ;$809C08 |
ADC $32 ;$809C09 |
TAX ;$809C0B |
LDA #$0120 ;$809C0C |
STA $7E8012,x ;$809C0F |
LDA $0506 ;$809C13 |
BIT #$D0C0 ;$809C16 |
BEQ CODE_809C38 ;$809C19 |
LDA $060D ;$809C1B |
CMP #$0003 ;$809C1E |
BCS CODE_809C38 ;$809C21 |
LDA $0512 ;$809C23 |
CMP #$000F ;$809C26 |
BNE CODE_809C38 ;$809C29 |
LDA #$820F ;$809C2B |
STA $0512 ;$809C2E |
LDA #$0634 ;$809C31 |
JSL CODE_B58021 ;$809C34 |
CODE_809C38: ; |
JSL CODE_8088AB ;$809C38 |
LDA $060D ;$809C3C |
CMP #$0003 ;$809C3F |
BNE CODE_809C8A ;$809C42 |
JSR CODE_809DE2 ;$809C44 |
LDA $0506 ;$809C47 |
BIT #$0200 ;$809C4A |
BNE CODE_809C64 ;$809C4D |
BIT #$D1C0 ;$809C4F |
BEQ CODE_809C8A ;$809C52 |
INC $84 ;$809C54 |
LDA $84 ;$809C56 |
CMP #$0020 ;$809C58 |
BCC CODE_809C6F ;$809C5B |
LDA #$0001 ;$809C5D |
STA $84 ;$809C60 |
BRA CODE_809C6F ;$809C62 /
CODE_809C64:
DEC $84 ;$809C64 \
BMI CODE_809C6A ;$809C66 |
BNE CODE_809C6F ;$809C68 |
CODE_809C6A: ; |
LDA #$001F ;$809C6A |
STA $84 ;$809C6D |
CODE_809C6F: ; |
SEP #$20 ;$809C6F |
LDA #$01 ;$809C71 |
STA $004200 ;$809C73 |
REP #$20 ;$809C77 |
LDA $84 ;$809C79 |
CMP #$000F ;$809C7B |
BNE CODE_809C83 ;$809C7E |
LDA #$030F ;$809C80 |
CODE_809C83: ; |
JSL CODE_B5800F ;$809C83 |
JMP CODE_8099A7 ;$809C87 /
CODE_809C8A:
LDA $0512 ;$809C8A \
CMP #$8201 ;$809C8D |
BNE CODE_809C96 ;$809C90 |
JML CODE_808EEA ;$809C92 /
CODE_809C96:
WAI ;$809C96 \
BRA CODE_809C96 ;$809C97 /
DATA_809C99:
dw !null_pointer
dw DATA_809CD9
dw DATA_809CE4
dw DATA_809CEF
dw DATA_809CF5
dw DATA_809CFC
dw DATA_809D0B
dw DATA_809D15
dw DATA_809D1A
dw DATA_809D20
dw DATA_809D29
dw DATA_809D30
dw DATA_809D3A
dw DATA_809D42
dw DATA_809D47
dw DATA_809D56
dw DATA_809D5C
dw DATA_809D66
dw DATA_809D6E
dw DATA_809D7A
dw DATA_809D86
dw DATA_809D90
dw DATA_809D99
dw DATA_809DA0
dw DATA_809DA8
dw DATA_809DAF
dw DATA_809DB6
dw DATA_809DBA
dw DATA_809DC1
dw DATA_809DCC
dw DATA_809DD4
dw DATA_809DDC
DATA_809CD9:
db "ISLAND MAP", $00
DATA_809CE4:
db "MAIN THEME", $00
DATA_809CEF:
db "SWAMP", $00
DATA_809CF5:
db "SWANKY", $00
DATA_809CFC:
db "ENCHANTED WOOD", $00
DATA_809D0B:
db "SHIP DECK", $00
DATA_809D15:
db "MINE", $00
DATA_809D1A:
db "FUNKY", $00
DATA_809D20:
db "BRAMBLES", $00
DATA_809D29:
db "KLUBBA", $00
DATA_809D30:
db "WASP HIVE", $00
DATA_809D3A:
db "WRINKLY", $00
DATA_809D42:
db "LAVA", $00
DATA_809D47:
db "ROLLER COASTER", $00
DATA_809D56:
db "BONUS", $00
DATA_809D5C:
db "SHIP HOLD", $00
DATA_809D66:
db "FANFARE", $00
DATA_809D6E:
db "SHIP DECK 2", $00
DATA_809D7A:
db "RESCUE KONG", $00
DATA_809D86:
db "GAME OVER", $00
DATA_809D90:
db "BIG BOSS", $00
DATA_809D99:
db "CASTLE", $00
DATA_809DA0:
db "HAUNTED", $00
DATA_809DA8:
db "SELECT", $00
DATA_809DAF:
db "CRANKY", $00
DATA_809DB6:
db "ICE", $00
DATA_809DBA:
db "JUNGLE", $00
DATA_809DC1:
db "LOST WORLD", $00
DATA_809DCC:
db "RIGGING", $00
DATA_809DD4:
db "CREDITS", $00
DATA_809DDC:
db "KROOL", $00
CODE_809DE2:
LDA $84 ;$809DE2 \
BEQ CODE_809E59 ;$809DE4 |
ASL A ;$809DE6 |
TAX ;$809DE7 |
LDA.l DATA_809C99,x ;$809DE8 |
STA $3A ;$809DEC |
LDA #$0080 ;$809DEE |
STA $3C ;$809DF1 |
LDY #$0000 ;$809DF3 |
LDA #$0100 ;$809DF6 |
SEC ;$809DF9 |
SBC $17C0 ;$809DFA |
XBA ;$809DFD |
CLC ;$809DFE |
ADC #$1080 ;$809DFF |
BCS CODE_809E09 ;$809E02 |
CMP #$E000 ;$809E04 |
BCC CODE_809E0C ;$809E07 |
CODE_809E09: ; |
LDA #$E000 ;$809E09 |
CODE_809E0C: ; |
STA $32 ;$809E0C |
CODE_809E0E: ; |
LDA [$3A] ;$809E0E |
AND #$00FF ;$809E10 |
BEQ CODE_809E59 ;$809E13 |
CMP #$0020 ;$809E15 |
BEQ CODE_809E4D ;$809E18 |
SEC ;$809E1A |
SBC #$0021 ;$809E1B |
TAX ;$809E1E |
LDA.l DATA_B4C4B3,x ;$809E1F |
AND #$00FF ;$809E23 |
ASL A ;$809E26 |
CLC ;$809E27 |
ADC #$3002 ;$809E28 |
STA $34 ;$809E2B |
LDA $32 ;$809E2D |
STA $0200,y ;$809E2F |
LDA $34 ;$809E32 |
STA $0202,y ;$809E34 |
LDA $32 ;$809E37 |
CLC ;$809E39 |
ADC #$0800 ;$809E3A |
STA $0204,y ;$809E3D |
INC $34 ;$809E40 |
LDA $34 ;$809E42 |
STA $0206,y ;$809E44 |
TYA ;$809E47 |
CLC ;$809E48 |
ADC #$0008 ;$809E49 |
TAY ;$809E4C |
CODE_809E4D: ; |
INC $3A ;$809E4D |
LDA $32 ;$809E4F |
CLC ;$809E51 |
ADC #$0008 ;$809E52 |
STA $32 ;$809E55 |
BRA CODE_809E0E ;$809E57 /
CODE_809E59:
STZ $0400 ;$809E59 \
STZ $0402 ;$809E5C |
STZ $0404 ;$809E5F |
STZ $0406 ;$809E62 |
STZ $0408 ;$809E65 |
STZ $040A ;$809E68 |
STZ $040C ;$809E6B |
STZ $040E ;$809E6E |
STZ $0410 ;$809E71 |
RTS ;$809E74 /
DATA_809E75:
db $00, $80, $80, $00, $00, $01, $00, $01
db $80, $00, $00, $02, $80, $00, $40, $00
DATA_809E85:
db $00, $40, $80, $00, $00, $30, $80, $00
db $00, $04, $00, $02, $80, $00, $00, $04
DATA_809E95:
db $6C, $90, $90, $00, $00, $89, $11, $91
db $21, $00, $12, $92, $24, $00, $13, $93
db $22, $00, $11, $91, $01, $00, $12, $92
db $22, $00, $13, $93, $21, $00, $11, $91
db $00, $00, $12, $92, $00, $00, $13, $93
db $00, $00, $00
DATA_809EC0:
db $6C, $90, $90, $00, $00, $89, $14, $94
db $40, $04, $15, $95, $61, $04, $16, $96
db $46, $00, $14, $94, $20, $00, $15, $95
db $41, $04, $16, $96, $23, $00, $14, $94
db $00, $00, $15, $95, $00, $00, $16, $96
db $00, $00, $00
DATA_809EEB:
db $6C, $90, $90, $00, $00, $89, $17, $97
db $8A, $04, $18, $98, $20, $04, $19, $99
db $21, $04, $17, $97, $45, $04, $18, $98
db $00, $00, $19, $99, $21, $04, $17, $97
db $00, $00, $18, $98, $00, $00, $19, $99
db $00, $00, $00
DATA_809F16:
db $6C, $90, $90, $00, $00, $89, $1A, $9A
db $42, $08, $1B, $9B, $63, $0C, $1C, $9C
db $84, $0C, $1A, $9A, $21, $04, $1B, $9B
db $41, $04, $1C, $9C, $42, $08, $1A, $9A
db $00, $00, $1B, $9B, $00, $00, $1C, $9C
db $00, $00, $00
DATA_809F41:
db $6C, $90, $90, $00, $00, $89, $1D, $9D
db $85, $10, $1E, $9E, $A5, $14, $1F, $9F
db $C6, $14, $1D, $9D, $42, $08, $1E, $9E
db $63, $08, $1F, $9F, $63, $0C, $1D, $9D
db $00, $00, $1E, $9E, $00, $00, $1F, $9F
db $00, $00, $00
DATA_809F6C:
db $68, $00, $FF, $01, $20, $50, $01, $24
db $4C, $01, $28, $48, $01, $2C, $44, $01
db $30, $40, $01, $34, $3C, $01, $00, $00
db $00
CODE_809F85:
JSL disable_screen ;$809F85 \
PHK ;$809F89 |
PLB ;$809F8A |
JSR clear_VRAM ;$809F8B |
JSL init_registers_wrapper ;$809F8E |
JSL CODE_808E6A ;$809F92 |
JSL CODE_BB91F7 ;$809F96 |
STZ $2A ;$809F9A |
LDA #$CCCC ;$809F9C |
LDX #$0032 ;$809F9F |
CODE_809FA2: ; |
STA $00,x ;$809FA2 |
INX ;$809FA4 |
CPX #$00D1 ;$809FA5 |
BNE CODE_809FA2 ;$809FA8 |
LDA #$0024 ;$809FAA |
JSL CODE_B5800C ;$809FAD |
LDA #$AA55 ;$809FB1 |
STA $2E ;$809FB4 |
LDA #$FFFF ;$809FB6 |
STA $30 ;$809FB9 |
LDX #$001E ;$809FBB |
LDA #$0000 ;$809FBE |
CODE_809FC1: ; |
STA $32,x ;$809FC1 |
DEX ;$809FC3 |
DEX ;$809FC4 |
BPL CODE_809FC1 ;$809FC5 |
LDA #$0009 ;$809FC7 |
STA $2105 ;$809FCA |
LDA #$1013 ;$809FCD |
STA $212C ;$809FD0 |
LDA #$0010 ;$809FD3 |
STA $212E ;$809FD6 |
LDA #$4030 ;$809FD9 |
STA $2126 ;$809FDC |
LDA #$FF80 ;$809FDF |
STA $2128 ;$809FE2 |
LDA #$0100 ;$809FE5 |
STA $212A ;$809FE8 |
LDA #$0F00 ;$809FEB |
STA $2124 ;$809FEE |
LDA #$2202 ;$809FF1 |
STA $2130 ;$809FF4 |
LDA #$0626 ;$809FF7 |
STA $210B ;$809FFA |
LDA #$7C78 ;$809FFD |
STA $2107 ;$80A000 |
STZ $210D ;$80A003 |
STZ $210D ;$80A006 |
STZ $210F ;$80A009 |
STZ $210F ;$80A00C |
SEP #$20 ;$80A00F |
LDA #$FF ;$80A011 |
STA $210E ;$80A013 |
STA $210E ;$80A016 |
STA $2110 ;$80A019 |
STA $2110 ;$80A01C |
REP #$20 ;$80A01F |
SEP #$20 ;$80A021 |
LDX #$0F02 ;$80A023 |
STX $4310 ;$80A026 |
LDX #$8012 ;$80A029 |
STX $4312 ;$80A02C |
LDA #$7E ;$80A02F |
STA $4314 ;$80A031 |
STZ $4317 ;$80A034 |
LDX #$2601 ;$80A037 |
STX $4320 ;$80A03A |
LDX #DATA_809F6C ;$80A03D |
STX $4322 ;$80A040 |
LDA #DATA_809F6C>>16 ;$80A043 |
STA $4324 ;$80A045 |
STZ $4327 ;$80A048 |
LDX #$2103 ;$80A04B |
STX $4330 ;$80A04E |
LDX #DATA_809E95 ;$80A051 |
STX $4332 ;$80A054 |
LDA #DATA_809E95>>16 ;$80A057 |
STA $4334 ;$80A059 |
STZ $4337 ;$80A05C |
LDX #$2103 ;$80A05F |
STX $4340 ;$80A062 |
LDX #DATA_809EC0 ;$80A065 |
STX $4342 ;$80A068 |
LDA #DATA_809EC0>>16 ;$80A06B |
STA $4344 ;$80A06D |
STZ $4347 ;$80A070 |
LDX #$2103 ;$80A073 |
STX $4350 ;$80A076 |
LDX #DATA_809EEB ;$80A079 |
STX $4352 ;$80A07C |
LDA #DATA_809EEB>>16 ;$80A07F |
STA $4354 ;$80A081 |
STZ $4357 ;$80A084 |
LDX #$2103 ;$80A087 |
STX $4360 ;$80A08A |
LDX #DATA_809F16 ;$80A08D |
STX $4362 ;$80A090 |
LDA #DATA_809F16>>16 ;$80A093 |
STA $4364 ;$80A095 |
STZ $4367 ;$80A098 |
LDX #$2103 ;$80A09B |
STX $4370 ;$80A09E |
LDX #DATA_809F41 ;$80A0A1 |
STX $4372 ;$80A0A4 |
LDA #DATA_809F41>>16 ;$80A0A7 |
STA $4374 ;$80A0A9 |
STZ $4377 ;$80A0AC |
REP #$20 ;$80A0AF |
LDA #$0060 ;$80A0B1 |
STA $7E8012 ;$80A0B4 |
LDA #$0000 ;$80A0B8 |
STA $7E8013 ;$80A0BB |
LDX #$0000 ;$80A0BF |
CODE_80A0C2: ; |
LDA #$0004 ;$80A0C2 |
STA $7E8015,x ;$80A0C5 |
LDA #$0001 ;$80A0C9 |
STA $7E8016,x ;$80A0CC |
LDA #$0004 ;$80A0D0 |
STA $7E8018,x ;$80A0D3 |
LDA #$0000 ;$80A0D7 |
STA $7E8019,x ;$80A0DA |
TXA ;$80A0DE |
CLC ;$80A0DF |
ADC #$000A ;$80A0E0 |
TAX ;$80A0E3 |
CPX #$0046 ;$80A0E4 |
BNE CODE_80A0C2 ;$80A0E7 |
CODE_80A0E9: ; |
LDA #$0002 ;$80A0E9 |
STA $7E8015,x ;$80A0EC |
LDA #$0002 ;$80A0F0 |
STA $7E8016,x ;$80A0F3 |
LDA #$0002 ;$80A0F7 |
STA $7E8018,x ;$80A0FA |
LDA #$0001 ;$80A0FE |
STA $7E8019,x ;$80A101 |
LDA #$0002 ;$80A105 |
STA $7E801B,x ;$80A108 |
LDA #$0000 ;$80A10C |
STA $7E801C,x ;$80A10F |
LDA #$0002 ;$80A113 |
STA $7E801E,x ;$80A116 |
LDA #$0001 ;$80A11A |
STA $7E801F,x ;$80A11D |
TXA ;$80A121 |
CLC ;$80A122 |
ADC #$000C ;$80A123 |
TAX ;$80A126 |
CPX #$00BA ;$80A127 |
BNE CODE_80A0E9 ;$80A12A |
LDA #$0000 ;$80A12C |
STA $7E8015,x ;$80A12F |
LDX #DATA_F99400 ;$80A133 |
LDY.w #DATA_F99400>>16 ;$80A136 |
LDA #$0000 ;$80A139 |
JSL decompress_data ;$80A13C |
LDA #$2000 ;$80A140 |
STA $2116 ;$80A143 |
LDX #$007F ;$80A146 |
LDA #$0000 ;$80A149 |
LDY #$8000 ;$80A14C |
JSL DMA_to_VRAM ;$80A14F |
LDX #DATA_F661C1 ;$80A153 |
LDY.w #DATA_F661C1>>16 ;$80A156 |
LDA #$0000 ;$80A159 |
JSL decompress_data ;$80A15C |
LDA #$6000 ;$80A160 |
STA $2116 ;$80A163 |
LDX #$007F ;$80A166 |
LDA #$0000 ;$80A169 |
LDY #$4000 ;$80A16C |
JSL DMA_to_VRAM ;$80A16F |
LDX #DATA_F9C775 ;$80A173 |
LDY.w #DATA_F9C775>>16 ;$80A176 |
LDA #$0000 ;$80A179 |
JSL decompress_data ;$80A17C |
LDA #$7C20 ;$80A180 |
STA $2116 ;$80A183 |
LDX #$007F ;$80A186 |
LDA #$0000 ;$80A189 |
LDY #$0700 ;$80A18C |
JSL DMA_to_VRAM ;$80A18F |
LDA #$7C00 ;$80A193 |
STA $2116 ;$80A196 |
LDX #$007F ;$80A199 |
LDA #$0000 ;$80A19C |
LDY #$0700 ;$80A19F |
JSL DMA_to_VRAM ;$80A1A2 |
LDX #DATA_F67D1B ;$80A1A6 |
LDY.w #DATA_F67D1B>>16 ;$80A1A9 |
LDA #$0000 ;$80A1AC |
JSL decompress_data ;$80A1AF |
LDA #$7800 ;$80A1B3 |
STA $2116 ;$80A1B6 |
LDX #$007F ;$80A1B9 |
LDA #$0000 ;$80A1BC |
LDY #$0800 ;$80A1BF |
JSL DMA_to_VRAM ;$80A1C2 |
STZ $17BA ;$80A1C6 |
LDA #$0100 ;$80A1C9 |
STZ $17C0 ;$80A1CC |
LDA #$0000 ;$80A1CF |
STA $0D9E ;$80A1D2 |
LDA #$0004 ;$80A1D5 |
STA $0D84 ;$80A1D8 |
LDA #$0036 ;$80A1DB |
STA $0D8A ;$80A1DE |
LDA #$0100 ;$80A1E1 |
STA $0D86 ;$80A1E4 |
LDA #$0030 ;$80A1E7 |
STA $0D8E ;$80A1EA |
LDA #$0000 ;$80A1ED |
STA $0D96 ;$80A1F0 |
LDA #$351C ;$80A1F3 |
STA $0DFC ;$80A1F6 |
LDA #$0004 ;$80A1F9 |
STA $0DE2 ;$80A1FC |
LDA #$0038 ;$80A1FF |
STA $0DE8 ;$80A202 |
LDA #$0101 ;$80A205 |
STA $0DE4 ;$80A208 |
LDA #$0068 ;$80A20B |
STA $0DEC ;$80A20E |
LDA #$2280 ;$80A211 |
STA $0DF4 ;$80A214 |
LDA #$3520 ;$80A217 |
STA $0E5A ;$80A21A |
LDA #$0004 ;$80A21D |
STA $0E40 ;$80A220 |
LDA #$0038 ;$80A223 |
STA $0E46 ;$80A226 |
LDA #$0102 ;$80A229 |
STA $0E42 ;$80A22C |
LDA #$0068 ;$80A22F |
STA $0E4A ;$80A232 |
LDA #$24A0 ;$80A235 |
STA $0E52 ;$80A238 |
LDA #$3538 ;$80A23B |
STA $0EB8 ;$80A23E |
LDA #$0004 ;$80A241 |
STA $0E9E ;$80A244 |
LDA #$00B8 ;$80A247 |
STA $0EA4 ;$80A24A |
LDA #$0101 ;$80A24D |
STA $0EA0 ;$80A250 |
LDA #$0060 ;$80A253 |
STA $0EA8 ;$80A256 |
LDA #$26C0 ;$80A259 |
STA $0EB0 ;$80A25C |
LDA #$3558 ;$80A25F |
STA $0F16 ;$80A262 |
LDA #$0004 ;$80A265 |
STA $0EFC ;$80A268 |
LDA #$0040 ;$80A26B |
STA $0F02 ;$80A26E |
LDA #$00FF ;$80A271 |
STA $0EFE ;$80A274 |
LDA #$0066 ;$80A277 |
STA $0F06 ;$80A27A |
LDA #$2860 ;$80A27D |
STA $0F0E ;$80A280 |
LDY #$0000 ;$80A283 |
LDX #$0020 ;$80A286 |
LDA #DATA_FD420E ;$80A289 |
JSL DMA_palette ;$80A28C |
LDY #$0080 ;$80A290 |
LDX #$0020 ;$80A293 |
LDA #DATA_FD416E ;$80A296 |
JSL DMA_palette ;$80A299 |
LDY #$00D0 ;$80A29D |
LDX #$0004 ;$80A2A0 |
LDA.l DATA_FD6044 ;$80A2A3 |
DEC A ;$80A2A7 |
DEC A ;$80A2A8 |
JSL DMA_palette ;$80A2A9 |
SEP #$20 ;$80A2AD |
LDA $4211 ;$80A2AF |
LDA #$80 ;$80A2B2 |
STA $2103 ;$80A2B4 |
LDA #$01 ;$80A2B7 |
STA $420D ;$80A2B9 |
REP #$20 ;$80A2BC |
STZ $2A ;$80A2BE |
LDA #$0300 ;$80A2C0 |
JSR CODE_808C32 ;$80A2C3 |
JSR CODE_808CAC ;$80A2C6 |
LDA #CODE_80A2CF ;$80A2C9 |
JMP CODE_80B0EE ;$80A2CC /
CODE_80A2CF:
LDX #$01FF ;$80A2CF \
TXS ;$80A2D2 |
STZ $2102 ;$80A2D3 |
LDA #$FE01 ;$80A2D6 |
STA $420B ;$80A2D9 |
LDA $2A ;$80A2DC |
LSR A ;$80A2DE |
LSR A ;$80A2DF |
AND #$0007 ;$80A2E0 |
CLC ;$80A2E3 |
ADC #$0062 ;$80A2E4 |
STA $7E8012 ;$80A2E7 |
LDY #$0090 ;$80A2EB |
LDX #$0004 ;$80A2EE |
LDA #DATA_FD418E ;$80A2F1 |
JSL DMA_palette ;$80A2F4 |
JSL CODE_B5A919 ;$80A2F8 |
LDA $17C0 ;$80A2FC |
SEP #$20 ;$80A2FF |
STA $2110 ;$80A301 |
STZ $2110 ;$80A304 |
REP #$20 ;$80A307 |
SEP #$20 ;$80A309 |
LDA $0512 ;$80A30B |
STA $2100 ;$80A30E |
REP #$20 ;$80A311 |
LDA #CODE_80F3E6 ;$80A313 |
STA $20 ;$80A316 |
JSR CODE_808C3D ;$80A318 |
JSR CODE_808988 ;$80A31B |
INC $2A ;$80A31E |
BNE CODE_80A327 ;$80A320 |
LDA $1000 ;$80A322 |
STA $2A ;$80A325 |
CODE_80A327: ; |
LDX #$0D84 ;$80A327 |
JSR CODE_80A545 ;$80A32A |
LDX #$0E9E ;$80A32D |
JSR CODE_80A518 ;$80A330 |
LDX #$0EFC ;$80A333 |
JSR CODE_80A4B7 ;$80A336 |
LDA $2A ;$80A339 |
CMP #$0500 ;$80A33B |
BCC CODE_80A350 ;$80A33E |
LDA $0512 ;$80A340 |
BMI CODE_80A350 ;$80A343 |
LDA $0510 ;$80A345 |
BEQ CODE_80A350 ;$80A348 |
LDA #$820F ;$80A34A |
STA $0512 ;$80A34D |
CODE_80A350: ; |
LDA $0512 ;$80A350 |
CMP #$8201 ;$80A353 |
BNE CODE_80A35B ;$80A356 |
JMP restart_rareware_logo ;$80A358 /
CODE_80A35B:
LDA $2A ;$80A35B \
CMP #$0040 ;$80A35D |
BEQ CODE_80A367 ;$80A360 |
CMP #$0080 ;$80A362 |
BNE CODE_80A375 ;$80A365 |
CODE_80A367: ; |
LDA #$056F ;$80A367 |
JSL CODE_B58021 ;$80A36A |
LDA #$0670 ;$80A36E |
JSL CODE_B58021 ;$80A371 |
CODE_80A375: ; |
LDA $2A ;$80A375 |
SEC ;$80A377 |
SBC #$0040 ;$80A378 |
CMP #$0010 ;$80A37B |
BCC CODE_80A399 ;$80A37E |
LDA $2A ;$80A380 |
SEC ;$80A382 |
SBC #$0080 ;$80A383 |
CMP #$0020 ;$80A386 |
BCC CODE_80A399 ;$80A389 |
LDA $2A ;$80A38B |
SEC ;$80A38D |
SBC #$00B0 ;$80A38E |
CMP #$0060 ;$80A391 |
BCC CODE_80A399 ;$80A394 |
LDA #$0000 ;$80A396 |
CODE_80A399: ; |
AND #$0003 ;$80A399 |
DEC A ;$80A39C |
STA $17C0 ;$80A39D |
LDA $2A ;$80A3A0 |
CMP #$00B0 ;$80A3A2 |
BEQ CODE_80A3AC ;$80A3A5 |
CMP #$00F0 ;$80A3A7 |
BNE CODE_80A3BA ;$80A3AA |
CODE_80A3AC: ; |
LDA #$0515 ;$80A3AC |
JSL CODE_B58021 ;$80A3AF |
LDA #$0619 ;$80A3B3 |
JSL CODE_B58021 ;$80A3B6 |
CODE_80A3BA: ; |
LDA $2A ;$80A3BA |
CMP #$00B2 ;$80A3BC |
BNE CODE_80A3CF ;$80A3BF |
LDA #$0771 ;$80A3C1 |
JSL CODE_B58021 ;$80A3C4 |
LDA #$0472 ;$80A3C8 |
JSL CODE_B58021 ;$80A3CB |
CODE_80A3CF: ; |
LDA $2A ;$80A3CF |
BIT #$000F ;$80A3D1 |
BNE CODE_80A41F ;$80A3D4 |
SEC ;$80A3D6 |
SBC #$00B0 ;$80A3D7 |
CMP #$0068 ;$80A3DA |
BCS CODE_80A41F ;$80A3DD |
JSR CODE_80A4A1 ;$80A3DF |
BNE CODE_80A41F ;$80A3E2 |
LDA #$0103 ;$80A3E4 |
STA $02,x ;$80A3E7 |
LDA #$16DC ;$80A3E9 |
STA $1A,x ;$80A3EC |
JSR CODE_80B13E ;$80A3EE |
AND #$001F ;$80A3F1 |
CLC ;$80A3F4 |
ADC $0DEC ;$80A3F5 |
SEC ;$80A3F8 |
SBC #$0030 ;$80A3F9 |
STA $0A,x ;$80A3FC |
JSR CODE_80B13E ;$80A3FE |
AND #$001F ;$80A401 |
CLC ;$80A404 |
ADC $0DE8 ;$80A405 |
SEC ;$80A408 |
SBC #$0010 ;$80A409 |
STA $06,x ;$80A40C |
LDA #$0001 ;$80A40E |
STA $00,x ;$80A411 |
LDA $2A ;$80A413 |
ASL A ;$80A415 |
AND #$00E0 ;$80A416 |
CLC ;$80A419 |
ADC #$2AE0 ;$80A41A |
STA $12,x ;$80A41D |
CODE_80A41F: ; |
LDA $2A ;$80A41F |
BIT #$0003 ;$80A421 |
BNE CODE_80A44D ;$80A424 |
LDX #$0D84 ;$80A426 |
CODE_80A429: ; |
LDA $00,x ;$80A429 |
CMP #$0001 ;$80A42B |
BNE CODE_80A442 ;$80A42E |
LDA $1A,x ;$80A430 |
CLC ;$80A432 |
ADC #$0004 ;$80A433 |
CMP #$1718 ;$80A436 |
BCC CODE_80A440 ;$80A439 |
LDA #$0000 ;$80A43B |
STA $00,x ;$80A43E |
CODE_80A440: ; |
STA $1A,x ;$80A440 |
CODE_80A442: ; |
TXA ;$80A442 |
CLC ;$80A443 |
ADC #$005E ;$80A444 |
TAX ;$80A447 |
CPX #$16B2 ;$80A448 |
BNE CODE_80A429 ;$80A44B |
CODE_80A44D: ; |
JSL CODE_B5A8DA ;$80A44D |
LDA #$0200 ;$80A451 |
STA $70 ;$80A454 |
STZ $0400 ;$80A456 |
STZ $0402 ;$80A459 |
STZ $0404 ;$80A45C |
STZ $0406 ;$80A45F |
STZ $0408 ;$80A462 |
STZ $040A ;$80A465 |
STZ $040C ;$80A468 |
STZ $040E ;$80A46B |
STZ $0410 ;$80A46E |
STZ $0412 ;$80A471 |
STZ $0414 ;$80A474 |
STZ $0416 ;$80A477 |
STZ $0418 ;$80A47A |
STZ $041A ;$80A47D |
STZ $041C ;$80A480 |
STZ $041E ;$80A483 |
LDA #$0044 ;$80A486 |
STA $78 ;$80A489 |
JSL CODE_B59F40 ;$80A48B |
STZ $1730 ;$80A48F |
JSL CODE_8088B4 ;$80A492 |
JSR CODE_808CAC ;$80A496 |
LDA #CODE_80A2CF ;$80A499 |
STA $20 ;$80A49C |
CODE_80A49E: ; |
WAI ;$80A49E |
BRA CODE_80A49E ;$80A49F /
CODE_80A4A1:
LDX #$0D84 ;$80A4A1 \
CODE_80A4A4: ; |
LDA $00,x ;$80A4A4 |
BEQ CODE_80A4B6 ;$80A4A6 |
TXA ;$80A4A8 |
CLC ;$80A4A9 |
ADC #$005E ;$80A4AA |
TAX ;$80A4AD |
CPX #$0D84 ;$80A4AE |
BNE CODE_80A4A4 ;$80A4B1 |
LDA #$0001 ;$80A4B3 |
CODE_80A4B6: ; |
RTS ;$80A4B6 /
CODE_80A4B7:
LDA $2A ;$80A4B7 \
CMP #$0340 ;$80A4B9 |
BNE CODE_80A4CC ;$80A4BC |
LDA #$0675 ;$80A4BE |
JSL CODE_B58021 ;$80A4C1 |
LDA #$0776 ;$80A4C5 |
JSL CODE_B58021 ;$80A4C8 |
CODE_80A4CC: ; |
LDA $2A ;$80A4CC |
SEC ;$80A4CE |
SBC #$0120 ;$80A4CF |
BMI CODE_80A4E5 ;$80A4D2 |
CMP #$02E0 ;$80A4D4 |
BCC CODE_80A4DE ;$80A4D7 |
BIT #$001F ;$80A4D9 |
BRA CODE_80A4E1 ;$80A4DC /
CODE_80A4DE:
BIT #$000F ;$80A4DE \
CODE_80A4E1: ; |
BNE CODE_80A4E5 ;$80A4E1 |
INC $06,x ;$80A4E3 |
CODE_80A4E5: ; |
LDA $2A ;$80A4E5 |
SEC ;$80A4E7 |
SBC #$03E0 ;$80A4E8 |
BMI CODE_80A517 ;$80A4EB |
LSR A ;$80A4ED |
LSR A ;$80A4EE |
CMP #$0048 ;$80A4EF |
BCC CODE_80A505 ;$80A4F2 |
LDA #$0000 ;$80A4F4 |
STA $0D84 ;$80A4F7 |
STA $0DE2 ;$80A4FA |
STA $0E40 ;$80A4FD |
STA $0EFC ;$80A500 |
BRA CODE_80A50C ;$80A503 /
CODE_80A505:
AND #$FFFC ;$80A505 \
CLC ;$80A508 |
ADC #$3558 ;$80A509 |
CODE_80A50C: ; |
STA $1A,x ;$80A50C |
LDA $2A ;$80A50E |
BIT #$003F ;$80A510 |
BNE CODE_80A517 ;$80A513 |
DEC $0A,x ;$80A515 |
CODE_80A517: ; |
RTS ;$80A517 /
CODE_80A518:
LDA $2A ;$80A518 \
AND #$001C ;$80A51A |
CLC ;$80A51D |
ADC #$3538 ;$80A51E |
STA $1A,x ;$80A521 |
RTS ;$80A523 /
LDA $1A,x ;$80A524 |
BEQ CODE_80A544 ;$80A526 |
CMP #$3520 ;$80A528 |
BEQ CODE_80A544 ;$80A52B |
LDA $2A ;$80A52D |
BIT #$0003 ;$80A52F |
BNE CODE_80A544 ;$80A532 |
LDA $1A,x ;$80A534 |
CLC ;$80A536 |
ADC #$0004 ;$80A537 |
CMP #$1718 ;$80A53A |
BNE CODE_80A542 ;$80A53D |
LDA #$0000 ;$80A53F |
CODE_80A542: ; |
STA $1A,x ;$80A542 |
CODE_80A544: ; |
RTS ;$80A544 /
CODE_80A545:
LDA $1A,x ;$80A545 \
STA $32 ;$80A547 |
LDA $2A ;$80A549 |
CMP #$00C0 ;$80A54B |
BCC CODE_80A5C2 ;$80A54E |
BNE CODE_80A55A ;$80A550 |
LDA #$0000 ;$80A552 |
STA $0E40 ;$80A555 |
LDA $2A ;$80A558 |
CODE_80A55A: ; |
BIT #$0003 ;$80A55A |
BNE CODE_80A574 ;$80A55D |
LDA $1A,x ;$80A55F |
BNE CODE_80A566 ;$80A561 |
LDA #$3520 ;$80A563 |
CODE_80A566: ; |
CLC ;$80A566 |
ADC #$0004 ;$80A567 |
CMP #$3538 ;$80A56A |
BNE CODE_80A572 ;$80A56D |
LDA #$3524 ;$80A56F |
CODE_80A572: ; |
STA $1A,x ;$80A572 |
CODE_80A574: ; |
LDA $2A ;$80A574 |
BIT #$000F ;$80A576 |
BNE CODE_80A57F ;$80A579 |
INC $0A,x ;$80A57B |
INC $68,x ;$80A57D |
CODE_80A57F: ; |
JSR CODE_80B13E ;$80A57F |
AND #$000F ;$80A582 |
CLC ;$80A585 |
ADC $0A,x ;$80A586 |
CMP #$0058 ;$80A588 |
BCC CODE_80A5A6 ;$80A58B |
STZ $1A,x ;$80A58D |
LDA $32 ;$80A58F |
CMP #$0000 ;$80A591 |
BEQ CODE_80A5C2 ;$80A594 |
LDA #$0700 ;$80A596 |
JSL CODE_B58021 ;$80A599 |
LDA #$0400 ;$80A59D |
JSL CODE_B58021 ;$80A5A0 |
BRA CODE_80A5C2 ;$80A5A4 /
CODE_80A5A6:
LDA $0A,x ;$80A5A6 \
CMP #$0032 ;$80A5A8 |
BCC CODE_80A5C2 ;$80A5AB |
LDA $32 ;$80A5AD |
CMP #$0000 ;$80A5AF |
BNE CODE_80A5C2 ;$80A5B2 |
LDA #$0773 ;$80A5B4 |
JSL CODE_B58021 ;$80A5B7 |
LDA #$0474 ;$80A5BB |
JSL CODE_B58021 ;$80A5BE |
CODE_80A5C2: ; |
RTS ;$80A5C2 /
LDY #$0000 ;$80A5C3 |
LDA $24,x ;$80A5C6 |
STA $32 ;$80A5C8 |
LDA $24,x ;$80A5CA |
BPL CODE_80A5D1 ;$80A5CC |
LDY #$FFFF ;$80A5CE |
CODE_80A5D1: ; |
STY $54 ;$80A5D1 |
ASL A ;$80A5D3 |
ROL $54 ;$80A5D4 |
ASL A ;$80A5D6 |
ROL $54 ;$80A5D7 |
ASL A ;$80A5D9 |
ROL $54 ;$80A5DA |
ASL A ;$80A5DC |
ROL $54 ;$80A5DD |
ASL A ;$80A5DF |
ROL $54 ;$80A5E0 |
ASL A ;$80A5E2 |
ROL $54 ;$80A5E3 |
CLC ;$80A5E5 |
ADC $08,x ;$80A5E6 |
STA $08,x ;$80A5E8 |
LDA $0A,x ;$80A5EA |
ADC $54 ;$80A5EC |
STA $0A,x ;$80A5EE |
RTS ;$80A5F0 /
CODE_80A5F1:
JSL disable_screen ;$80A5F1 \
PHK ;$80A5F5 |
PLB ;$80A5F6 |
JSR clear_VRAM ;$80A5F7 |
JSL init_registers_wrapper ;$80A5FA |
JSL CODE_808E6A ;$80A5FE |
JSL CODE_8088AB ;$80A602 |
LDA #$0018 ;$80A606 |
JSL CODE_B5800C ;$80A609 |
LDA $0613 ;$80A60D |
BEQ CODE_80A65D ;$80A610 |
LDA $0611 ;$80A612 |
ASL A ;$80A615 |
TAX ;$80A616 |
LDA.l DATA_80ABE8,x ;$80A617 |
STA $32 ;$80A61B |
LDA #$00B0 ;$80A61D |
STA $34 ;$80A620 |
PEA $807E ;$80A622 |
PLB ;$80A625 |
LDY #$02A6 ;$80A626 |
BRA CODE_80A653 ;$80A629 /
LDA $0611 ;$80A62B |
ASL A ;$80A62E |
TAX ;$80A62F |
LDA.l DATA_80ABE8,x ;$80A630 |
CLC ;$80A634 |
ADC #$0006 ;$80A635 |
STA $32 ;$80A638 |
LDA #$00B0 ;$80A63A |
STA $34 ;$80A63D |
LDA $060F ;$80A63F |
BEQ CODE_80A64C ;$80A642 |
LDA $32 ;$80A644 |
CLC ;$80A646 |
ADC #$014E ;$80A647 |
STA $32 ;$80A64A |
CODE_80A64C: ; |
PEA $807E ;$80A64C |
PLB ;$80A64F |
LDY #$014C ;$80A650 |
CODE_80A653: ; |
LDA $56CA,y ;$80A653 |
STA [$32],y ;$80A656 |
DEY ;$80A658 |
DEY ;$80A659 |
BPL CODE_80A653 ;$80A65A |
PLB ;$80A65C |
CODE_80A65D: ; |
LDA #$0001 ;$80A65D |
STA $2105 ;$80A660 |
LDA #$0213 ;$80A663 |
STA $212C ;$80A666 |
LDA #$0015 ;$80A669 |
STA $210B ;$80A66C |
LDA #$8020 ;$80A66F |
STA $2126 ;$80A672 |
SEP #$20 ;$80A675 |
LDA #$30 ;$80A677 |
STA $2125 ;$80A679 |
LDA #$E8 ;$80A67C |
STA $2132 ;$80A67E |
REP #$20 ;$80A681 |
LDA #$4122 ;$80A683 |
STA $2130 ;$80A686 |
LDA #$7C74 ;$80A689 |
STA $2107 ;$80A68C |
STZ $210D ;$80A68F |
STZ $210D ;$80A692 |
SEP #$20 ;$80A695 |
LDA #$FF ;$80A697 |
STA $210E ;$80A699 |
STA $210E ;$80A69C |
STA $2110 ;$80A69F |
STA $2110 ;$80A6A2 |
STZ $210F ;$80A6A5 |
STZ $210F ;$80A6A8 |
REP #$20 ;$80A6AB |
LDA #$0028 ;$80A6AD |
STA $7E8012 ;$80A6B0 |
LDA #$0000 ;$80A6B4 |
STA $7E8013 ;$80A6B7 |
LDA #$0028 ;$80A6BB |
STA $7E8015 ;$80A6BE |
LDA #$8102 ;$80A6C2 |
STA $7E8016 ;$80A6C5 |
LDA #$0028 ;$80A6C9 |
STA $7E8018 ;$80A6CC |
LDA #$8102 ;$80A6D0 |
STA $7E8019 ;$80A6D3 |
LDA #$0028 ;$80A6D7 |
STA $7E801B ;$80A6DA |
LDA #$8102 ;$80A6DE |
STA $7E801C ;$80A6E1 |
LDA #$0028 ;$80A6E5 |
STA $7E801E ;$80A6E8 |
LDA #$8102 ;$80A6EC |
STA $7E801F ;$80A6EF |
LDA #$0001 ;$80A6F3 |
STA $7E8021 ;$80A6F6 |
LDA #$8102 ;$80A6FA |
STA $7E8022 ;$80A6FD |
LDA #$0000 ;$80A701 |
STA $7E8024 ;$80A704 |
SEP #$20 ;$80A708 |
LDX #$2601 ;$80A70A |
STX $4320 ;$80A70D |
LDX #$8012 ;$80A710 |
STX $4322 ;$80A713 |
LDA #$7E ;$80A716 |
STA $4324 ;$80A718 |
STZ $4327 ;$80A71B |
REP #$20 ;$80A71E |
LDX #DATA_ED5E3F ;$80A720 |
LDY.w #DATA_ED5E3F>>16 ;$80A723 |
LDA #$0000 ;$80A726 |
JSL decompress_data ;$80A729 |
LDA #$5000 ;$80A72D |
STA $2116 ;$80A730 |
LDX #$007F ;$80A733 |
LDA #$0000 ;$80A736 |
LDY #$6000 ;$80A739 |
JSL DMA_to_VRAM ;$80A73C |
LDX #DATA_ED7507 ;$80A740 |
LDY.w #DATA_ED7507>>16 ;$80A743 |
LDA #$7428 ;$80A746 |
JSR CODE_80AF83 ;$80A749 |
LDX #DATA_ED7429 ;$80A74C |
LDY.w #DATA_ED7429>>16 ;$80A74F |
LDA #$74C1 ;$80A752 |
JSR CODE_80AF83 ;$80A755 |
LDX #DATA_ED7433 ;$80A758 |
LDY.w #DATA_ED7433>>16 ;$80A75B |
LDA #$7561 ;$80A75E |
JSR CODE_80AF83 ;$80A761 |
LDX #DATA_ED743D ;$80A764 |
LDY.w #DATA_ED743D>>16 ;$80A767 |
LDA #$7601 ;$80A76A |
JSR CODE_80AF83 ;$80A76D |
LDA $0613 ;$80A770 |
BEQ CODE_80A783 ;$80A773 |
LDX #DATA_ED7607 ;$80A775 |
LDY.w #DATA_ED7607>>16 ;$80A778 |
LDA #$7428 ;$80A77B |
JSR CODE_80AF83 ;$80A77E |
BRA CODE_80A795 ;$80A781 /
CODE_80A783:
LDX #DATA_ED7569 ;$80A783 \
LDY.w #DATA_ED7569>>16 ;$80A786 |
LDA #$76C3 ;$80A789 |
JSR CODE_80AF83 ;$80A78C |
JSR CODE_80AC3C ;$80A78F |
JSR CODE_80AC50 ;$80A792 |
CODE_80A795: ; |
LDX #DATA_EC83A0 ;$80A795 |
LDY.w #DATA_EC83A0>>16 ;$80A798 |
LDA #$0000 ;$80A79B |
JSL decompress_data ;$80A79E |
LDA #$1000 ;$80A7A2 |
STA $2116 ;$80A7A5 |
LDX #$007F ;$80A7A8 |
LDA #$0000 ;$80A7AB |
LDY #$8000 ;$80A7AE |
JSL DMA_to_VRAM ;$80A7B1 |
LDX #DATA_EC7CF0 ;$80A7B5 |
LDY.w #DATA_EC7CF0>>16 ;$80A7B8 |
LDA #$0000 ;$80A7BB |
JSL decompress_data ;$80A7BE |
LDA #$7C00 ;$80A7C2 |
STA $2116 ;$80A7C5 |
LDX #$007F ;$80A7C8 |
LDA #$0000 ;$80A7CB |
LDY #$0800 ;$80A7CE |
JSL DMA_to_VRAM ;$80A7D1 |
JSR CODE_80AC63 ;$80A7D5 |
LDY #$0000 ;$80A7D8 |
LDX #$0040 ;$80A7DB |
LDA #DATA_FD3C6E ;$80A7DE |
JSL DMA_palette ;$80A7E1 |
STZ $2116 ;$80A7E5 |
LDX.w #DATA_FB0180>>16 ;$80A7E8 |
LDA #DATA_FB0180 ;$80A7EB |
LDY #$0080 ;$80A7EE |
JSL DMA_to_VRAM ;$80A7F1 |
LDX.w #DATA_FB0400>>16 ;$80A7F5 |
LDA #DATA_FB0400 ;$80A7F8 |
LDY #$0080 ;$80A7FB |
JSL DMA_to_VRAM ;$80A7FE |
STZ $0400 ;$80A802 |
STZ $0402 ;$80A805 |
STZ $0404 ;$80A808 |
LDA #$0300 ;$80A80B |
JSR CODE_808C32 ;$80A80E |
SEP #$20 ;$80A811 |
LDA $4211 ;$80A813 |
LDA #$80 ;$80A816 |
STA $2103 ;$80A818 |
LDA #$01 ;$80A81B |
STA $420D ;$80A81D |
REP #$20 ;$80A820 |
JSR CODE_808CAC ;$80A822 |
LDA #CODE_80A86C ;$80A825 |
JMP CODE_80B0EE ;$80A828 /
CODE_80A82B:
LDA $36 ;$80A82B \
STA $0200,x ;$80A82D |
LDA $34 ;$80A830 |
STA $0202,x ;$80A832 |
LDA $36 ;$80A835 |
CLC ;$80A837 |
ADC #$0008 ;$80A838 |
STA $0204,x ;$80A83B |
LDA $34 ;$80A83E |
INC A ;$80A840 |
STA $0206,x ;$80A841 |
LDA $36 ;$80A844 |
CLC ;$80A846 |
ADC #$0800 ;$80A847 |
STA $0208,x ;$80A84A |
LDA $34 ;$80A84D |
INC A ;$80A84F |
INC A ;$80A850 |
STA $020A,x ;$80A851 |
LDA $36 ;$80A854 |
CLC ;$80A856 |
ADC #$0808 ;$80A857 |
STA $020C,x ;$80A85A |
LDA $34 ;$80A85D |
INC A ;$80A85F |
INC A ;$80A860 |
INC A ;$80A861 |
STA $020E,x ;$80A862 |
RTS ;$80A865 /
DATA_80A866:
db $A2, $74, $42, $75, $E2, $75
CODE_80A86C:
LDX #$01FF ;$80A86C \
TXS ;$80A86F |
STZ $2102 ;$80A870 |
LDA #$0401 ;$80A873 |
STA $420B ;$80A876 |
LDA $0613 ;$80A879 |
BIT #$00E4 ;$80A87C |
BNE CODE_80A8F4 ;$80A87F |
LDA $2A ;$80A881 |
BIT #$0003 ;$80A883 |
BNE CODE_80A8B7 ;$80A886 |
AND #$001C ;$80A888 |
ASL A ;$80A88B |
ASL A ;$80A88C |
ASL A ;$80A88D |
ASL A ;$80A88E |
ASL A ;$80A88F |
CLC ;$80A890 |
ADC #$0000 ;$80A891 |
STA $4312 ;$80A894 |
STA $4318 ;$80A897 |
STZ $2116 ;$80A89A |
LDA #$0080 ;$80A89D |
STA $4315 ;$80A8A0 |
LDA #$1801 ;$80A8A3 |
STA $4310 ;$80A8A6 |
SEP #$20 ;$80A8A9 |
LDA #$FB ;$80A8AB |
STA $4314 ;$80A8AD |
LDA #$02 ;$80A8B0 |
STA $420B ;$80A8B2 |
REP #$20 ;$80A8B5 |
CODE_80A8B7: ; |
LDA $2A ;$80A8B7 |
CLC ;$80A8B9 |
ADC #$0002 ;$80A8BA |
BIT #$0003 ;$80A8BD |
BNE CODE_80A8F4 ;$80A8C0 |
AND #$001C ;$80A8C2 |
ASL A ;$80A8C5 |
ASL A ;$80A8C6 |
ASL A ;$80A8C7 |
ASL A ;$80A8C8 |
ASL A ;$80A8C9 |
CLC ;$80A8CA |
ADC #$0400 ;$80A8CB |
STA $4312 ;$80A8CE |
STA $4318 ;$80A8D1 |
LDA #$0040 ;$80A8D4 |
STA $2116 ;$80A8D7 |
LDA #$0080 ;$80A8DA |
STA $4315 ;$80A8DD |
LDA #$1801 ;$80A8E0 |
STA $4310 ;$80A8E3 |
SEP #$20 ;$80A8E6 |
LDA #$FB ;$80A8E8 |
STA $4314 ;$80A8EA |
LDA #$02 ;$80A8ED |
STA $420B ;$80A8EF |
REP #$20 ;$80A8F2 |
CODE_80A8F4: ; |
LDA $0613 ;$80A8F4 |
BIT #$0080 ;$80A8F7 |
BEQ CODE_80A905 ;$80A8FA |
JSR CODE_80AC3C ;$80A8FC |
LDA #$0080 ;$80A8FF |
TRB $0613 ;$80A902 |
CODE_80A905: ; |
LDA $0613 ;$80A905 |
BIT #$0100 ;$80A908 |
BEQ CODE_80A916 ;$80A90B |
JSR CODE_80AC50 ;$80A90D |
LDA #$0100 ;$80A910 |
TRB $0613 ;$80A913 |
CODE_80A916: ; |
LDA $0613 ;$80A916 |
BIT #$0004 ;$80A919 |
BEQ CODE_80A926 ;$80A91C |
LDA #$0006 ;$80A91E |
TRB $0613 ;$80A921 |
BRA CODE_80A934 ;$80A924 /
CODE_80A926:
LDA $0613 ;$80A926 \
BIT #$0040 ;$80A929 |
BEQ CODE_80A94E ;$80A92C |
LDA #$0078 ;$80A92E |
TRB $0613 ;$80A931 |
CODE_80A934: ; |
LDA $0611 ;$80A934 |
ASL A ;$80A937 |
TAX ;$80A938 |
LDA.l DATA_80ABE8,x ;$80A939 |
STA $54 ;$80A93D |
LDA #$00B0 ;$80A93F |
STA $56 ;$80A942 |
LDA.l DATA_80A866,x ;$80A944 |
LDX $0611 ;$80A948 |
JSR CODE_80ACB6 ;$80A94B |
CODE_80A94E: ; |
LDA $0613 ;$80A94E |
BIT #$0020 ;$80A951 |
BEQ CODE_80A96E ;$80A954 |
LDA $0611 ;$80A956 |
ASL A ;$80A959 |
TAX ;$80A95A |
LDA.l DATA_80A866,x ;$80A95B |
LDX #DATA_ED7717 ;$80A95F |
LDY.w #DATA_ED7717>>16 ;$80A962 |
JSR CODE_80AF83 ;$80A965 |
LDA #$0040 ;$80A968 |
TSB $0613 ;$80A96B |
CODE_80A96E: ; |
SEP #$20 ;$80A96E |
LDA $0512 ;$80A970 |
STA $2100 ;$80A973 |
REP #$20 ;$80A976 |
LDA #CODE_80F3E6 ;$80A978 |
STA $20 ;$80A97B |
JSR CODE_808C3D ;$80A97D |
LDA #$FF00 ;$80A980 |
STA $7E8016 ;$80A983 |
STA $7E8019 ;$80A987 |
STA $7E801C ;$80A98B |
STA $7E801F ;$80A98F |
STA $7E8022 ;$80A993 |
LDA $0512 ;$80A997 |
BMI CODE_80A9DE ;$80A99A |
LDA $0613 ;$80A99C |
BIT #$0001 ;$80A99F |
BNE CODE_80A9DE ;$80A9A2 |
LDX $0611 ;$80A9A4 |
LDA $0511 ;$80A9A7 |
LSR A ;$80A9AA |
BCC CODE_80A9B3 ;$80A9AB |
LDA.l DATA_80AC35,x ;$80A9AD |
BRA CODE_80A9CC ;$80A9B1 /
CODE_80A9B3:
LSR A ;$80A9B3 \
BCC CODE_80A9BC ;$80A9B4 |
LDA.l DATA_80AC2E,x ;$80A9B6 |
BRA CODE_80A9CC ;$80A9BA /
CODE_80A9BC:
LSR A ;$80A9BC \
BCC CODE_80A9C5 ;$80A9BD |
LDA.l DATA_80AC27,x ;$80A9BF |
BRA CODE_80A9CC ;$80A9C3 /
CODE_80A9C5:
LSR A ;$80A9C5 \
BCC CODE_80A9DE ;$80A9C6 |
LDA.l DATA_80AC20,x ;$80A9C8 |
CODE_80A9CC: ; |
AND #$00FF ;$80A9CC |
CMP $0611 ;$80A9CF |
BEQ CODE_80A9DE ;$80A9D2 |
STA $0611 ;$80A9D4 |
LDA #$0633 ;$80A9D7 |
JSL CODE_B58021 ;$80A9DA |
CODE_80A9DE: ; |
LDA $0613 ;$80A9DE |
BIT #$000A ;$80A9E1 |
BEQ CODE_80A9ED ;$80A9E4 |
LDA $2A ;$80A9E6 |
BIT #$0004 ;$80A9E8 |
BEQ CODE_80AA35 ;$80A9EB |
CODE_80A9ED: ; |
LDA $0611 ;$80A9ED |
CMP #$0004 ;$80A9F0 |
BNE CODE_80A9FD ;$80A9F3 |
LDA #$8000 ;$80A9F5 |
LDX #$000D ;$80A9F8 |
BRA CODE_80AA31 ;$80A9FB /
CODE_80A9FD:
LDA $0611 ;$80A9FD \
CMP #$0006 ;$80AA00 |
BNE CODE_80AA0D ;$80AA03 |
LDA #$FF80 ;$80AA05 |
LDX #$000D ;$80AA08 |
BRA CODE_80AA31 ;$80AA0B /
CODE_80AA0D:
CMP #$0005 ;$80AA0D \
BNE CODE_80AA1A ;$80AA10 |
LDA #$8000 ;$80AA12 |
LDX #$000A ;$80AA15 |
BRA CODE_80AA31 ;$80AA18 /
CODE_80AA1A:
CMP #$0003 ;$80AA1A \
BNE CODE_80AA27 ;$80AA1D |
LDA #$FF80 ;$80AA1F |
LDX #$000A ;$80AA22 |
BRA CODE_80AA31 ;$80AA25 /
CODE_80AA27:
STA $32 ;$80AA27 \
ASL A ;$80AA29 |
SEC ;$80AA2A |
ADC $32 ;$80AA2B |
TAX ;$80AA2D |
LDA #$0000 ;$80AA2E |
CODE_80AA31: ; |
STA $7E8015,x ;$80AA31 |
CODE_80AA35: ; |
LDA $0613 ;$80AA35 |
BIT #$0008 ;$80AA38 |
BEQ CODE_80AA63 ;$80AA3B |
LDA $2A ;$80AA3D |
BIT #$0008 ;$80AA3F |
BEQ CODE_80AA63 ;$80AA42 |
LDA #$FF80 ;$80AA44 |
STA $7E801F ;$80AA47 |
LDA $0613 ;$80AA4B |
BIT #$0010 ;$80AA4E |
BEQ CODE_80AA63 ;$80AA51 |
LDA $0615 ;$80AA53 |
ASL A ;$80AA56 |
SEC ;$80AA57 |
ADC $0615 ;$80AA58 |
TAX ;$80AA5B |
LDA #$0000 ;$80AA5C |
STA $7E8015,x ;$80AA5F |
CODE_80AA63: ; |
LDA $0613 ;$80AA63 |
BIT #$0002 ;$80AA66 |
BEQ CODE_80AA79 ;$80AA69 |
LDA $2A ;$80AA6B |
BIT #$0008 ;$80AA6D |
BEQ CODE_80AA79 ;$80AA70 |
LDA #$8000 ;$80AA72 |
STA $7E801F ;$80AA75 |
CODE_80AA79: ; |
LDA $0510 ;$80AA79 |
BIT #$D0C0 ;$80AA7C |
BEQ CODE_80AA89 ;$80AA7F |
LDA $0512 ;$80AA81 |
CMP #$000F ;$80AA84 |
BEQ CODE_80AA8C ;$80AA87 |
CODE_80AA89: ; |
JMP CODE_80AB58 ;$80AA89 /
CODE_80AA8C:
LDA $0611 ;$80AA8C \
CMP #$0005 ;$80AA8F |
BNE CODE_80AA97 ;$80AA92 |
JMP CODE_80AB3B ;$80AA94 /
CODE_80AA97:
CMP #$0003 ;$80AA97 \
BEQ CODE_80AB0D ;$80AA9A |
CMP #$0004 ;$80AA9C |
BEQ CODE_80AAB8 ;$80AA9F |
CMP #$0006 ;$80AAA1 |
BEQ CODE_80AAD1 ;$80AAA4 |
LDA $0613 ;$80AAA6 |
BIT #$0008 ;$80AAA9 |
BEQ CODE_80AAFC ;$80AAAC |
BIT #$0010 ;$80AAAE |
BEQ CODE_80AAE7 ;$80AAB1 |
JSR CODE_80ABA0 ;$80AAB3 |
BRA CODE_80AA89 ;$80AAB6 /
CODE_80AAB8:
LDA #$0634 ;$80AAB8 \
JSL CODE_B58021 ;$80AABB |
LDA $0617 ;$80AABF |
EOR #$0001 ;$80AAC2 |
STA $0617 ;$80AAC5 |
LDA #$0080 ;$80AAC8 |
STA $0613 ;$80AACB |
JMP CODE_80AB58 ;$80AACE /
CODE_80AAD1:
LDA #$0634 ;$80AAD1 \
JSL CODE_B58021 ;$80AAD4 |
LDA $1E ;$80AAD8 |
EOR #$0001 ;$80AADA |
STA $1E ;$80AADD |
LDA #$0100 ;$80AADF |
STA $0613 ;$80AAE2 |
BRA CODE_80AB58 ;$80AAE5 /
CODE_80AAE7:
LDA #$0010 ;$80AAE7 \
TSB $0613 ;$80AAEA |
LDA #$0634 ;$80AAED |
JSL CODE_B58021 ;$80AAF0 |
LDA $0611 ;$80AAF4 |
STA $0615 ;$80AAF7 |
BRA CODE_80AB58 ;$80AAFA /
CODE_80AAFC:
BIT #$0002 ;$80AAFC \
BEQ CODE_80AB2C ;$80AAFF |
LDA #$0634 ;$80AB01 |
JSL CODE_B58021 ;$80AB04 |
JSR CODE_80AB7B ;$80AB08 |
BRA CODE_80AB58 ;$80AB0B /
CODE_80AB0D:
LDA #$0634 ;$80AB0D \
JSL CODE_B58021 ;$80AB10 |
LDA $0613 ;$80AB14 |
BIT #$0008 ;$80AB17 |
BEQ CODE_80AB24 ;$80AB1A |
LDA #$0078 ;$80AB1C |
TRB $0613 ;$80AB1F |
BRA CODE_80AB58 ;$80AB22 /
CODE_80AB24:
LDA #$0008 ;$80AB24 \
STA $0613 ;$80AB27 |
BRA CODE_80AB58 ;$80AB2A /
CODE_80AB2C:
LDA #$0634 ;$80AB2C \
JSL CODE_B58021 ;$80AB2F |
LDA #$820F ;$80AB33 |
STA $0512 ;$80AB36 |
BRA CODE_80AB58 ;$80AB39 /
CODE_80AB3B:
LDA #$0634 ;$80AB3B \
JSL CODE_B58021 ;$80AB3E |
LDA $0613 ;$80AB42 |
BIT #$0002 ;$80AB45 |
BEQ CODE_80AB52 ;$80AB48 |
LDA #$0006 ;$80AB4A |
TRB $0613 ;$80AB4D |
BRA CODE_80AB58 ;$80AB50 /
CODE_80AB52:
LDA #$0002 ;$80AB52 \
STA $0613 ;$80AB55 |
CODE_80AB58: ; |
JSR CODE_80B061 ;$80AB58 |
INC $2A ;$80AB5B |
LDA $0512 ;$80AB5D |
CMP #$8201 ;$80AB60 |
BNE CODE_80AB70 ;$80AB63 |
LDA $0613 ;$80AB65 |
BNE CODE_80AB6D ;$80AB68 |
JMP CODE_80ABEE ;$80AB6A /
CODE_80AB6D:
JMP CODE_8090BB ;$80AB6D /
CODE_80AB70:
JSR CODE_808CAC ;$80AB70 \
LDA #CODE_80A86C ;$80AB73 |
STA $20 ;$80AB76 |
CODE_80AB78: ; |
WAI ;$80AB78 |
BRA CODE_80AB78 ;$80AB79 /
CODE_80AB7B:
LDA $0611 ;$80AB7B \
ASL A ;$80AB7E |
TAX ;$80AB7F |
LDA.l DATA_80ABE8,x ;$80AB80 |
STA $32 ;$80AB84 |
LDA #$00B0 ;$80AB86 |
STA $34 ;$80AB89 |
LDY #$0000 ;$80AB8B |
LDA [$32],y ;$80AB8E |
INC A ;$80AB90 |
STA [$32],y ;$80AB91 |
LDA #$0004 ;$80AB93 |
TSB $0613 ;$80AB96 |
LDA $0611 ;$80AB99 |
JSR CODE_80ACA5 ;$80AB9C |
RTS ;$80AB9F /
CODE_80ABA0:
LDA $0611 ;$80ABA0 \
JSL CODE_BBC53A ;$80ABA3 |
BCS CODE_80ABE7 ;$80ABA7 |
LDA #$0634 ;$80ABA9 |
JSL CODE_B58021 ;$80ABAC |
LDA $0611 ;$80ABB0 |
ASL A ;$80ABB3 |
TAX ;$80ABB4 |
LDA.l DATA_80ABE8,x ;$80ABB5 |
STA $32 ;$80ABB9 |
LDA #$00B0 ;$80ABBB |
STA $34 ;$80ABBE |
LDA $0615 ;$80ABC0 |
ASL A ;$80ABC3 |
TAX ;$80ABC4 |
LDA.l DATA_80ABE8,x ;$80ABC5 |
STA $36 ;$80ABC9 |
LDA #$00B0 ;$80ABCB |
STA $38 ;$80ABCE |
LDY #$02A6 ;$80ABD0 |
CODE_80ABD3: ; |
LDA [$36],y ;$80ABD3 |
STA [$32],y ;$80ABD5 |
DEY ;$80ABD7 |
DEY ;$80ABD8 |
BPL CODE_80ABD3 ;$80ABD9 |
LDA $0611 ;$80ABDB |
JSR CODE_80ACA5 ;$80ABDE |
LDA #$0020 ;$80ABE1 |
TSB $0613 ;$80ABE4 |
CODE_80ABE7: ; |
RTS ;$80ABE7 /
DATA_80ABE8:
db $08, $60, $B0, $62, $58, $65
CODE_80ABEE:
LDA $0611 ;$80ABEE \
JSL CODE_BBC53A ;$80ABF1 |
BCC CODE_80AC1C ;$80ABF5 |
LDA $0611 ;$80ABF7 |
ASL A ;$80ABFA |
TAX ;$80ABFB |
LDA.l DATA_80ABE8,x ;$80ABFC |
STA $32 ;$80AC00 |
LDA #$00B0 ;$80AC02 |
STA $34 ;$80AC05 |
PEA $807E ;$80AC07 |
PLB ;$80AC0A |
LDY #$02A8 ;$80AC0B |
CODE_80AC0E: ; |
LDA [$32],y ;$80AC0E |
STA $56CA,y ;$80AC10 |
DEY ;$80AC13 |
DEY ;$80AC14 |
BPL CODE_80AC0E ;$80AC15 |
PLB ;$80AC17 |
JML CODE_808F04 ;$80AC18 /
CODE_80AC1C:
JML CODE_8097CD ;$80AC1C /
DATA_80AC20:
db $00, $00, $01, $02, $05, $02, $03
DATA_80AC27:
db $01, $02, $03, $06, $04, $04, $06
DATA_80AC2E:
db $00, $01, $02, $03, $06, $03, $06
DATA_80AC35:
db $00, $01, $02, $05, $04, $05, $04
CODE_80AC3C:
LDA $0617 ;$80AC3C \
ASL A ;$80AC3F |
TAX ;$80AC40 |
LDA.l DATA_ED7447,x ;$80AC41 |
TAX ;$80AC45 |
LDY #$00ED ;$80AC46 |
LDA #$7731 ;$80AC49 |
JSR CODE_80AF83 ;$80AC4C |
RTS ;$80AC4F /
CODE_80AC50:
LDA $1E ;$80AC50 \
ASL A ;$80AC52 |
TAX ;$80AC53 |
LDA.l DATA_ED7893,x ;$80AC54 |
TAX ;$80AC58 |
LDY #$00ED ;$80AC59 |
LDA #$7723 ;$80AC5C |
JSR CODE_80AF83 ;$80AC5F |
RTS ;$80AC62 /
CODE_80AC63:
LDA #$00B0 ;$80AC63 \
STA $56 ;$80AC66 |
LDA #$0000 ;$80AC68 |
JSR CODE_80ACA5 ;$80AC6B |
LDA #$6008 ;$80AC6E |
STA $54 ;$80AC71 |
LDA #$74A2 ;$80AC73 |
LDX #$0000 ;$80AC76 |
JSR CODE_80ACB6 ;$80AC79 |
LDA #$0001 ;$80AC7C |
JSR CODE_80ACA5 ;$80AC7F |
LDA #$62B0 ;$80AC82 |
STA $54 ;$80AC85 |
LDA #$7542 ;$80AC87 |
LDX #$0001 ;$80AC8A |
JSR CODE_80ACB6 ;$80AC8D |
LDA #$0002 ;$80AC90 |
JSR CODE_80ACA5 ;$80AC93 |
LDA #$6558 ;$80AC96 |
STA $54 ;$80AC99 |
LDA #$75E2 ;$80AC9B |
LDX #$0002 ;$80AC9E |
JSR CODE_80ACB6 ;$80ACA1 |
RTS ;$80ACA4 /
CODE_80ACA5:
PHX ;$80ACA5 \
PHY ;$80ACA6 |
JSL CODE_BBC53A ;$80ACA7 |
LDA #$0000 ;$80ACAB |
ADC #$0000 ;$80ACAE |
STA $50 ;$80ACB1 |
PLY ;$80ACB3 |
PLX ;$80ACB4 |
RTS ;$80ACB5 /
CODE_80ACB6:
STA $32 ;$80ACB6 \
STX $3C ;$80ACB8 |
TXA ;$80ACBA |
LDA $50 ;$80ACBB |
BNE CODE_80AD00 ;$80ACBD |
LDA #$3208 ;$80ACBF |
STA $34 ;$80ACC2 |
LDA #$3880 ;$80ACC4 |
LDX $3C ;$80ACC7 |
CODE_80ACC9: ; |
BEQ CODE_80ACD2 ;$80ACC9 |
CLC ;$80ACCB |
ADC #$2800 ;$80ACCC |
DEX ;$80ACCF |
BRA CODE_80ACC9 ;$80ACD0 /
CODE_80ACD2:
STA $36 ;$80ACD2 \
LDA $3C ;$80ACD4 |
ASL A ;$80ACD6 |
ASL A ;$80ACD7 |
ASL A ;$80ACD8 |
ASL A ;$80ACD9 |
TAX ;$80ACDA |
JSR CODE_80A82B ;$80ACDB |
TXA ;$80ACDE |
CLC ;$80ACDF |
ADC #$0030 ;$80ACE0 |
TAX ;$80ACE3 |
LDA $36 ;$80ACE4 |
CLC ;$80ACE6 |
ADC #$0028 ;$80ACE7 |
STA $36 ;$80ACEA |
LDA #$3008 ;$80ACEC |
STA $34 ;$80ACEF |
JSR CODE_80A82B ;$80ACF1 |
LDA $32 ;$80ACF4 |
LDX #DATA_ED7717 ;$80ACF6 |
LDY.w #DATA_ED7717>>16 ;$80ACF9 |
JSR CODE_80AF83 ;$80ACFC |
RTS ;$80ACFF /
CODE_80AD00:
LDA #$3204 ;$80AD00 \
STA $34 ;$80AD03 |
LDA #$3880 ;$80AD05 |
LDX $3C ;$80AD08 |
CODE_80AD0A: ; |
BEQ CODE_80AD13 ;$80AD0A |
CLC ;$80AD0C |
ADC #$2800 ;$80AD0D |
DEX ;$80AD10 |
BRA CODE_80AD0A ;$80AD11 /
CODE_80AD13:
STA $36 ;$80AD13 \
LDA $3C ;$80AD15 |
ASL A ;$80AD17 |
ASL A ;$80AD18 |
ASL A ;$80AD19 |
ASL A ;$80AD1A |
TAX ;$80AD1B |
JSR CODE_80A82B ;$80AD1C |
TXA ;$80AD1F |
CLC ;$80AD20 |
ADC #$0030 ;$80AD21 |
TAX ;$80AD24 |
LDA $36 ;$80AD25 |
CLC ;$80AD27 |
ADC #$0028 ;$80AD28 |
STA $36 ;$80AD2B |
LDA #$3000 ;$80AD2D |
STA $34 ;$80AD30 |
JSR CODE_80A82B ;$80AD32 |
LDY #$0005 ;$80AD35 |
LDA [$54],y ;$80AD38 |
AND #$00FF ;$80AD3A |
ASL A ;$80AD3D |
TAX ;$80AD3E |
LDA.l DATA_ED7639,x ;$80AD3F |
TAX ;$80AD43 |
LDY #$00ED ;$80AD44 |
LDA $32 ;$80AD47 |
JSR CODE_80AF83 ;$80AD49 |
LDA $32 ;$80AD4C |
SEC ;$80AD4E |
SBC #$0058 ;$80AD4F |
STA $32 ;$80AD52 |
LDY #$0005 ;$80AD54 |
LDA [$54],y ;$80AD57 |
AND #$00FF ;$80AD59 |
CMP #$0002 ;$80AD5C |
BNE CODE_80AD88 ;$80AD5F |
LDA $54 ;$80AD61 |
CLC ;$80AD63 |
ADC #$0006 ;$80AD64 |
STA $54 ;$80AD67 |
LDA $32 ;$80AD69 |
SEC ;$80AD6B |
SBC #$0020 ;$80AD6C |
STA $32 ;$80AD6F |
JSR CODE_80AD94 ;$80AD71 |
LDA $32 ;$80AD74 |
SEC ;$80AD76 |
SBC #$0013 ;$80AD77 |
STA $32 ;$80AD7A |
LDA $54 ;$80AD7C |
CLC ;$80AD7E |
ADC #$014E ;$80AD7F |
STA $54 ;$80AD82 |
JSR CODE_80AD94 ;$80AD84 |
RTS ;$80AD87 /
CODE_80AD88:
LDA $54 ;$80AD88 \
CLC ;$80AD8A |
ADC #$0006 ;$80AD8B |
STA $54 ;$80AD8E |
JSR CODE_80AD94 ;$80AD90 |
RTS ;$80AD93 /
CODE_80AD94:
LDA $32 ;$80AD94 \
PHA ;$80AD96 |
LDY #$0000 ;$80AD97 |
LDA [$54],y ;$80AD9A |
STA $32 ;$80AD9C |
LDY #$0002 ;$80AD9E |
LDA [$54],y ;$80ADA1 |
STA $34 ;$80ADA3 |
CMP #$0149 ;$80ADA5 |
BEQ CODE_80ADAE ;$80ADA8 |
BCC CODE_80ADBF ;$80ADAA |
BRA CODE_80ADB5 ;$80ADAC /
CODE_80ADAE:
LDA $32 ;$80ADAE \
CMP #$88F0 ;$80ADB0 |
BCC CODE_80ADBF ;$80ADB3 |
CODE_80ADB5: ; |
LDA #$0149 ;$80ADB5 |
STA $34 ;$80ADB8 |
LDA #$88F0 ;$80ADBA |
STA $32 ;$80ADBD |
CODE_80ADBF: ; |
LDA $32 ;$80ADBF |
STA $3E ;$80ADC1 |
LDA $34 ;$80ADC3 |
STA $40 ;$80ADC5 |
LDA #$003C ;$80ADC7 |
STA $36 ;$80ADCA |
JSL CODE_B3F42D ;$80ADCC |
LDA $38 ;$80ADD0 |
STA $32 ;$80ADD2 |
LDA $3A ;$80ADD4 |
STA $34 ;$80ADD6 |
LDA #$003C ;$80ADD8 |
STA $36 ;$80ADDB |
JSL CODE_B3F42D ;$80ADDD |
LDA $38 ;$80ADE1 |
STA $32 ;$80ADE3 |
LDA $3A ;$80ADE5 |
STA $34 ;$80ADE7 |
LDA #$003C ;$80ADE9 |
STA $36 ;$80ADEC |
JSL CODE_B3F42D ;$80ADEE |
PLA ;$80ADF2 |
STA $32 ;$80ADF3 |
LDA $38 ;$80ADF5 |
ASL A ;$80ADF7 |
TAX ;$80ADF8 |
LDA.l DATA_B3DE2C,x ;$80ADF9 |
AND #$00FF ;$80ADFD |
JSR CODE_80AF53 ;$80AE00 |
LDA $38 ;$80AE03 |
SEC ;$80AE05 |
ROL A ;$80AE06 |
TAX ;$80AE07 |
LDA.l DATA_B3DE2C,x ;$80AE08 |
AND #$00FF ;$80AE0C |
JSR CODE_80AF53 ;$80AE0F |
LDA #$000A ;$80AE12 |
JSR CODE_80AF53 ;$80AE15 |
LDA $32 ;$80AE18 |
PHA ;$80AE1A |
LDA $38 ;$80AE1B |
SEP #$20 ;$80AE1D |
STA $211C ;$80AE1F |
LDA #$78 ;$80AE22 |
STA $211B ;$80AE24 |
LDA #$69 ;$80AE27 |
STA $211B ;$80AE29 |
REP #$20 ;$80AE2C |
LDA $2134 ;$80AE2E |
STA $32 ;$80AE31 |
LDA $2136 ;$80AE33 |
AND #$00FF ;$80AE36 |
ASL $32 ;$80AE39 |
ROL A ;$80AE3B |
ASL $32 ;$80AE3C |
ROL A ;$80AE3E |
ASL $32 ;$80AE3F |
ROL A ;$80AE41 |
STA $34 ;$80AE42 |
LDA $3E ;$80AE44 |
SEC ;$80AE46 |
SBC $32 ;$80AE47 |
STA $32 ;$80AE49 |
LDA $40 ;$80AE4B |
SBC $34 ;$80AE4D |
STA $34 ;$80AE4F |
LDA #$003C ;$80AE51 |
STA $36 ;$80AE54 |
JSL CODE_B3F42D ;$80AE56 |
LDA $38 ;$80AE5A |
STA $32 ;$80AE5C |
LDA $3A ;$80AE5E |
STA $34 ;$80AE60 |
LDA #$003C ;$80AE62 |
STA $36 ;$80AE65 |
JSL CODE_B3F42D ;$80AE67 |
PLA ;$80AE6B |
STA $32 ;$80AE6C |
LDA $38 ;$80AE6E |
ASL A ;$80AE70 |
TAX ;$80AE71 |
LDA.l DATA_B3DE2C,x ;$80AE72 |
JSR CODE_80AF53 ;$80AE76 |
LDA $38 ;$80AE79 |
SEC ;$80AE7B |
ROL A ;$80AE7C |
TAX ;$80AE7D |
LDA.l DATA_B3DE2C,x ;$80AE7E |
AND #$00FF ;$80AE82 |
JSR CODE_80AF53 ;$80AE85 |
INC $32 ;$80AE88 |
INC $32 ;$80AE8A |
INC $32 ;$80AE8C |
LDY #$0005 ;$80AE8E |
LDA [$54],y ;$80AE91 |
AND #$00FF ;$80AE93 |
ASL A ;$80AE96 |
TAX ;$80AE97 |
LDA.l DATA_B3DE2C,x ;$80AE98 |
JSR CODE_80AF53 ;$80AE9C |
LDY #$0005 ;$80AE9F |
LDA [$54],y ;$80AEA2 |
AND #$00FF ;$80AEA4 |
SEC ;$80AEA7 |
ROL A ;$80AEA8 |
TAX ;$80AEA9 |
LDA.l DATA_B3DE2C,x ;$80AEAA |
JSR CODE_80AF53 ;$80AEAE |
INC $32 ;$80AEB1 |
INC $32 ;$80AEB3 |
INC $32 ;$80AEB5 |
LDY #$0006 ;$80AEB7 |
LDA [$54],y ;$80AEBA |
AND #$00FF ;$80AEBC |
ASL A ;$80AEBF |
TAX ;$80AEC0 |
LDA.l DATA_B3DE2C,x ;$80AEC1 |
JSR CODE_80AF53 ;$80AEC5 |
LDY #$0006 ;$80AEC8 |
LDA [$54],y ;$80AECB |
AND #$00FF ;$80AECD |
SEC ;$80AED0 |
ROL A ;$80AED1 |
TAX ;$80AED2 |
LDA.l DATA_B3DE2C,x ;$80AED3 |
JSR CODE_80AF53 ;$80AED7 |
INC $32 ;$80AEDA |
LDY #$0004 ;$80AEDC |
LDA [$54],y ;$80AEDF |
AND #$00FF ;$80AEE1 |
CMP #$0064 ;$80AEE4 |
BCC CODE_80AF19 ;$80AEE7 |
LDA #$0001 ;$80AEE9 |
JSR CODE_80AF53 ;$80AEEC |
LDY #$0004 ;$80AEEF |
LDA [$54],y ;$80AEF2 |
AND #$00FF ;$80AEF4 |
SEC ;$80AEF7 |
SBC #$0064 ;$80AEF8 |
ASL A ;$80AEFB |
TAX ;$80AEFC |
LDA.l DATA_B3DE2C,x ;$80AEFD |
JSR CODE_80AF53 ;$80AF01 |
LDY #$0004 ;$80AF04 |
LDA [$54],y ;$80AF07 |
AND #$00FF ;$80AF09 |
SEC ;$80AF0C |
SBC #$0064 ;$80AF0D |
SEC ;$80AF10 |
ROL A ;$80AF11 |
TAX ;$80AF12 |
LDA.l DATA_B3DE2C,x ;$80AF13 |
BRA CODE_80AF44 ;$80AF17 /
CODE_80AF19:
LDA #$000C ;$80AF19 \
JSR CODE_80AF53 ;$80AF1C |
LDY #$0004 ;$80AF1F |
LDA [$54],y ;$80AF22 |
AND #$00FF ;$80AF24 |
ASL A ;$80AF27 |
TAX ;$80AF28 |
LDA.l DATA_B3DE2C,x ;$80AF29 |
BNE CODE_80AF32 ;$80AF2D |
LDA #$000C ;$80AF2F |
CODE_80AF32: ; |
JSR CODE_80AF53 ;$80AF32 |
LDY #$0004 ;$80AF35 |
LDA [$54],y ;$80AF38 |
AND #$00FF ;$80AF3A |
SEC ;$80AF3D |
ROL A ;$80AF3E |
TAX ;$80AF3F |
LDA.l DATA_B3DE2C,x ;$80AF40 |
CODE_80AF44: ; |
JSR CODE_80AF53 ;$80AF44 |
LDX #DATA_ED7889 ;$80AF47 |
LDY.w #DATA_ED7889>>16 ;$80AF4A |
LDA $32 ;$80AF4D |
JSR CODE_80AF83 ;$80AF4F |
RTS ;$80AF52 /
CODE_80AF53:
AND #$00FF ;$80AF53 \
ASL A ;$80AF56 |
TAX ;$80AF57 |
LDA.l DATA_ED783B,x ;$80AF58 |
STA $34 ;$80AF5C |
LDA #$00ED ;$80AF5E |
STA $36 ;$80AF61 |
LDY #$0000 ;$80AF63 |
LDA $32 ;$80AF66 |
STA $2116 ;$80AF68 |
LDA [$34],y ;$80AF6B |
STA $2118 ;$80AF6D |
LDA $32 ;$80AF70 |
CLC ;$80AF72 |
ADC #$0020 ;$80AF73 |
STA $2116 ;$80AF76 |
INY ;$80AF79 |
INY ;$80AF7A |
LDA [$34],y ;$80AF7B |
STA $2118 ;$80AF7D |
INC $32 ;$80AF80 |
RTS ;$80AF82 /
CODE_80AF83:
STA $32 ;$80AF83 \
STX $34 ;$80AF85 |
STY $36 ;$80AF87 |
LDY #$0000 ;$80AF89 |
LDA [$34],y ;$80AF8C |
AND #$00FF ;$80AF8E |
STA $38 ;$80AF91 |
INY ;$80AF93 |
LDA [$34],y ;$80AF94 |
AND #$00FF ;$80AF96 |
STA $3A ;$80AF99 |
INY ;$80AF9B |
LDA $32 ;$80AF9C |
CODE_80AF9E: ; |
STA $2116 ;$80AF9E |
LDX $38 ;$80AFA1 |
CODE_80AFA3: ; |
LDA [$34],y ;$80AFA3 |
STA $2118 ;$80AFA5 |
INY ;$80AFA8 |
INY ;$80AFA9 |
DEX ;$80AFAA |
BNE CODE_80AFA3 ;$80AFAB |
LDA $32 ;$80AFAD |
CLC ;$80AFAF |
ADC #$0020 ;$80AFB0 |
STA $32 ;$80AFB3 |
DEC $3A ;$80AFB5 |
BNE CODE_80AF9E ;$80AFB7 |
RTS ;$80AFB9 /
upload_mode_7_tilemap: ; \
STA $34 ;$80AFBA |\ Set pointer to mode 7 tilemap data
STX $36 ;$80AFBC |/
STZ $39 ;$80AFBE | Clear the
SEP #$20 ;$80AFC0 |
STZ $2115 ;$80AFC2 | Set VRAM increment after $2118 writes
REP #$20 ;$80AFC5 |
LDY #$0000 ;$80AFC7 | Clear the index that will be used for mode 7 tilemap data
LDA [$34],y ;$80AFCA |\ Load the column and row lengths
STA $38 ;$80AFCC |/
INY ;$80AFCE |\ Advanced passed the column and row lengths
INY ;$80AFCF |/
.next_row ; |
LDA $32 ;$80AFD0 |\ Set VRAM address
STA $2116 ;$80AFD2 |/
LDA $38 ;$80AFD5 |\ Load the number of columns per row
AND #$00FF ;$80AFD7 | |
TAX ;$80AFDA |/
.next_column ; |
SEP #$20 ;$80AFDB |
LDA [$34],y ;$80AFDD |\ Copy one byte of mode 7 tilemap data to VRAM
STA $2118 ;$80AFDF |/
REP #$20 ;$80AFE2 |
INY ;$80AFE4 | Advance index to mode 7 tilemap data
DEX ;$80AFE5 |\ Decrement the column counter
BNE .next_column ;$80AFE6 |/ Branch until all columns are uploaded
LDA $32 ;$80AFE8 |\ Advance VRAM address to the next row of tiles
CLC ;$80AFEA | |
ADC #$0080 ;$80AFEB | |
STA $32 ;$80AFEE |/
DEC $39 ;$80AFF0 |\ Decrement row count
BNE .next_row ;$80AFF2 |/ Branch until all rows are uploaded
SEP #$20 ;$80AFF4 |
LDA #$80 ;$80AFF6 |\ Set VRAM increment after $2119 writes
STA $2115 ;$80AFF8 |/
REP #$20 ;$80AFFB |
RTS ;$80AFFD /
CODE_80AFFE:
STZ $4C ;$80AFFE \
LDA $0502 ;$80B000 |
AND #$0007 ;$80B003 |
BEQ CODE_80B01D ;$80B006 |
SEP #$20 ;$80B008 |
LDY #$0010 ;$80B00A |
CODE_80B00D: ; |
LDA $4016 ;$80B00D |
DEY ;$80B010 |
BNE CODE_80B00D ;$80B011 |
REP #$20 ;$80B013 |
STZ $0502 ;$80B015 |
STZ $0506 ;$80B018 |
BRA CODE_80B02F ;$80B01B /
CODE_80B01D:
SEP #$20 ;$80B01D \
LDA $4016 ;$80B01F |
REP #$20 ;$80B022 |
BIT #$0001 ;$80B024 |
BNE CODE_80B02F ;$80B027 |
STZ $0502 ;$80B029 |
STZ $0506 ;$80B02C |
CODE_80B02F: ; |
LDA $0504 ;$80B02F |
AND #$0007 ;$80B032 |
BEQ CODE_80B04C ;$80B035 |
SEP #$20 ;$80B037 |
LDY #$0010 ;$80B039 |
CODE_80B03C: ; |
LDA $4017 ;$80B03C |
DEY ;$80B03F |
BNE CODE_80B03C ;$80B040 |
REP #$20 ;$80B042 |
STZ $0504 ;$80B044 |
STZ $0508 ;$80B047 |
BRA CODE_80B05E ;$80B04A /
CODE_80B04C:
SEP #$20 ;$80B04C \
LDA $4017 ;$80B04E |
REP #$20 ;$80B051 |
BIT #$0001 ;$80B053 |
BNE CODE_80B060 ;$80B056 |
STZ $0504 ;$80B058 |
STZ $0508 ;$80B05B |
CODE_80B05E: ; |
INC $4C ;$80B05E |
CODE_80B060: ; |
RTS ;$80B060 /
CODE_80B061:
SEP #$20 ;$80B061 \
LDA #$01 ;$80B063 |
CODE_80B065: ; |
BIT $4212 ;$80B065 |
BNE CODE_80B065 ;$80B068 |
REP #$20 ;$80B06A |
LDA $4218 ;$80B06C |
EOR $0502 ;$80B06F |
AND $4218 ;$80B072 |
STA $0506 ;$80B075 |
LDA $4218 ;$80B078 |
STA $0502 ;$80B07B |
LDA $421A ;$80B07E |
EOR $0504 ;$80B081 |
AND $421A ;$80B084 |
STA $0508 ;$80B087 |
LDA $421A ;$80B08A |
STA $0504 ;$80B08D |
JSR CODE_80AFFE ;$80B090 |
LDA $060D ;$80B093 |
CMP #$0002 ;$80B096 |
BNE CODE_80B0B1 ;$80B099 |
LDA $060F ;$80B09B |
ASL A ;$80B09E |
TAX ;$80B09F |
LDA $0502,x ;$80B0A0 |
STA $050E ;$80B0A3 |
LDA $0506,x ;$80B0A6 |
STA $0510 ;$80B0A9 |
JSR CODE_80B0DB ;$80B0AC |
BRA CODE_80B0DA ;$80B0AF /
CODE_80B0B1:
CMP #$0001 ;$80B0B1 \
BNE CODE_80B0CE ;$80B0B4 |
LDA $08A2 ;$80B0B6 |
AND #$0002 ;$80B0B9 |
TAX ;$80B0BC |
LDA $0502,x ;$80B0BD |
STA $050E ;$80B0C0 |
LDA $0506,x ;$80B0C3 |
STA $0510 ;$80B0C6 |
JSR CODE_80B0DB ;$80B0C9 |
BRA CODE_80B0DA ;$80B0CC /
CODE_80B0CE:
LDA $0502 ;$80B0CE \
STA $050E ;$80B0D1 |
LDA $0506 ;$80B0D4 |
STA $0510 ;$80B0D7 |
CODE_80B0DA: ; |
RTS ;$80B0DA /
CODE_80B0DB:
LDA $0502 ;$80B0DB \
ORA $0504 ;$80B0DE |
STA $0502 ;$80B0E1 |
LDA $0506 ;$80B0E4 |
ORA $0508 ;$80B0E7 |
STA $0506 ;$80B0EA |
RTS ;$80B0ED /
CODE_80B0EE:
STA $20 ;$80B0EE \
SEP #$20 ;$80B0F0 |
LDA $4210 ;$80B0F2 |
CODE_80B0F5: ; |
LDA $4210 ;$80B0F5 |
AND #$80 ;$80B0F8 |
BNE CODE_80B0F5 ;$80B0FA |
SEP #$20 ;$80B0FC |
LDA #$B1 ;$80B0FE |
STA $4200 ;$80B100 |
STZ $4016 ;$80B103 |
CODE_80B106: ; |
WAI ;$80B106 |
BRA CODE_80B106 ;$80B107 /
clear_VRAM_block:
STA $2116 ;$80B109 \ Store address to VRAM block to clear
LDA #.VRAM_zero_fill ;$80B10C |\ Set DMA source word (uses low byte of size as fixed data)
STA $4302 ;$80B10F | |
STA $4308 ;$80B112 |/
%offset(.VRAM_zero_fill, 1) ; | Generate a label for fixed VRAM data
LDA #$0800 ;$80B115 |\ Set DMA size to $0800
STA $4305 ;$80B118 |/
LDA #$1809 ;$80B11B |\ Set DMA destination to $2118, two register write once, fixed
STA $4300 ;$80B11E |/
SEP #$20 ;$80B121 |
STZ $4304 ;$80B123 | Set DMA source bank to 00.
LDA #$01 ;$80B126 |\ Enable channel 1 DMA
STA $420B ;$80B128 |/
REP #$20 ;$80B12B |
RTS ;$80B12D / VRAM block is clear, return
DATA_80B12E:
db $00, $17, $1B, $1F, $00, $0C, $11, $17
db $00, $07, $0C, $11, $00, $02, $03, $07
CODE_80B13E:
SEP #$20 ;$80B13E \
LDA $2F ;$80B140 |
PHA ;$80B142 |
ASL A ;$80B143 |
LDA $30 ;$80B144 |
ROL $30 ;$80B146 |
ROL $30 ;$80B148 |
EOR $31 ;$80B14A |
STA $2F ;$80B14C |
PLA ;$80B14E |
STA $31 ;$80B14F |
EOR $30 ;$80B151 |
PHA ;$80B153 |
LDA $2E ;$80B154 |
STA $30 ;$80B156 |
PLA ;$80B158 |
STA $2E ;$80B159 |
REP #$20 ;$80B15B |
RTS ;$80B15D /
update_mode_7:
SEP #$30 ;$80B15E \
JSR .scale_and_rotate ;$80B160 | Apply scale and rotation transformations
LDA $86 ;$80B163 |\ Write mode 7 matrix A parameter
STA $211B ;$80B165 | |
LDA $87 ;$80B168 | |
STA $211B ;$80B16A |/
LDA $82 ;$80B16D |\ Write mode 7 matrix B parameter
STA $211C ;$80B16F | |
LDA $83 ;$80B172 | |
STA $211C ;$80B174 |/
LDA $80 ;$80B177 |\ Write mode 7 matrix C parameter
STA $211D ;$80B179 | |
LDA $81 ;$80B17C | |
STA $211D ;$80B17E |/
LDA $7E ;$80B181 |\ Write mode 7 matrix D parameter
STA $211E ;$80B183 | |
LDA $7F ;$80B186 | |
STA $211E ;$80B188 |/
REP #$30 ;$80B18B |
RTL ;$80B18D /
.scale_and_rotate ; \
LDY $7C ;$80B18E |\ Load horizontal scale
LDX $7D ;$80B190 |/
LDA $84 ;$80B192 | Load rotation amount
JSR .multiply_cos ;$80B194 | Multiply scale by the cos of the rotation amount
STY $86 ;$80B197 |\ Store mode 7 parameter A
STX $87 ;$80B199 |/
LDY $7C ;$80B19B |\ Load horizontal scale
LDX $7D ;$80B19D |/
LDA $84 ;$80B19F | Load rotation amount
JSR .multiply_sin ;$80B1A1 | Multiply scale by the sin of the rotation amount
STY $82 ;$80B1A4 |\ Store mode 7 parameter B
STX $83 ;$80B1A6 |/
LDY $7A ;$80B1A8 |\ Load vertical scale
LDX $7B ;$80B1AA |/
LDA $84 ;$80B1AC | Load rotation amount
JSR .multiply_sin ;$80B1AE | Multiply scale by the sin of the rotation amount
TYA ;$80B1B1 |\ Flip the sign of the parameter C and store
EOR #$FF ;$80B1B2 | |\ Xor the low and high byte with $FF to flip the sign
STA $80 ;$80B1B4 | | | Store the parameter low byte
TXA ;$80B1B6 | | |
EOR #$FF ;$80B1B7 | | | Store the parameter high byte
STA $81 ;$80B1B9 | |/
INC $80 ;$80B1BB | |\ Increment to finish sign flip
BNE .skip_negative_carry ;$80B1BD | | | Branch if the low byte wasn't overflowed
INC $81 ;$80B1BF | |/
.skip_negative_carry ; |/
LDY $7A ;$80B1C1 |\ Load vertical scale
LDX $7B ;$80B1C3 |/
LDA $84 ;$80B1C5 | Load rotation amount
JSR .multiply_cos ;$80B1C7 | Multiply scale by the cos of the rotation amount
STY $7E ;$80B1CA |\ Store mode 7 parameter D
STX $7F ;$80B1CC |/
RTS ;$80B1CE /
.multiply_sin ; \
STY $211B ;$80B1CF |\ Store scale as muliplication operand
STX $211B ;$80B1D2 |/
JSR .get_sin ;$80B1D5 | Lookup sin from rotation amount
BCS ..optimize_90_degrees ;$80B1D8 | If carry is set, rotation by 90 degrees (1), skip multiply
STA $211C ;$80B1DA | Store sin of the rotation amount as muliplication operand
LDA $2134 ;$80B1DD |\ Bit shift the long returned left by 1.
ASL A ;$80B1E0 | | This shift improves accuracy when scale isn't very large
LDA $2135 ;$80B1E1 | |
ROL A ;$80B1E4 | |
TAY ;$80B1E5 | | Move the low byte to Y
LDA $2136 ;$80B1E6 | |
ROL A ;$80B1E9 | |
TAX ;$80B1EA | | Move the high byte to X
..optimize_90_degrees ; |/
RTS ;$80B1EB / return scaled sin
.multiply_cos ; \
STY $211B ;$80B1EC |\ Store scale as muliplication operand
STX $211B ;$80B1EF |/
JSR .get_cos ;$80B1F2 | Lookup cos from rotation amount
BCS ..optimize_90_degress ;$80B1F5 | If carry is set, rotation by 90 degrees (1), skip multiply
STA $211C ;$80B1F7 | Store cos of the rotation amount as muliplication operand
LDA $2134 ;$80B1FA |\ Bit shift the long returned left by 1.
ASL A ;$80B1FD | | This shift improves accuracy when scale isn't very large
LDA $2135 ;$80B1FE | |
ROL A ;$80B201 | |
TAY ;$80B202 | | Move the low byte to Y
LDA $2136 ;$80B203 | |
ROL A ;$80B206 | |
TAX ;$80B207 | | Move the high byte to X
..optimize_90_degress ; |/
RTS ;$80B208 / return scaled cos
.get_cos ; \
CLC ;$80B209 |\ Offset rotation amount to index cos instead of sin
ADC #$40 ;$80B20A |/ (Phase shift by 90 degrees)
.get_sin ; |
CMP #$40 ;$80B20C |\ If our rotation amount is #$40 (90 degrees)
BEQ ..optimize_90_degress ;$80B20E |/ Branch and optimize for quicker multiply
TAX ;$80B210 | Turn the rotation into an index
LDA.l DATA_80B217,x ;$80B211 | Preform sin/cos lookup
CLC ;$80B215 | Disable 90 degree optimization
..optimize_90_degress ; |
RTS ;$80B216 / Return with cos/sin
DATA_80B217:
db $00, $03, $06, $09, $0C, $0F, $12, $15
db $18, $1C, $1F, $22, $25, $28, $2B, $2E
db $30, $33, $36, $39, $3C, $3F, $41, $44
db $47, $49, $4C, $4E, $51, $53, $55, $58
db $5A, $5C, $5E, $60, $62, $64, $66, $68
db $6A, $6C, $6D, $6F, $70, $72, $73, $75
db $76, $77, $78, $79, $7A, $7B, $7C, $7C
db $7D, $7E, $7E, $7F, $7F, $7F, $7F, $7F
db $7F, $7F, $7F, $7F, $7F, $7F, $7E, $7E
db $7D, $7C, $7C, $7B, $7A, $79, $78, $77
db $76, $75, $73, $72, $70, $6F, $6D, $6C
db $6A, $68, $66, $64, $62, $60, $5E, $5C
db $5A, $58, $55, $53, $51, $4E, $4C, $49
db $47, $44, $41, $3F, $3C, $39, $36, $33
db $30, $2E, $2B, $28, $25, $22, $1F, $1C
db $18, $15, $12, $0F, $0C, $09, $06, $03
db $00, $FC, $F9, $F6, $F3, $F0, $ED, $EA
db $E7, $E3, $E0, $DD, $DA, $D7, $D4, $D1
db $CF, $CC, $C9, $C6, $C3, $C0, $BE, $BB
db $B8, $B6, $B3, $B1, $AE, $AC, $AA, $A7
db $A5, $A3, $A1, $9F, $9D, $9B, $99, $97
db $95, $93, $92, $90, $8F, $8D, $8C, $8A
db $89, $88, $87, $86, $85, $84, $83, $83
db $82, $81, $81, $80, $80, $80, $80, $80
db $80, $80, $80, $80, $80, $80, $81, $81
db $82, $83, $83, $84, $85, $86, $87, $88
db $89, $8A, $8C, $8D, $8F, $90, $92, $93
db $95, $97, $99, $9B, $9D, $9F, $A1, $A3
db $A5, $A7, $AA, $AC, $AE, $B1, $B3, $B6
db $B8, $BB, $BE, $C0, $C3, $C6, $C9, $CC
db $CF, $D1, $D4, $D7, $DA, $DD, $E0, $E3
db $E7, $EA, $ED, $F0, $F3, $F6, $F9, $FC
DATA_80B317:
db $00
DATA_80B318:
db $00, $01, $01, $01, $04, $03, $09, $05
db $0E, $07, $13, $0C, $19, $0E, $1C, $12
db $1F, $14, $1F, $16, $1F, $18, $1F, $1A
db $1F, $1C, $1F, $1E, $1F, $1F, $1F, $00
db $00, $01, $01, $01, $04, $03, $09, $05
db $0E, $07, $13, $0D, $19, $14, $1F, $15
db $1F, $17, $1F, $18, $1F, $1A, $1F, $1B
db $1F, $1D, $1F, $1E, $1F, $1F, $1F, $00
db $00, $01, $01, $01, $04, $03, $09, $05
db $0E, $07, $13, $09, $16, $0B, $19, $0C
db $1A, $0D, $1B, $0E, $1B, $0F, $1C, $10
db $1D, $11, $1E, $12, $1F, $13, $1F
DATA_80B377:
db $00
DATA_80B378:
db $00
DATA_80B379:
db $00, $00, $00, $02, $03, $02, $01, $09
db $06, $02, $0B, $08, $03, $0E, $09, $03
db $12, $0C, $04, $17, $0F, $05, $1C, $12
db $06, $1D, $14, $09, $1D, $15, $0B, $1E
db $17, $0E, $1F, $18, $11, $1F, $1B, $16
db $1F, $1D, $1B, $1F, $1F, $1F, $00, $00
db $00, $03, $02, $01, $0B, $08, $03, $12
db $0C, $04, $19, $11, $06, $1F, $16, $08
db $1F, $18, $09, $1F, $1B, $0B, $1F, $1B
db $0B, $1F, $1D, $15, $1F, $1F, $1F, $00
db $00, $03, $00, $00, $04, $00, $00, $05
db $00, $00, $06, $00, $01, $07
CODE_80B3D7:
JSL disable_screen ;$80B3D7 \
PHK ;$80B3DB |
PLB ;$80B3DC |
STZ $099B ;$80B3DD |
STZ $060B ;$80B3E0 |
JSR clear_VRAM ;$80B3E3 |
JSL init_registers_wrapper ;$80B3E6 |
JSL CODE_8088D2 ;$80B3EA |
JSL CODE_BB91F7 ;$80B3EE |
LDA #$0002 ;$80B3F2 |
JSL CODE_B5800C ;$80B3F5 |
STZ $2A ;$80B3F9 |
JSR CODE_80B560 ;$80B3FB |
LDA #$55AA ;$80B3FE |
STA $2E ;$80B401 |
LDA #$FF00 ;$80B403 |
STA $30 ;$80B406 |
LDX #$0DE2 ;$80B408 |
LDY #$0000 ;$80B40B |
CODE_80B40E: ; |
LDA #$0001 ;$80B40E |
STA $00,x ;$80B411 |
LDA #$0180 ;$80B413 |
STA $06,x ;$80B416 |
LDA #$FF88 ;$80B418 |
STA $0A,x ;$80B41B |
LDA #$2000 ;$80B41D |
STA $12,x ;$80B420 |
TYA ;$80B422 |
ASL A ;$80B423 |
ASL A ;$80B424 |
ASL A ;$80B425 |
CLC ;$80B426 |
ADC #$0100 ;$80B427 |
STA $1A,x ;$80B42A |
INY ;$80B42C |
TXA ;$80B42D |
CLC ;$80B42E |
ADC #$005E ;$80B42F |
TAX ;$80B432 |
CMP #$0F5A ;$80B433 |
BNE CODE_80B40E ;$80B436 |
SEP #$20 ;$80B438 |
LDA $4211 ;$80B43A |
LDA #$80 ;$80B43D |
STA $2103 ;$80B43F |
LDA #$01 ;$80B442 |
STA $420D ;$80B444 |
REP #$20 ;$80B447 |
LDA #$0400 ;$80B449 |
JSR CODE_808C32 ;$80B44C |
JSR CODE_808CAC ;$80B44F |
LDA #$0001 ;$80B452 |
STA $420B ;$80B455 |
JSR CODE_808CAC ;$80B458 |
LDA #CODE_80B461 ;$80B45B |
JMP CODE_80B0EE ;$80B45E /
CODE_80B461:
LDX #$01FF ;$80B461 \
TXS ;$80B464 |
STZ $2102 ;$80B465 |
SEP #$20 ;$80B468 |
LDA #$01 ;$80B46A |
STA $420B ;$80B46C |
LDA $0512 ;$80B46F |
STA $2100 ;$80B472 |
REP #$20 ;$80B475 |
JSR CODE_80B061 ;$80B477 |
INC $2A ;$80B47A |
LDA $2A ;$80B47C |
AND #$0003 ;$80B47E |
BNE CODE_80B4C6 ;$80B481 |
LDX #$0DE2 ;$80B483 |
CODE_80B486: ; |
LDA $1A,x ;$80B486 |
CLC ;$80B488 |
ADC #$0004 ;$80B489 |
CMP #$0120 ;$80B48C |
BNE CODE_80B4B9 ;$80B48F |
JSR CODE_80B13E ;$80B491 |
AND #$003F ;$80B494 |
STA $32 ;$80B497 |
LSR A ;$80B499 |
LSR A ;$80B49A |
CLC ;$80B49B |
ADC $32 ;$80B49C |
CLC ;$80B49E |
ADC #$0050 ;$80B49F |
STA $06,x ;$80B4A2 |
JSR CODE_80B13E ;$80B4A4 |
AND #$001F ;$80B4A7 |
STA $32 ;$80B4AA |
LSR A ;$80B4AC |
CLC ;$80B4AD |
ADC $32 ;$80B4AE |
CLC ;$80B4B0 |
ADC #$0090 ;$80B4B1 |
STA $0A,x ;$80B4B4 |
LDA #$0100 ;$80B4B6 |
CODE_80B4B9: ; |
STA $1A,x ;$80B4B9 |
TXA ;$80B4BB |
CLC ;$80B4BC |
ADC #$005E ;$80B4BD |
TAX ;$80B4C0 |
CMP #$16B2 ;$80B4C1 |
BNE CODE_80B486 ;$80B4C4 |
CODE_80B4C6: ; |
JSL CODE_B5A8DA ;$80B4C6 |
LDA #$0200 ;$80B4CA |
STA $70 ;$80B4CD |
LDA #$0400 ;$80B4CF |
STA $56 ;$80B4D2 |
STZ $0400 ;$80B4D4 |
STZ $0402 ;$80B4D7 |
STZ $0404 ;$80B4DA |
STZ $0406 ;$80B4DD |
STZ $0408 ;$80B4E0 |
STZ $040A ;$80B4E3 |
STZ $040C ;$80B4E6 |
STZ $040E ;$80B4E9 |
STZ $0410 ;$80B4EC |
STZ $0412 ;$80B4EF |
STZ $0414 ;$80B4F2 |
STZ $0416 ;$80B4F5 |
STZ $0418 ;$80B4F8 |
STZ $041A ;$80B4FB |
STZ $041C ;$80B4FE |
STZ $041E ;$80B501 |
LDA #$001C ;$80B504 |
STA $78 ;$80B507 |
JSL CODE_B59F40 ;$80B509 |
STZ $1730 ;$80B50D |
JSR CODE_8088BA ;$80B510 |
JSR CODE_808CAC ;$80B513 |
LDA $0512 ;$80B516 |
CMP #$000F ;$80B519 |
BNE CODE_80B53F ;$80B51C |
LDA $0502 ;$80B51E |
AND #$D080 ;$80B521 |
BNE CODE_80B52F ;$80B524 |
LDA $2A ;$80B526 |
CMP #$0960 ;$80B528 |
BNE CODE_80B53F ;$80B52B |
BRA CODE_80B532 ;$80B52D /
CODE_80B52F:
INC $099B ;$80B52F \
CODE_80B532: ; |
LDA #$840F ;$80B532 |
JSR CODE_808C32 ;$80B535 |
LDA #$0634 ;$80B538 |
JSL CODE_B58021 ;$80B53B |
CODE_80B53F: ; |
LDA $0512 ;$80B53F |
CMP #$8401 ;$80B542 |
BEQ CODE_80B54D ;$80B545 |
JSR CODE_808C3D ;$80B547 |
CODE_80B54A: ; |
WAI ;$80B54A |
BRA CODE_80B54A ;$80B54B /
CODE_80B54D:
LDA $099B ;$80B54D \
BEQ CODE_80B559 ;$80B550 |
STZ $0613 ;$80B552 |
JML CODE_80A5F1 ;$80B555 /
CODE_80B559:
LDA #CODE_8086F6 ;$80B559 \
JML CODE_808C9E ;$80B55C /
CODE_80B560:
LDA #$0001 ;$80B560 \
STA $2105 ;$80B563 |
LDA #$1001 ;$80B566 |
STA $212C ;$80B569 |
LDA #$0024 ;$80B56C |
STA $210B ;$80B56F |
LDA #$0102 ;$80B572 |
STA $2130 ;$80B575 |
LDA #$4C1C ;$80B578 |
STA $2107 ;$80B57B |
SEP #$20 ;$80B57E |
STZ $210D ;$80B580 |
STZ $210D ;$80B583 |
STZ $210F ;$80B586 |
STZ $210F ;$80B589 |
LDA #$FF ;$80B58C |
STA $210E ;$80B58E |
STA $210E ;$80B591 |
STA $2110 ;$80B594 |
STA $2110 ;$80B597 |
REP #$20 ;$80B59A |
LDX #DATA_ED0997 ;$80B59C |
LDY.w #DATA_ED0997>>16 ;$80B59F |
LDA #$0000 ;$80B5A2 |
JSL decompress_data ;$80B5A5 |
LDA #$4000 ;$80B5A9 |
STA $2116 ;$80B5AC |
LDX #$007F ;$80B5AF |
LDA #$0000 ;$80B5B2 |
LDY #$6400 ;$80B5B5 |
JSL DMA_to_VRAM ;$80B5B8 |
LDX #DATA_ED02A1 ;$80B5BC |
LDY.w #DATA_ED02A1>>16 ;$80B5BF |
LDA #$0000 ;$80B5C2 |
JSL decompress_data ;$80B5C5 |
LDA #$1C00 ;$80B5C9 |
STA $2116 ;$80B5CC |
LDX #$007F ;$80B5CF |
LDA #$0000 ;$80B5D2 |
LDY #$0700 ;$80B5D5 |
JSL DMA_to_VRAM ;$80B5D8 |
STZ $2116 ;$80B5DC |
LDX.w #DATA_C00C01>>16 ;$80B5DF |
LDA #DATA_C00C01 ;$80B5E2 |
LDY #$01A0 ;$80B5E5 |
JSL DMA_to_VRAM ;$80B5E8 |
LDY #$0000 ;$80B5EC |
LDX #$0040 ;$80B5EF |
LDA #DATA_FD26AE ;$80B5F2 |
JSL DMA_palette ;$80B5F5 |
RTS ;$80B5F9 /
CODE_80B5FA:
JSL disable_screen ;$80B5FA \
JSL clear_VRAM ;$80B5FE |
JSL init_registers_wrapper ;$80B602 |
JSL CODE_BB91F7 ;$80B606 |
LDA #$0001 ;$80B60A |
STA $2105 ;$80B60D |
STA $212C ;$80B610 |
LDA #$0000 ;$80B613 |
STA $210B ;$80B616 |
LDA #$787C ;$80B619 |
STA $2107 ;$80B61C |
STZ $2116 ;$80B61F |
LDX.w #DATA_F80FA6>>16 ;$80B622 |
LDA #DATA_F80FA6 ;$80B625 |
LDY #$2000 ;$80B628 |
JSL DMA_to_VRAM ;$80B62B |
LDA #$7C00 ;$80B62F |
JSR clear_VRAM_block ;$80B632 |
LDA #$7D00 ;$80B635 |
STA $2116 ;$80B638 |
LDX.w #DATA_F80D66>>16 ;$80B63B |
LDA #DATA_F80D66 ;$80B63E |
LDY #$0240 ;$80B641 |
JSL DMA_to_VRAM ;$80B644 |
LDA #DATA_FD27CE ;$80B648 |
LDY #$0000 ;$80B64B |
LDX #$0004 ;$80B64E |
JSL DMA_palette ;$80B651 |
LDA #DATA_FD27CE ;$80B655 |
LDY #$0070 ;$80B658 |
LDX #$0004 ;$80B65B |
JSL DMA_palette ;$80B65E |
LDA #$0200 ;$80B662 |
STA $0512 ;$80B665 |
SEP #$20 ;$80B668 |
LDA $4211 ;$80B66A |
LDA #$80 ;$80B66D |
STA $2103 ;$80B66F |
LDA #$01 ;$80B672 |
STA $420D ;$80B674 |
REP #$20 ;$80B677 |
STZ $2A ;$80B679 |
LDA #CODE_80B681 ;$80B67B |
JMP CODE_80B0EE ;$80B67E /
CODE_80B681:
LDX #$01FF ;$80B681 \
TXS ;$80B684 |
STZ $2102 ;$80B685 |
SEP #$20 ;$80B688 |
STZ $210D ;$80B68A |
STZ $210D ;$80B68D |
LDA #$FF ;$80B690 |
STA $210E ;$80B692 |
STZ $210E ;$80B695 |
LDA $0512 ;$80B698 |
STA $2100 ;$80B69B |
REP #$20 ;$80B69E |
INC $2A ;$80B6A0 |
JSR CODE_80B061 ;$80B6A2 |
JSR CODE_808C3D ;$80B6A5 |
LDA $2A ;$80B6A8 |
CMP #$0070 ;$80B6AA |
BNE CODE_80B6B5 ;$80B6AD |
LDA #$0082 ;$80B6AF |
STA $0513 ;$80B6B2 |
CODE_80B6B5: ; |
LDA $0512 ;$80B6B5 |
BNE CODE_80B6BE ;$80B6B8 |
JML CODE_8085EF ;$80B6BA /
CODE_80B6BE:
WAI ;$80B6BE \
BRA CODE_80B6BE ;$80B6BF /
DATA_80B6C1:
dw CODE_80B705
dw CODE_80B746
dw CODE_80B779
dw CODE_80B7A6
dw CODE_80B95F
dw CODE_80B720
dw CODE_80B977
dw CODE_80B9C6
dw CODE_80BB77
dw CODE_80BBD5
dw CODE_80BC3D
dw CODE_80BC6D
dw CODE_80BC85
dw CODE_80BDAA
dw CODE_80BE9C
dw CODE_80BED2
dw CODE_80BF08
dw CODE_80BF82
dw CODE_80BFDE
dw CODE_80C05A
dw CODE_80C074
dw CODE_80C180
dw CODE_80C26B
dw CODE_80C466
dw CODE_80C4A5
dw CODE_80C584
dw CODE_80C5DE
dw CODE_80C65B
dw CODE_80C750
dw CODE_80C7C6
dw CODE_80C821
dw CODE_80C847
dw CODE_80C8AA
dw CODE_80C8FF
CODE_80B705:
LDA $059B ;$80B705 \
STA $420B ;$80B708 |
JSL CODE_B5A919 ;$80B70B |
JSR CODE_80F324 ;$80B70F |
SEP #$20 ;$80B712 |
LDA $0512 ;$80B714 |
STA $2100 ;$80B717 |
REP #$20 ;$80B71A |
JSR CODE_808988 ;$80B71C |
RTS ;$80B71F /
CODE_80B720:
LDA $059B ;$80B720 \
STA $420B ;$80B723 |
SEP #$20 ;$80B726 |
LDA $0512 ;$80B728 |
STA $2100 ;$80B72B |
REP #$20 ;$80B72E |
RTS ;$80B730 /
CODE_80B731:
LDA $059B ;$80B731 \
STA $420B ;$80B734 |
JSL CODE_B5A919 ;$80B737 |
JSL CODE_B5ADD8 ;$80B73B |
JSL CODE_B5B00B ;$80B73F |
JMP CODE_80F324 ;$80B743 /
CODE_80B746:
JSR CODE_80B731 ;$80B746 \
LDA $17BA ;$80B749 |
LSR A ;$80B74C |
SEP #$20 ;$80B74D |
STA $2111 ;$80B74F |
STZ $2111 ;$80B752 |
LDA $17BA ;$80B755 |
STA $210F ;$80B758 |
LDA $17BB ;$80B75B |
STA $210F ;$80B75E |
LDA $17C2 ;$80B761 |
STA $2110 ;$80B764 |
STZ $2110 ;$80B767 |
STZ $2112 ;$80B76A |
STZ $2112 ;$80B76D |
LDA $0512 ;$80B770 |
STA $2100 ;$80B773 |
REP #$20 ;$80B776 |
RTS ;$80B778 /
CODE_80B779:
LDA $059B ;$80B779 \
STA $420B ;$80B77C |
JSR CODE_80B89C ;$80B77F |
JSL CODE_B5A919 ;$80B782 |
JSL CODE_B5ADD8 ;$80B786 |
JSL CODE_B5B00B ;$80B78A |
JSR CODE_80F324 ;$80B78E |
SEP #$20 ;$80B791 |
LDA $0512 ;$80B793 |
STA $2100 ;$80B796 |
REP #$20 ;$80B799 |
RTS ;$80B79B /
CODE_80B79C:
PHA ;$80B79C \
INX ;$80B79D |
INX ;$80B79E |
TXA ;$80B79F |
AND #$001E ;$80B7A0 |
TAX ;$80B7A3 |
PLA ;$80B7A4 |
RTS ;$80B7A5 /
CODE_80B7A6:
JSR CODE_80B731 ;$80B7A6 \
JSR CODE_80CCF8 ;$80B7A9 |
SEP #$20 ;$80B7AC |
LDA $17C0 ;$80B7AE |
AND #$01 ;$80B7B1 |
EOR #$01 ;$80B7B3 |
INC A ;$80B7B5 |
STA $7E80F2 ;$80B7B6 |
REP #$20 ;$80B7BA |
LDA $17C0 ;$80B7BC |
EOR #$FFFF ;$80B7BF |
AND #$001E ;$80B7C2 |
TAX ;$80B7C5 |
LDA $2A ;$80B7C6 |
EOR #$FFFF ;$80B7C8 |
LSR A ;$80B7CB |
LSR A ;$80B7CC |
CLC ;$80B7CD |
ADC $17C0 ;$80B7CE |
STA $7E80D2,x ;$80B7D1 |
LDY #$0008 ;$80B7D5 |
CODE_80B7D8: ; |
JSR CODE_80B79C ;$80B7D8 |
INC A ;$80B7DB |
STA $7E80D2,x ;$80B7DC |
DEY ;$80B7E0 |
BNE CODE_80B7D8 ;$80B7E1 |
LDY #$0007 ;$80B7E3 |
CODE_80B7E6: ; |
JSR CODE_80B79C ;$80B7E6 |
DEC A ;$80B7E9 |
STA $7E80D2,x ;$80B7EA |
DEY ;$80B7EE |
BNE CODE_80B7E6 ;$80B7EF |
LDA $17BA ;$80B7F1 |
LSR A ;$80B7F4 |
LSR A ;$80B7F5 |
CLC ;$80B7F6 |
ADC $17BA ;$80B7F7 |
SEP #$20 ;$80B7FA |
STA $210D ;$80B7FC |
XBA ;$80B7FF |
STA $210D ;$80B800 |
LDA $17BA ;$80B803 |
STA $210F ;$80B806 |
LDA $17BB ;$80B809 |
STA $210F ;$80B80C |
REP #$20 ;$80B80F |
LDA $17C0 ;$80B811 |
LSR A ;$80B814 |
SEP #$20 ;$80B815 |
STA $2112 ;$80B817 |
STZ $2112 ;$80B81A |
REP #$20 ;$80B81D |
LDA $17BA ;$80B81F |
LSR A ;$80B822 |
SEP #$20 ;$80B823 |
STA $2111 ;$80B825 |
STZ $2111 ;$80B828 |
LDA $17C2 ;$80B82B |
STA $2110 ;$80B82E |
STZ $2110 ;$80B831 |
LDA $0512 ;$80B834 |
STA $2100 ;$80B837 |
REP #$20 ;$80B83A |
RTS ;$80B83C /
CODE_80B83D:
LDA $2A ;$80B83D \
LSR A ;$80B83F |
CLC ;$80B840 |
ADC $17BA ;$80B841 |
LSR A ;$80B844 |
STA $7E80D2 ;$80B845 |
STA $7E80DE ;$80B849 |
INC A ;$80B84D |
STA $7E80D6 ;$80B84E |
STA $7E80DA ;$80B852 |
LDA $17C0 ;$80B856 |
LSR A ;$80B859 |
STA $7E80D4 ;$80B85A |
STA $7E80D8 ;$80B85E |
DEC A ;$80B862 |
STA $7E80DC ;$80B863 |
STA $7E80E0 ;$80B867 |
JMP CODE_80B8BD ;$80B86B /
CODE_80B86E:
LDA $17BA ;$80B86E \
LSR A ;$80B871 |
LSR A ;$80B872 |
STA $7E80D2 ;$80B873 |
STA $7E80DE ;$80B877 |
INC A ;$80B87B |
STA $7E80D6 ;$80B87C |
STA $7E80DA ;$80B880 |
LDA $17C0 ;$80B884 |
LSR A ;$80B887 |
STA $7E80D4 ;$80B888 |
STA $7E80D8 ;$80B88C |
DEC A ;$80B890 |
STA $7E80DC ;$80B891 |
STA $7E80E0 ;$80B895 |
JMP CODE_80B8BD ;$80B899 /
CODE_80B89C:
LDA $2A ;$80B89C \
BIT #$0001 ;$80B89E |
BEQ CODE_80B8B1 ;$80B8A1 |
LDX #$8552 ;$80B8A3 |
STX $4352 ;$80B8A6 |
LDX #$8812 ;$80B8A9 |
STX $4362 ;$80B8AC |
BRA CODE_80B8BD ;$80B8AF /
CODE_80B8B1:
LDX #$86B2 ;$80B8B1 \
STX $4352 ;$80B8B4 |
LDX #$8822 ;$80B8B7 |
STX $4362 ;$80B8BA |
CODE_80B8BD: ; |
LDA $0523 ;$80B8BD |
CMP #$000E ;$80B8C0 |
BNE CODE_80B8CF ;$80B8C3 |
LDA $0915 ;$80B8C5 |
BEQ CODE_80B8CF ;$80B8C8 |
LDA #$0000 ;$80B8CA |
BRA CODE_80B8D2 ;$80B8CD /
CODE_80B8CF:
LDA $2A ;$80B8CF \
LSR A ;$80B8D1 |
CODE_80B8D2: ; |
SEC ;$80B8D2 |
SBC $0D4E ;$80B8D3 |
AND #$000F ;$80B8D6 |
CLC ;$80B8D9 |
ADC $0D4E ;$80B8DA |
SEC ;$80B8DD |
SBC $17C0 ;$80B8DE |
BPL CODE_80B8E6 ;$80B8E1 |
AND #$000F ;$80B8E3 |
CODE_80B8E6: ; |
LSR A ;$80B8E6 |
BNE CODE_80B8EC ;$80B8E7 |
LDA #$0008 ;$80B8E9 |
CODE_80B8EC: ; |
CMP #$007E ;$80B8EC |
BCC CODE_80B8F4 ;$80B8EF |
LDA #$007E ;$80B8F1 |
CODE_80B8F4: ; |
SEP #$20 ;$80B8F4 |
STA $7E886C ;$80B8F6 |
ADC #$00 ;$80B8FA |
STA $7E886F ;$80B8FC |
REP #$20 ;$80B900 |
LDA $0523 ;$80B902 |
CMP #$000E ;$80B905 |
BNE CODE_80B914 ;$80B908 |
LDA $0915 ;$80B90A |
BEQ CODE_80B914 ;$80B90D |
LDA #$0000 ;$80B90F |
BRA CODE_80B916 ;$80B912 /
CODE_80B914:
LDA $2A ;$80B914 \
CODE_80B916: ; |
SEC ;$80B916 |
SBC $0D4E ;$80B917 |
AND #$001F ;$80B91A |
CLC ;$80B91D |
ADC $0D4E ;$80B91E |
SEC ;$80B921 |
SBC $17C0 ;$80B922 |
BPL CODE_80B92A ;$80B925 |
AND #$001F ;$80B927 |
CODE_80B92A: ; |
LSR A ;$80B92A |
BNE CODE_80B930 ;$80B92B |
LDA #$0010 ;$80B92D |
CODE_80B930: ; |
CMP #$007E ;$80B930 |
BCC CODE_80B938 ;$80B933 |
LDA #$007E ;$80B935 |
CODE_80B938: ; |
SEP #$20 ;$80B938 |
STA $7E8012 ;$80B93A |
ADC #$00 ;$80B93E |
STA $7E8015 ;$80B940 |
REP #$20 ;$80B944 |
LDA $17BA ;$80B946 |
STA $B6 ;$80B949 |
STA $C2 ;$80B94B |
INC A ;$80B94D |
STA $BA ;$80B94E |
STA $BE ;$80B950 |
LDA $17C0 ;$80B952 |
STA $B8 ;$80B955 |
STA $BC ;$80B957 |
DEC A ;$80B959 |
STA $C0 ;$80B95A |
STA $C4 ;$80B95C |
RTS ;$80B95E /
CODE_80B95F:
LDA $059B ;$80B95F \
STA $420B ;$80B962 |
JSL CODE_B5A919 ;$80B965 |
STA $210E ;$80B969 |
SEP #$20 ;$80B96C |
LDA $0512 ;$80B96E |
STA $2100 ;$80B971 |
REP #$20 ;$80B974 |
RTS ;$80B976 /
CODE_80B977:
LDA $059B ;$80B977 \
STA $420B ;$80B97A |
JSL CODE_B5A919 ;$80B97D |
JSL CODE_B5AA88 ;$80B981 |
JSL CODE_B5AC25 ;$80B985 |
JSL CODE_B5ADD8 ;$80B989 |
JSL CODE_B5B00B ;$80B98D |
JSR CODE_80F324 ;$80B991 |
LDA $17BA ;$80B994 |
SEP #$20 ;$80B997 |
STA $210D ;$80B999 |
XBA ;$80B99C |
STA $210D ;$80B99D |
LDA $B8 ;$80B9A0 |
STA $2111 ;$80B9A2 |
LDA $B9 ;$80B9A5 |
STA $2111 ;$80B9A7 |
REP #$20 ;$80B9AA |
LDA $17C2 ;$80B9AC |
SEP #$20 ;$80B9AF |
STA $210E ;$80B9B1 |
STZ $210E ;$80B9B4 |
STA $2112 ;$80B9B7 |
STZ $2112 ;$80B9BA |
LDA $0512 ;$80B9BD |
STA $2100 ;$80B9C0 |
REP #$20 ;$80B9C3 |
RTS ;$80B9C5 /
CODE_80B9C6:
JSR CODE_80B731 ;$80B9C6 \
JSR CODE_80CDAE ;$80B9C9 |
JSR CODE_80BA44 ;$80B9CC |
JSR CODE_80B9FF ;$80B9CF |
JSR CODE_80BAB1 ;$80B9D2 |
LDA $17BA ;$80B9D5 |
LSR A ;$80B9D8 |
LSR A ;$80B9D9 |
SEP #$20 ;$80B9DA |
STA $2111 ;$80B9DC |
STZ $2111 ;$80B9DF |
REP #$20 ;$80B9E2 |
LDA $17C2 ;$80B9E4 |
LDY $D3 ;$80B9E7 |
CPY #$0021 ;$80B9E9 |
BNE CODE_80B9F2 ;$80B9EC |
SEC ;$80B9EE |
SBC #$0030 ;$80B9EF |
CODE_80B9F2: ; |
LSR A ;$80B9F2 |
LSR A ;$80B9F3 |
SEP #$20 ;$80B9F4 |
STA $2112 ;$80B9F6 |
STZ $2112 ;$80B9F9 |
REP #$20 ;$80B9FC |
RTS ;$80B9FE /
CODE_80B9FF:
LDA $2A ;$80B9FF \
LSR A ;$80BA01 |
LSR A ;$80BA02 |
LSR A ;$80BA03 |
CLC ;$80BA04 |
ADC $2A ;$80BA05 |
LSR A ;$80BA07 |
LSR A ;$80BA08 |
LSR A ;$80BA09 |
LSR A ;$80BA0A |
AND #$0007 ;$80BA0B |
BIT #$0004 ;$80BA0E |
BEQ CODE_80BA16 ;$80BA11 |
EOR #$0007 ;$80BA13 |
CODE_80BA16: ; |
STA $32 ;$80BA16 |
LDA $2A ;$80BA18 |
LSR A ;$80BA1A |
LSR A ;$80BA1B |
LSR A ;$80BA1C |
AND #$0007 ;$80BA1D |
BIT #$0004 ;$80BA20 |
BEQ CODE_80BA28 ;$80BA23 |
EOR #$0007 ;$80BA25 |
CODE_80BA28: ; |
CLC ;$80BA28 |
ADC $32 ;$80BA29 |
STA $32 ;$80BA2B |
ORA #$00C0 ;$80BA2D |
SEP #$20 ;$80BA30 |
STA $2132 ;$80BA32 |
REP #$20 ;$80BA35 |
LDA $32 ;$80BA37 |
ORA #$0020 ;$80BA39 |
SEP #$20 ;$80BA3C |
STA $2132 ;$80BA3E |
REP #$20 ;$80BA41 |
RTS ;$80BA43 /
CODE_80BA44:
SEP #$30 ;$80BA44 \
LDA #$05 ;$80BA46 |
STA $2121 ;$80BA48 |
LDA $2A ;$80BA4B |
BIT #$03 ;$80BA4D |
BNE CODE_80BA8E ;$80BA4F |
LSR A ;$80BA51 |
AND #$0E ;$80BA52 |
TAX ;$80BA54 |
LDA.l DATA_80BA91,x ;$80BA55 |
STA $2122 ;$80BA59 |
LDA.l DATA_80BA92,x ;$80BA5C |
STA $2122 ;$80BA60 |
TXA ;$80BA63 |
CLC ;$80BA64 |
ADC #$06 ;$80BA65 |
TAX ;$80BA67 |
LDA.l DATA_80BA91,x ;$80BA68 |
STA $2122 ;$80BA6C |
LDA.l DATA_80BA92,x ;$80BA6F |
STA $2122 ;$80BA73 |
TXA ;$80BA76 |
CLC ;$80BA77 |
ADC #$06 ;$80BA78 |
TAX ;$80BA7A |
LDA.l DATA_80BA91,x ;$80BA7B |
STA $2122 ;$80BA7F |
LDA.l DATA_80BA92,x ;$80BA82 |
STA $2122 ;$80BA86 |
TXA ;$80BA89 |
CLC ;$80BA8A |
ADC #$06 ;$80BA8B |
TAX ;$80BA8D |
CODE_80BA8E: ; |
REP #$30 ;$80BA8E |
RTS ;$80BA90 /
DATA_80BA91:
db $DF
DATA_80BA92:
db $02, $7F, $02, $FF, $01, $9F, $01, $1F
db $01, $BF, $00, $7F, $01, $1F, $02, $DF
db $02, $7F, $02, $FF, $01, $9F, $01, $1F
db $01, $BF, $00, $7F, $01, $1F, $02
CODE_80BAB1:
LDA $17BA ;$80BAB1 \
STA $7E8013 ;$80BAB4 |
STA $7E8018 ;$80BAB8 |
STA $7E802D ;$80BABC |
LDA $17C2 ;$80BAC0 |
STA $7E8015 ;$80BAC3 |
STA $7E801A ;$80BAC7 |
STA $7E802F ;$80BACB |
LDA $17B8 ;$80BACF |
ASL A ;$80BAD2 |
LDA $17BA ;$80BAD3 |
ROL A ;$80BAD6 |
STA $7E801D ;$80BAD7 |
LSR A ;$80BADB |
LSR A ;$80BADC |
STA $7E8023 ;$80BADD |
STA $7E8028 ;$80BAE1 |
LDA $17C2 ;$80BAE5 |
LSR A ;$80BAE8 |
SEC ;$80BAE9 |
SBC #$0198 ;$80BAEA |
STA $7E8025 ;$80BAED |
STA $7E802A ;$80BAF1 |
LDA $D3 ;$80BAF5 |
CMP #$0075 ;$80BAF7 |
BEQ CODE_80BB1D ;$80BAFA |
CMP #$0021 ;$80BAFC |
BEQ CODE_80BB14 ;$80BAFF |
CMP #$0016 ;$80BB01 |
BEQ CODE_80BB14 ;$80BB04 |
CMP #$0007 ;$80BB06 |
BNE CODE_80BB26 ;$80BB09 |
LDA $17C2 ;$80BB0B |
SEC ;$80BB0E |
SBC #$0100 ;$80BB0F |
BRA CODE_80BB29 ;$80BB12 /
CODE_80BB14:
LDA $17C2 ;$80BB14 \
SEC ;$80BB17 |
SBC #$0080 ;$80BB18 |
BRA CODE_80BB29 ;$80BB1B /
CODE_80BB1D:
LDA $17C2 ;$80BB1D \
SEC ;$80BB20 |
SBC #$00C0 ;$80BB21 |
BRA CODE_80BB29 ;$80BB24 /
CODE_80BB26:
LDA $17C2 ;$80BB26 \
CODE_80BB29: ; |
LSR A ;$80BB29 |
LSR A ;$80BB2A |
CLC ;$80BB2B |
ADC $17C2 ;$80BB2C |
SEC ;$80BB2F |
SBC #$0060 ;$80BB30 |
STA $7E801F ;$80BB33 |
SEC ;$80BB37 |
SBC #$0070 ;$80BB38 |
AND #$01FF ;$80BB3B |
EOR #$01FF ;$80BB3E |
CMP #$00FF ;$80BB41 |
BCC CODE_80BB49 ;$80BB44 |
LDA #$00FF ;$80BB46 |
CODE_80BB49: ; |
SEP #$20 ;$80BB49 |
LSR A ;$80BB4B |
STA $7E8012 ;$80BB4C |
STA $7E8022 ;$80BB50 |
STA $7E8032 ;$80BB54 |
STA $7E803C ;$80BB58 |
ADC #$00 ;$80BB5C |
STA $7E8017 ;$80BB5E |
STA $7E8027 ;$80BB62 |
STA $7E8035 ;$80BB66 |
STA $7E803E ;$80BB6A |
LDA $0512 ;$80BB6E |
STA $2100 ;$80BB71 |
REP #$20 ;$80BB74 |
RTS ;$80BB76 /
CODE_80BB77:
JSR CODE_80B731 ;$80BB77 \
JSR CODE_80CF58 ;$80BB7A |
LDA $2A ;$80BB7D |
LSR A ;$80BB7F |
CLC ;$80BB80 |
ADC $17BA ;$80BB81 |
LSR A ;$80BB84 |
SEP #$20 ;$80BB85 |
STA $210F ;$80BB87 |
STZ $210F ;$80BB8A |
REP #$20 ;$80BB8D |
LDA $17C2 ;$80BB8F |
LSR A ;$80BB92 |
SEP #$20 ;$80BB93 |
STA $2110 ;$80BB95 |
STZ $2110 ;$80BB98 |
REP #$20 ;$80BB9B |
LDA $2A ;$80BB9D |
CLC ;$80BB9F |
ADC $17BA ;$80BBA0 |
LSR A ;$80BBA3 |
LSR A ;$80BBA4 |
CLC ;$80BBA5 |
ADC $17BA ;$80BBA6 |
SEP #$20 ;$80BBA9 |
STA $2111 ;$80BBAB |
STZ $2111 ;$80BBAE |
LDA $17BA ;$80BBB1 |
STA $210D ;$80BBB4 |
LDA $17BB ;$80BBB7 |
STA $210D ;$80BBBA |
LDA $17C2 ;$80BBBD |
STA $210E ;$80BBC0 |
STZ $210E ;$80BBC3 |
STA $2112 ;$80BBC6 |
STZ $2112 ;$80BBC9 |
LDA $0512 ;$80BBCC |
STA $2100 ;$80BBCF |
REP #$20 ;$80BBD2 |
RTS ;$80BBD4 /
CODE_80BBD5:
JSR CODE_80B731 ;$80BBD5 \
LDA $0929 ;$80BBD8 |
BEQ CODE_80BBF7 ;$80BBDB |
TAY ;$80BBDD |
LDA $2A ;$80BBDE |
AND #$0007 ;$80BBE0 |
BNE CODE_80BBF7 ;$80BBE3 |
LDA $2A ;$80BBE5 |
AND #$0018 ;$80BBE7 |
ASL A ;$80BBEA |
ASL A ;$80BBEB |
CLC ;$80BBEC |
ADC #DATA_FD61C2 ;$80BBED |
LDX #$0004 ;$80BBF0 |
JSL DMA_palette ;$80BBF3 |
CODE_80BBF7: ; |
SEP #$20 ;$80BBF7 |
LDA #$E0 ;$80BBF9 |
STA $2132 ;$80BBFB |
LDA #$01 ;$80BBFE |
TRB $0500 ;$80BC00 |
BEQ CODE_80BC0A ;$80BC03 |
LDA #$E2 ;$80BC05 |
STA $2132 ;$80BC07 |
CODE_80BC0A: ; |
REP #$20 ;$80BC0A |
LDA $17BA ;$80BC0C |
LSR A ;$80BC0F |
LSR A ;$80BC10 |
LSR A ;$80BC11 |
SEP #$20 ;$80BC12 |
STA $210F ;$80BC14 |
STZ $210F ;$80BC17 |
LDA $17BA ;$80BC1A |
STA $210D ;$80BC1D |
LDA $17BB ;$80BC20 |
STA $210D ;$80BC23 |
REP #$20 ;$80BC26 |
LDA $17C2 ;$80BC28 |
SEP #$20 ;$80BC2B |
STA $210E ;$80BC2D |
XBA ;$80BC30 |
STA $210E ;$80BC31 |
LDA $0512 ;$80BC34 |
STA $2100 ;$80BC37 |
REP #$20 ;$80BC3A |
RTS ;$80BC3C /
CODE_80BC3D:
LDA $059B ;$80BC3D \
STA $420B ;$80BC40 |
JSL CODE_B5A919 ;$80BC43 |
JSR CODE_80F324 ;$80BC47 |
LDA $17BA ;$80BC4A |
SEP #$20 ;$80BC4D |
STA $210D ;$80BC4F |
XBA ;$80BC52 |
STA $210D ;$80BC53 |
REP #$20 ;$80BC56 |
LDA $17C2 ;$80BC58 |
SEP #$20 ;$80BC5B |
STA $210E ;$80BC5D |
XBA ;$80BC60 |
STA $210E ;$80BC61 |
LDA $0512 ;$80BC64 |
STA $2100 ;$80BC67 |
REP #$20 ;$80BC6A |
RTS ;$80BC6C /
CODE_80BC6D:
LDA $059B ;$80BC6D \
STA $420B ;$80BC70 |
JSL CODE_B5A919 ;$80BC73 |
STA $210E ;$80BC77 |
SEP #$20 ;$80BC7A |
LDA $0512 ;$80BC7C |
STA $2100 ;$80BC7F |
REP #$20 ;$80BC82 |
RTS ;$80BC84 /
CODE_80BC85:
JSR CODE_80B731 ;$80BC85 \
LDA $17BA ;$80BC88 |
LSR A ;$80BC8B |
LSR A ;$80BC8C |
SEP #$20 ;$80BC8D |
STA $210F ;$80BC8F |
STZ $210F ;$80BC92 |
LDA $17BA ;$80BC95 |
STA $210D ;$80BC98 |
LDA $17BB ;$80BC9B |
STA $210D ;$80BC9E |
LDA $17C2 ;$80BCA1 |
STA $210E ;$80BCA4 |
LDA $17C3 ;$80BCA7 |
STA $210E ;$80BCAA |
REP #$20 ;$80BCAD |
JSR CODE_80BD08 ;$80BCAF |
LDA $17C2 ;$80BCB2 |
LSR A ;$80BCB5 |
LSR A ;$80BCB6 |
SEP #$20 ;$80BCB7 |
STA $2110 ;$80BCB9 |
STZ $2110 ;$80BCBC |
LDA $0512 ;$80BCBF |
STA $2100 ;$80BCC2 |
REP #$20 ;$80BCC5 |
RTS ;$80BCC7 /
DATA_80BCC8:
db $25
DATA_80BCC9:
db $1B, $1D, $27, $16, $39, $F0, $D2, $5D
db $21, $7E, $49, $67, $48, $B6, $2B, $C5
db $25, $3F, $67, $32, $77, $27, $63, $3B
db $92, $F3, $4A, $FE, $59, $79, $67, $7E
db $7C, $AC, $60, $C1, $8E, $9B, $90, $0A
db $9E, $1B, $BC, $47, $DE, $42, $F4, $5F
db $B7, $6A, $9F, $7D, $B7, $68, $CD, $AC
db $C4, $C3, $BE, $47, $DE, $3F, $67
CODE_80BD08:
LDA $2A ;$80BD08 \
CLC ;$80BD0A |
ADC #$0010 ;$80BD0B |
AND #$001F ;$80BD0E |
BNE CODE_80BD2F ;$80BD11 |
JSR CODE_80B13E ;$80BD13 |
AND #$001F ;$80BD16 |
ASL A ;$80BD19 |
TAX ;$80BD1A |
LDA #$00DC ;$80BD1B |
SBC.l DATA_80BCC8,x ;$80BD1E |
STA $17BC ;$80BD22 |
LDA #$00F0 ;$80BD25 |
SBC.l DATA_80BCC9,x ;$80BD28 |
STA $17C4 ;$80BD2C |
CODE_80BD2F: ; |
LDA $17BA ;$80BD2F |
LSR A ;$80BD32 |
LSR A ;$80BD33 |
CLC ;$80BD34 |
ADC $17BC ;$80BD35 |
SEP #$20 ;$80BD38 |
STA $2111 ;$80BD3A |
STZ $2111 ;$80BD3D |
REP #$20 ;$80BD40 |
LDA $17C2 ;$80BD42 |
LSR A ;$80BD45 |
LSR A ;$80BD46 |
CLC ;$80BD47 |
ADC $17C4 ;$80BD48 |
SEP #$20 ;$80BD4B |
STA $2112 ;$80BD4D |
STZ $2112 ;$80BD50 |
LDA #$01 ;$80BD53 |
STA $2121 ;$80BD55 |
REP #$20 ;$80BD58 |
LDA #$8014 ;$80BD5A |
STA $4302 ;$80BD5D |
STA $4308 ;$80BD60 |
LDA #$001E ;$80BD63 |
STA $4305 ;$80BD66 |
LDA #$2200 ;$80BD69 |
STA $4300 ;$80BD6C |
SEP #$20 ;$80BD6F |
LDA #$7E ;$80BD71 |
STA $4304 ;$80BD73 |
LDA #$01 ;$80BD76 |
STA $420B ;$80BD78 |
REP #$20 ;$80BD7B |
SEP #$20 ;$80BD7D |
LDA #$21 ;$80BD7F |
STA $2121 ;$80BD81 |
REP #$20 ;$80BD84 |
LDA #$8032 ;$80BD86 |
STA $4302 ;$80BD89 |
STA $4308 ;$80BD8C |
LDA #$000C ;$80BD8F |
STA $4305 ;$80BD92 |
LDA #$2200 ;$80BD95 |
STA $4300 ;$80BD98 |
SEP #$20 ;$80BD9B |
LDA #$7E ;$80BD9D |
STA $4304 ;$80BD9F |
LDA #$01 ;$80BDA2 |
STA $420B ;$80BDA4 |
REP #$20 ;$80BDA7 |
RTS ;$80BDA9 /
CODE_80BDAA:
JSR CODE_80B731 ;$80BDAA \
LDA $D3 ;$80BDAD |
CMP #$0009 ;$80BDAF |
BEQ CODE_80BDB7 ;$80BDB2 |
JSR CODE_80CF21 ;$80BDB4 |
CODE_80BDB7: ; |
LDA $08C2 ;$80BDB7 |
AND #$0140 ;$80BDBA |
BEQ CODE_80BDC2 ;$80BDBD |
BRL CODE_80BE93 ;$80BDBF /
CODE_80BDC2:
LDA.l $0006DD ;$80BDC2 \
CLC ;$80BDC6 |
ADC $0006DB ;$80BDC7 |
STA $0006DD ;$80BDCB |
SEP #$20 ;$80BDCF |
STA $2112 ;$80BDD1 |
STZ $2112 ;$80BDD4 |
REP #$20 ;$80BDD7 |
LDA.l $0006D7 ;$80BDD9 |
CLC ;$80BDDD |
ADC #$0002 ;$80BDDE |
STA $0006D7 ;$80BDE1 |
CMP #$01F4 ;$80BDE5 |
BCC CODE_80BDFF ;$80BDE8 |
SEC ;$80BDEA |
SBC #$01F4 ;$80BDEB |
STA $0006D7 ;$80BDEE |
LDA.l $0006DF ;$80BDF2 |
CLC ;$80BDF6 |
ADC $0006D5 ;$80BDF7 |
STA $0006DF ;$80BDFB |
CODE_80BDFF: ; |
LDA.l $0006DF ;$80BDFF |
STA $0006DB ;$80BE03 |
LDA.l $0006D7 ;$80BE07 |
CLC ;$80BE0B |
ADC $0006D9 ;$80BE0C |
STA $0006D9 ;$80BE10 |
CMP #$01F4 ;$80BE14 |
BCC CODE_80BE2E ;$80BE17 |
SEC ;$80BE19 |
SBC #$01F4 ;$80BE1A |
STA $0006D9 ;$80BE1D |
LDA.l $0006DB ;$80BE21 |
CLC ;$80BE25 |
ADC $0006D5 ;$80BE26 |
STA $0006DB ;$80BE2A |
CODE_80BE2E: ; |
LDA.l $0006D5 ;$80BE2E |
BPL CODE_80BE46 ;$80BE32 |
LDA.l $0006DF ;$80BE34 |
CMP #$FFFF ;$80BE38 |
BNE CODE_80BE56 ;$80BE3B |
LDA #$0001 ;$80BE3D |
STA $0006D5 ;$80BE40 |
BRA CODE_80BE56 ;$80BE44 /
CODE_80BE46:
LDA.l $0006DF ;$80BE46 \
CMP #$0001 ;$80BE4A |
BNE CODE_80BE56 ;$80BE4D |
LDA #$FFFF ;$80BE4F |
STA $0006D5 ;$80BE52 |
CODE_80BE56: ; |
LDA $2A ;$80BE56 |
CLC ;$80BE58 |
ADC $17BA ;$80BE59 |
SEP #$20 ;$80BE5C |
STA $210F ;$80BE5E |
STZ $210F ;$80BE61 |
LDA #$6F ;$80BE64 |
STA $2110 ;$80BE66 |
STZ $2110 ;$80BE69 |
REP #$20 ;$80BE6C |
LDA $2A ;$80BE6E |
ASL A ;$80BE70 |
ASL A ;$80BE71 |
CLC ;$80BE72 |
ADC $17BA ;$80BE73 |
SEP #$20 ;$80BE76 |
STA $2111 ;$80BE78 |
STZ $2111 ;$80BE7B |
LDA $17BA ;$80BE7E |
STA $210D ;$80BE81 |
LDA $17BB ;$80BE84 |
STA $210D ;$80BE87 |
LDA $17C2 ;$80BE8A |
STA $210E ;$80BE8D |
STZ $210E ;$80BE90 |
CODE_80BE93: ; |
LDA $0512 ;$80BE93 |
STA $2100 ;$80BE96 |
REP #$20 ;$80BE99 |
RTS ;$80BE9B /
CODE_80BE9C:
JSR CODE_80B731 ;$80BE9C \
JSR CODE_80CFDC ;$80BE9F |
LDA $17BA ;$80BEA2 |
LSR A ;$80BEA5 |
SEP #$20 ;$80BEA6 |
STA $2111 ;$80BEA8 |
STZ $2111 ;$80BEAB |
LDA $17BA ;$80BEAE |
STA $210F ;$80BEB1 |
LDA $17BB ;$80BEB4 |
STA $210F ;$80BEB7 |
LDA $17C2 ;$80BEBA |
STA $2110 ;$80BEBD |
STZ $2110 ;$80BEC0 |
STZ $2112 ;$80BEC3 |
STZ $2112 ;$80BEC6 |
LDA $0512 ;$80BEC9 |
STA $2100 ;$80BECC |
REP #$20 ;$80BECF |
RTS ;$80BED1 /
CODE_80BED2:
JSR CODE_80B731 ;$80BED2 \
JSR CODE_80CC36 ;$80BED5 |
LDA $17BA ;$80BED8 |
LSR A ;$80BEDB |
SEP #$20 ;$80BEDC |
STA $2111 ;$80BEDE |
STZ $2111 ;$80BEE1 |
LDA $17BA ;$80BEE4 |
STA $210F ;$80BEE7 |
LDA $17BB ;$80BEEA |
STA $210F ;$80BEED |
LDA $17C2 ;$80BEF0 |
STA $2110 ;$80BEF3 |
STZ $2110 ;$80BEF6 |
STZ $2112 ;$80BEF9 |
STZ $2112 ;$80BEFC |
LDA $0512 ;$80BEFF |
STA $2100 ;$80BF02 |
REP #$20 ;$80BF05 |
RTS ;$80BF07 /
CODE_80BF08:
JSR CODE_80B731 ;$80BF08 \
LDA $17C0 ;$80BF0B |
CLC ;$80BF0E |
ADC $19CA ;$80BF0F |
CMP #$0080 ;$80BF12 |
BCC CODE_80BF1A ;$80BF15 |
LDA #$0080 ;$80BF17 |
CODE_80BF1A: ; |
STA $7E8013 ;$80BF1A |
LDA $17C0 ;$80BF1E |
CLC ;$80BF21 |
ADC #$005E ;$80BF22 |
SEC ;$80BF25 |
SBC $0AFE ;$80BF26 |
BPL CODE_80BF2E ;$80BF29 |
LDA #$0000 ;$80BF2B |
CODE_80BF2E: ; |
STA $7E8019 ;$80BF2E |
LDA $17BA ;$80BF32 |
LSR A ;$80BF35 |
SEP #$20 ;$80BF36 |
STA $2111 ;$80BF38 |
STZ $2111 ;$80BF3B |
REP #$20 ;$80BF3E |
LDA $17B8 ;$80BF40 |
ASL A ;$80BF43 |
LDA $17BA ;$80BF44 |
ROL A ;$80BF47 |
SEP #$20 ;$80BF48 |
STA $210D ;$80BF4A |
XBA ;$80BF4D |
STA $210D ;$80BF4E |
LDA $17BA ;$80BF51 |
STA $210F ;$80BF54 |
LDA $17BB ;$80BF57 |
STA $210F ;$80BF5A |
LDA $17C2 ;$80BF5D |
STA $2110 ;$80BF60 |
STZ $2110 ;$80BF63 |
REP #$20 ;$80BF66 |
LDA $17C2 ;$80BF68 |
SEC ;$80BF6B |
SBC #$0120 ;$80BF6C |
LSR A ;$80BF6F |
LSR A ;$80BF70 |
SEP #$20 ;$80BF71 |
STA $2112 ;$80BF73 |
STZ $2112 ;$80BF76 |
LDA $0512 ;$80BF79 |
STA $2100 ;$80BF7C |
REP #$20 ;$80BF7F |
RTS ;$80BF81 /
CODE_80BF82:
JSR CODE_80B731 ;$80BF82 \
LDA $17BA ;$80BF85 |
CLC ;$80BF88 |
ADC $2A ;$80BF89 |
LSR A ;$80BF8B |
LSR A ;$80BF8C |
SEP #$20 ;$80BF8D |
STA $2111 ;$80BF8F |
STZ $2111 ;$80BF92 |
LDA $17BA ;$80BF95 |
STA $210D ;$80BF98 |
LDA $17BB ;$80BF9B |
STA $210D ;$80BF9E |
REP #$20 ;$80BFA1 |
LDA $17BA ;$80BFA3 |
LSR A ;$80BFA6 |
SEP #$20 ;$80BFA7 |
STA $210F ;$80BFA9 |
STZ $210F ;$80BFAC |
REP #$20 ;$80BFAF |
LDA $17C2 ;$80BFB1 |
LSR A ;$80BFB4 |
LSR A ;$80BFB5 |
SEP #$20 ;$80BFB6 |
STA $2112 ;$80BFB8 |
STZ $2112 ;$80BFBB |
LDA $17C2 ;$80BFBE |
STA $210E ;$80BFC1 |
STZ $210E ;$80BFC4 |
REP #$20 ;$80BFC7 |
LDA $17C2 ;$80BFC9 |
LSR A ;$80BFCC |
SEP #$20 ;$80BFCD |
STA $2110 ;$80BFCF |
STZ $2110 ;$80BFD2 |
LDA $0512 ;$80BFD5 |
STA $2100 ;$80BFD8 |
REP #$20 ;$80BFDB |
RTS ;$80BFDD /
CODE_80BFDE:
LDA $059B ;$80BFDE \
STA $420B ;$80BFE1 |
LDA #$FE01 ;$80BFE4 |
STA $2126 ;$80BFE7 |
LDY #$2640 ;$80BFEA |
LDX $0989 ;$80BFED |
BNE CODE_80BFFA ;$80BFF0 |
LDA #$0001 ;$80BFF2 |
STA $2126 ;$80BFF5 |
BRA CODE_80C03D ;$80BFF8 /
CODE_80BFFA:
SEP #$20 ;$80BFFA \
LDA #$13 ;$80BFFC |
STA $212D ;$80BFFE |
REP #$20 ;$80C001 |
LDA $1A,x ;$80C003 |
CMP #$1C1C ;$80C005 |
BNE CODE_80C015 ;$80C008 |
SEP #$20 ;$80C00A |
LDA #$00 ;$80C00C |
STA $212D ;$80C00E |
REP #$20 ;$80C011 |
BRA CODE_80C02A ;$80C013 /
CODE_80C015:
BCC CODE_80C020 ;$80C015 \
LDA $12,x ;$80C017 |
BIT #$4000 ;$80C019 |
BNE CODE_80C02A ;$80C01C |
BRA CODE_80C027 ;$80C01E /
CODE_80C020:
LDA $12,x ;$80C020 \
BIT #$4000 ;$80C022 |
BEQ CODE_80C02A ;$80C025 |
CODE_80C027: ; |
LDY #$2740 ;$80C027 |
CODE_80C02A: ; |
STY $4320 ;$80C02A |
LDA $2A ;$80C02D |
AND #$0001 ;$80C02F |
EOR #$0001 ;$80C032 |
XBA ;$80C035 |
CLC ;$80C036 |
ADC #$80F2 ;$80C037 |
STA $4322 ;$80C03A |
CODE_80C03D: ; |
JSR CODE_80B89C ;$80C03D |
JSL CODE_B5A919 ;$80C040 |
JSL CODE_B5ADD8 ;$80C044 |
JSL CODE_B5B00B ;$80C048 |
JSR CODE_80F324 ;$80C04C |
SEP #$20 ;$80C04F |
LDA $0512 ;$80C051 |
STA $2100 ;$80C054 |
REP #$20 ;$80C057 |
RTS ;$80C059 /
CODE_80C05A:
JSR CODE_80B731 ;$80C05A \
JSR CODE_80CDAE ;$80C05D |
SEP #$20 ;$80C060 |
LDA $17C2 ;$80C062 |
STA $2112 ;$80C065 |
STZ $2112 ;$80C068 |
REP #$20 ;$80C06B |
JSR CODE_80CAFD ;$80C06D |
JSR CODE_80BAB1 ;$80C070 |
RTS ;$80C073 /
CODE_80C074:
JSR CODE_80B731 ;$80C074 \
LDA.l $0006A5 ;$80C077 |
BIT #$0200 ;$80C07B |
BNE CODE_80C083 ;$80C07E |
BRL CODE_80C0FB ;$80C080 /
CODE_80C083:
SEP #$20 ;$80C083 \
LDA #$01 ;$80C085 |
STA $2121 ;$80C087 |
REP #$20 ;$80C08A |
LDA $2A ;$80C08C |
LSR A ;$80C08E |
LSR A ;$80C08F |
AND #$001F ;$80C090 |
BIT #$0010 ;$80C093 |
BEQ CODE_80C09B ;$80C096 |
EOR #$001F ;$80C098 |
CODE_80C09B: ; |
CLC ;$80C09B |
ADC $84 ;$80C09C |
STA $84 ;$80C09E |
LSR A ;$80C0A0 |
AND #$003F ;$80C0A1 |
BIT #$0020 ;$80C0A4 |
BEQ CODE_80C0AC ;$80C0A7 |
EOR #$003F ;$80C0A9 |
CODE_80C0AC: ; |
STA $32 ;$80C0AC |
ASL A ;$80C0AE |
ASL A ;$80C0AF |
XBA ;$80C0B0 |
STA $36 ;$80C0B1 |
XBA ;$80C0B3 |
ASL A ;$80C0B4 |
ASL A ;$80C0B5 |
ASL A ;$80C0B6 |
STA $34 ;$80C0B7 |
LDX #$0000 ;$80C0B9 |
CODE_80C0BC: ; |
LDA.l DATA_FD2CF0,x ;$80C0BC |
AND #$001F ;$80C0C0 |
SEC ;$80C0C3 |
SBC $32 ;$80C0C4 |
JSR CODE_80C17A ;$80C0C6 |
STA $38 ;$80C0C9 |
LDA.l DATA_FD2CF0,x ;$80C0CB |
AND #$03E0 ;$80C0CF |
SEC ;$80C0D2 |
SBC $34 ;$80C0D3 |
JSR CODE_80C17A ;$80C0D5 |
TSB $38 ;$80C0D8 |
LDA.l DATA_FD2CF0,x ;$80C0DA |
AND #$7C00 ;$80C0DE |
SEC ;$80C0E1 |
SBC $36 ;$80C0E2 |
JSR CODE_80C17A ;$80C0E4 |
ORA $38 ;$80C0E7 |
SEP #$20 ;$80C0E9 |
STA $2122 ;$80C0EB |
XBA ;$80C0EE |
STA $2122 ;$80C0EF |
REP #$20 ;$80C0F2 |
INX ;$80C0F4 |
INX ;$80C0F5 |
CPX #$001E ;$80C0F6 |
BNE CODE_80C0BC ;$80C0F9 |
CODE_80C0FB: ; |
LDA #$7010 ;$80C0FB |
STA $2116 ;$80C0FE |
LDA $2A ;$80C101 |
BIT #$0007 ;$80C103 |
BNE CODE_80C134 ;$80C106 |
LSR A ;$80C108 |
LSR A ;$80C109 |
AND #$000E ;$80C10A |
EOR #$000E ;$80C10D |
TAX ;$80C110 |
LDA DATA_80CAE5,x ;$80C111 |
STA $4312 ;$80C114 |
STA $4318 ;$80C117 |
LDA #$09A0 ;$80C11A |
STA $4315 ;$80C11D |
LDA #$1801 ;$80C120 |
STA $4310 ;$80C123 |
SEP #$20 ;$80C126 |
LDA #$F3 ;$80C128 |
STA $4314 ;$80C12A |
LDA #$02 ;$80C12D |
STA $420B ;$80C12F |
REP #$20 ;$80C132 |
CODE_80C134: ; |
INC A ;$80C134 |
BIT #$0007 ;$80C135 |
BNE CODE_80C141 ;$80C138 |
LDA #$0004 ;$80C13A |
STA $78 ;$80C13D |
BRA CODE_80C146 ;$80C13F /
CODE_80C141:
LDA $0B00 ;$80C141 \
STA $78 ;$80C144 |
CODE_80C146: ; |
LDA $17BA ;$80C146 |
SEP #$20 ;$80C149 |
STA $210D ;$80C14B |
XBA ;$80C14E |
STA $210D ;$80C14F |
XBA ;$80C152 |
REP #$20 ;$80C153 |
CLC ;$80C155 |
ADC #$0080 ;$80C156 |
SEP #$20 ;$80C159 |
STA $210F ;$80C15B |
XBA ;$80C15E |
STA $210F ;$80C15F |
LDA $17C2 ;$80C162 |
STA $210E ;$80C165 |
STZ $210E ;$80C168 |
STA $2110 ;$80C16B |
STZ $2110 ;$80C16E |
LDA $0512 ;$80C171 |
STA $2100 ;$80C174 |
REP #$20 ;$80C177 |
RTS ;$80C179 /
CODE_80C17A:
BPL CODE_80C17F ;$80C17A \
LDA #$0000 ;$80C17C |
CODE_80C17F: ; |
RTS ;$80C17F /
CODE_80C180:
LDA $059B ;$80C180 \
STA $420B ;$80C183 |
JSR CODE_80B89C ;$80C186 |
JSL CODE_B5A919 ;$80C189 |
JSL CODE_B5ADD8 ;$80C18D |
JSL CODE_B5B00B ;$80C191 |
JSR CODE_80F324 ;$80C195 |
JSR CODE_80CA1B ;$80C198 |
JSR CODE_80C1A9 ;$80C19B |
SEP #$20 ;$80C19E |
LDA $0512 ;$80C1A0 |
STA $2100 ;$80C1A3 |
REP #$20 ;$80C1A6 |
RTS ;$80C1A8 /
CODE_80C1A9:
LDA $08C2 ;$80C1A9 \
BIT #$0140 ;$80C1AC |
BEQ CODE_80C1B2 ;$80C1AF |
RTS ;$80C1B1 /
CODE_80C1B2:
LDA $2A ;$80C1B2 \
BIT #$0003 ;$80C1B4 |
BNE CODE_80C1E5 ;$80C1B7 |
LDA $091D ;$80C1B9 |
INC A ;$80C1BC |
CMP #$0006 ;$80C1BD |
BCC CODE_80C1C5 ;$80C1C0 |
LDA #$0000 ;$80C1C2 |
CODE_80C1C5: ; |
STA $091D ;$80C1C5 |
LDX #$2010 ;$80C1C8 |
STX $2116 ;$80C1CB |
ASL A ;$80C1CE |
TAX ;$80C1CF |
LDA.l DATA_80C25F,x ;$80C1D0 |
LDY #$0380 ;$80C1D4 |
LDX #$00F5 ;$80C1D7 |
JSL DMA_to_VRAM ;$80C1DA |
LDA $0B00 ;$80C1DE |
STA $78 ;$80C1E1 |
BRA CODE_80C1F0 ;$80C1E3 /
CODE_80C1E5:
INC A ;$80C1E5 \
BIT #$0003 ;$80C1E6 |
BNE CODE_80C1F0 ;$80C1E9 |
LDA #$0014 ;$80C1EB |
STA $78 ;$80C1EE |
CODE_80C1F0: ; |
LDA $2A ;$80C1F0 |
LSR A ;$80C1F2 |
LSR A ;$80C1F3 |
AND #$0003 ;$80C1F4 |
BIT #$0002 ;$80C1F7 |
BEQ CODE_80C200 ;$80C1FA |
EOR #$0003 ;$80C1FC |
INC A ;$80C1FF |
CODE_80C200: ; |
STA $32 ;$80C200 |
ASL A ;$80C202 |
ASL A ;$80C203 |
XBA ;$80C204 |
STA $36 ;$80C205 |
XBA ;$80C207 |
ASL A ;$80C208 |
ASL A ;$80C209 |
ASL A ;$80C20A |
STA $34 ;$80C20B |
SEP #$20 ;$80C20D |
LDA #$68 ;$80C20F |
STA $2121 ;$80C211 |
REP #$20 ;$80C214 |
LDX #$0000 ;$80C216 |
CODE_80C219: ; |
LDA.l DATA_FD2EBE,x ;$80C219 |
AND #$001F ;$80C21D |
SEC ;$80C220 |
SBC $32 ;$80C221 |
BPL CODE_80C228 ;$80C223 |
LDA #$0000 ;$80C225 |
CODE_80C228: ; |
STA $38 ;$80C228 |
LDA.l DATA_FD2EBE,x ;$80C22A |
AND #$03E0 ;$80C22E |
SEC ;$80C231 |
SBC $34 ;$80C232 |
BPL CODE_80C239 ;$80C234 |
LDA #$0000 ;$80C236 |
CODE_80C239: ; |
TSB $38 ;$80C239 |
LDA.l DATA_FD2EBE,x ;$80C23B |
AND #$7C00 ;$80C23F |
SEC ;$80C242 |
SBC $36 ;$80C243 |
BPL CODE_80C24A ;$80C245 |
LDA #$0000 ;$80C247 |
CODE_80C24A: ; |
ORA $38 ;$80C24A |
SEP #$20 ;$80C24C |
STA $2122 ;$80C24E |
XBA ;$80C251 |
STA $2122 ;$80C252 |
REP #$20 ;$80C255 |
INX ;$80C257 |
INX ;$80C258 |
CPX #$0010 ;$80C259 |
BNE CODE_80C219 ;$80C25C |
RTS ;$80C25E /
DATA_80C25F:
dw DATA_F5484A
dw DATA_F54BCA
dw DATA_F54F4A
dw DATA_F552CA
dw DATA_F5564A
dw DATA_F559CA
CODE_80C26B:
JSR CODE_80B731 ;$80C26B \
JSR CODE_80C321 ;$80C26E |
LDA #$0100 ;$80C271 |
LDX $0D5A ;$80C274 |
BEQ CODE_80C288 ;$80C277 |
LDY $12,x ;$80C279 |
STY $212C ;$80C27B |
SEC ;$80C27E |
LDA $17BA ;$80C27F |
SBC $06,x ;$80C282 |
CLC ;$80C284 |
ADC #$0080 ;$80C285 |
CODE_80C288: ; |
SEP #$20 ;$80C288 |
STA $210F ;$80C28A |
XBA ;$80C28D |
STA $210F ;$80C28E |
REP #$20 ;$80C291 |
SEC ;$80C293 |
LDA $17C2 ;$80C294 |
SBC $0A,x ;$80C297 |
CLC ;$80C299 |
ADC #$0040 ;$80C29A |
SEP #$20 ;$80C29D |
STA $2110 ;$80C29F |
STZ $2110 ;$80C2A2 |
REP #$20 ;$80C2A5 |
CMP #$00A0 ;$80C2A7 |
BMI CODE_80C2B4 ;$80C2AA |
LDX #$FF60 ;$80C2AC |
LDY #$FF60 ;$80C2AF |
BRA CODE_80C2D4 ;$80C2B2 /
CODE_80C2B4:
CMP #$0020 ;$80C2B4 \
BMI CODE_80C2C1 ;$80C2B7 |
LDX #$0060 ;$80C2B9 |
LDY #$FF60 ;$80C2BC |
BRA CODE_80C2D4 ;$80C2BF /
CODE_80C2C1:
CMP #$FFA0 ;$80C2C1 \
BPL CODE_80C2CE ;$80C2C4 |
LDX #$FF60 ;$80C2C6 |
LDY #$0060 ;$80C2C9 |
BRA CODE_80C2D4 ;$80C2CC /
CODE_80C2CE:
LDX #$0060 ;$80C2CE \
LDY #$0060 ;$80C2D1 |
CODE_80C2D4: ; |
TXA ;$80C2D4 |
STA $7E8012 ;$80C2D5 |
TYA ;$80C2D9 |
STA $7E8014 ;$80C2DA |
LDA $17BA ;$80C2DE |
LSR A ;$80C2E1 |
SEP #$20 ;$80C2E2 |
STA $2111 ;$80C2E4 |
XBA ;$80C2E7 |
STA $2111 ;$80C2E8 |
LDA $17BA ;$80C2EB |
STA $210D ;$80C2EE |
LDA $17BB ;$80C2F1 |
STA $210D ;$80C2F4 |
REP #$20 ;$80C2F7 |
LDA $17C2 ;$80C2F9 |
SEC ;$80C2FC |
SBC #$0100 ;$80C2FD |
LSR A ;$80C300 |
LSR A ;$80C301 |
LSR A ;$80C302 |
SEP #$20 ;$80C303 |
STA $2112 ;$80C305 |
STZ $2112 ;$80C308 |
LDA $17C2 ;$80C30B |
STA $210E ;$80C30E |
STZ $210E ;$80C311 |
LDA $0512 ;$80C314 |
STA $2100 ;$80C317 |
REP #$20 ;$80C31A |
RTS ;$80C31C /
CODE_80C31D:
JSR CODE_80C321 ;$80C31D \
RTL ;$80C320 /
CODE_80C321:
LDA $2A ;$80C321 \
AND #$0001 ;$80C323 |
BEQ CODE_80C329 ;$80C326 |
RTS ;$80C328 /
CODE_80C329:
LDY #$7010 ;$80C329 \
LDA $2A ;$80C32C |
LSR A ;$80C32E |
AND #$007E ;$80C32F |
TAX ;$80C332 |
LDA.l DATA_80C38C,x ;$80C333 |
LDX #$0300 ;$80C337 |
STA $4312 ;$80C33A |
STA $4318 ;$80C33D |
STY $2116 ;$80C340 |
STX $4315 ;$80C343 |
LDA #$1801 ;$80C346 |
STA $4310 ;$80C349 |
SEP #$20 ;$80C34C |
LDA #$F4 ;$80C34E |
STA $4314 ;$80C350 |
LDA #$02 ;$80C353 |
STA $420B ;$80C355 |
REP #$20 ;$80C358 |
LDY #$7190 ;$80C35A |
LDA $2A ;$80C35D |
LSR A ;$80C35F |
AND #$001E ;$80C360 |
TAX ;$80C363 |
LDA.l DATA_80C446,x ;$80C364 |
LDX #$0380 ;$80C368 |
STA $4312 ;$80C36B |
STA $4318 ;$80C36E |
STY $2116 ;$80C371 |
STX $4315 ;$80C374 |
LDA #$1801 ;$80C377 |
STA $4310 ;$80C37A |
SEP #$20 ;$80C37D |
LDA #$F4 ;$80C37F |
STA $4314 ;$80C381 |
LDA #$02 ;$80C384 |
STA $420B ;$80C386 |
REP #$20 ;$80C389 |
RTS ;$80C38B /
DATA_80C38C:
dw DATA_F429D2
dw DATA_F42CD2
dw DATA_F42FD2
dw DATA_F432D2
dw DATA_F435D2
dw DATA_F432D2
dw DATA_F42FD2
dw DATA_F432D2
dw DATA_F435D2
dw DATA_F432D2
dw DATA_F42FD2
dw DATA_F432D2
dw DATA_F435D2
dw DATA_F432D2
dw DATA_F42FD2
dw DATA_F432D2
dw DATA_F435D2
dw DATA_F432D2
dw DATA_F42FD2
dw DATA_F432D2
dw DATA_F435D2
dw DATA_F432D2
dw DATA_F42FD2
dw DATA_F432D2
dw DATA_F435D2
dw DATA_F435D2
dw DATA_F432D2
dw DATA_F42FD2
dw DATA_F42CD2
dw DATA_F429D2
dw DATA_F438D2
dw DATA_F43BD2
dw DATA_F43ED2
dw DATA_F441D2
dw DATA_F43ED2
dw DATA_F43BD2
dw DATA_F438D2
dw DATA_F429D2
dw DATA_F438D2
dw DATA_F43BD2
dw DATA_F43ED2
dw DATA_F441D2
dw DATA_F43ED2
dw DATA_F43BD2
dw DATA_F438D2
dw DATA_F429D2
dw DATA_F438D2
dw DATA_F43BD2
dw DATA_F43ED2
dw DATA_F441D2
dw DATA_F43ED2
dw DATA_F43BD2
dw DATA_F438D2
dw DATA_F429D2
dw DATA_F438D2
dw DATA_F43BD2
dw DATA_F43ED2
dw DATA_F441D2
dw DATA_F43ED2
dw DATA_F43BD2
dw DATA_F438D2
dw DATA_F429D2
dw DATA_F438D2
dw DATA_F43BD2
dw DATA_F43ED2
dw DATA_F441D2
dw DATA_F43ED2
dw DATA_F43BD2
dw DATA_F438D2
dw DATA_F429D2
dw DATA_F438D2
dw DATA_F43BD2
dw DATA_F43ED2
dw DATA_F441D2
dw DATA_F43ED2
dw DATA_F43BD2
dw DATA_F438D2
dw DATA_F429D2
dw DATA_F438D2
dw DATA_F43BD2
dw DATA_F43ED2
dw DATA_F441D2
dw DATA_F43ED2
dw DATA_F43BD2
dw DATA_F438D2
dw DATA_F429D2
dw DATA_F438D2
dw DATA_F43BD2
dw DATA_F43ED2
dw DATA_F441D2
dw DATA_F43ED2
dw DATA_F43BD2
dw DATA_F438D2
DATA_80C446:
dw DATA_F41852
dw DATA_F41BD2
dw DATA_F41BD2
dw DATA_F41F52
dw DATA_F41F52
dw DATA_F422D2
dw DATA_F422D2
dw DATA_F42652
dw DATA_F42652
dw DATA_F422D2
dw DATA_F422D2
dw DATA_F41F52
dw DATA_F41F52
dw DATA_F41BD2
dw DATA_F41BD2
dw DATA_F41852
CODE_80C466:
LDA $059B ;$80C466 \
STA $420B ;$80C469 |
JSR CODE_80B83D ;$80C46C |
JSL CODE_B5A919 ;$80C46F |
JSL CODE_B5ADD8 ;$80C473 |
JSL CODE_B5B00B ;$80C477 |
JSR CODE_80F324 ;$80C47B |
JSR CODE_80CF21 ;$80C47E |
LDA $17C2 ;$80C481 |
LSR A ;$80C484 |
SEP #$20 ;$80C485 |
STA $2110 ;$80C487 |
STZ $2110 ;$80C48A |
LDA $17BA ;$80C48D |
LDA $17BB ;$80C490 |
LDA $17C2 ;$80C493 |
STA $210E ;$80C496 |
STZ $210E ;$80C499 |
LDA $0512 ;$80C49C |
STA $2100 ;$80C49F |
REP #$20 ;$80C4A2 |
RTS ;$80C4A4 /
CODE_80C4A5:
LDA $059B ;$80C4A5 \
STA $420B ;$80C4A8 |
JSR CODE_80B89C ;$80C4AB |
JSL CODE_B5A919 ;$80C4AE |
JSL CODE_B5ADD8 ;$80C4B2 |
JSL CODE_B5B00B ;$80C4B6 |
JSR CODE_80F324 ;$80C4BA |
LDA $08C2 ;$80C4BD |
BIT #$0140 ;$80C4C0 |
BNE CODE_80C4F8 ;$80C4C3 |
LDA $0915 ;$80C4C5 |
BEQ CODE_80C4CD ;$80C4C8 |
DEC $0915 ;$80C4CA |
CODE_80C4CD: ; |
LDA $0915 ;$80C4CD |
SEC ;$80C4D0 |
SBC $0917 ;$80C4D1 |
BEQ CODE_80C4F8 ;$80C4D4 |
BCS CODE_80C4DD ;$80C4D6 |
DEC $0917 ;$80C4D8 |
BRA CODE_80C4F8 ;$80C4DB /
CODE_80C4DD:
LDX #$0004 ;$80C4DD \
CMP #$0004 ;$80C4E0 |
BCS CODE_80C4E8 ;$80C4E3 |
LDX #$0001 ;$80C4E5 |
CODE_80C4E8: ; |
TXA ;$80C4E8 |
CLC ;$80C4E9 |
ADC $0917 ;$80C4EA |
CMP #$0040 ;$80C4ED |
BNE CODE_80C4F5 ;$80C4F0 |
LDA #$00B4 ;$80C4F2 |
CODE_80C4F5: ; |
STA $0917 ;$80C4F5 |
CODE_80C4F8: ; |
LDA $0917 ;$80C4F8 |
CMP #$003F ;$80C4FB |
BCC CODE_80C50B ;$80C4FE |
SEC ;$80C500 |
SBC #$00B4 ;$80C501 |
JSR CODE_80C57E ;$80C504 |
CLC ;$80C507 |
ADC #$003F ;$80C508 |
CODE_80C50B: ; |
LSR A ;$80C50B |
LSR A ;$80C50C |
CMP #$0018 ;$80C50D |
BCC CODE_80C515 ;$80C510 |
LDA #$0018 ;$80C512 |
CODE_80C515: ; |
STA $32 ;$80C515 |
LDA #$0018 ;$80C517 |
SEC ;$80C51A |
SBC $32 ;$80C51B |
STA $36 ;$80C51D |
STA $34 ;$80C51F |
LDA #$0005 ;$80C521 |
SEC ;$80C524 |
SBC $34 ;$80C525 |
JSR CODE_80C57E ;$80C527 |
XBA ;$80C52A |
ASL A ;$80C52B |
ASL A ;$80C52C |
TSB $36 ;$80C52D |
LDA #$0002 ;$80C52F |
SEC ;$80C532 |
SBC $34 ;$80C533 |
JSR CODE_80C57E ;$80C535 |
ASL A ;$80C538 |
ASL A ;$80C539 |
ASL A ;$80C53A |
ASL A ;$80C53B |
ASL A ;$80C53C |
ORA $36 ;$80C53D |
STA $0913 ;$80C53F |
LDY #$0000 ;$80C542 |
LDX #DATA_FD0910 ;$80C545 |
LDA $32 ;$80C548 |
CMP #$0014 ;$80C54A |
BCS CODE_80C55C ;$80C54D |
LDX #DATA_FD08F0 ;$80C54F |
CMP #$0010 ;$80C552 |
BCS CODE_80C55C ;$80C555 |
LDX #DATA_FD07F0 ;$80C557 |
BRA CODE_80C55C ;$80C55A /
CODE_80C55C:
TXA ;$80C55C \
LDX #$0004 ;$80C55D |
JSL DMA_palette ;$80C560 |
SEP #$20 ;$80C564 |
STZ $2121 ;$80C566 |
LDA $0913 ;$80C569 |
STA $2122 ;$80C56C |
LDA $0914 ;$80C56F |
STA $2122 ;$80C572 |
LDA $0512 ;$80C575 |
STA $2100 ;$80C578 |
REP #$20 ;$80C57B |
RTS ;$80C57D /
CODE_80C57E:
BPL CODE_80C583 ;$80C57E \
LDA #$0000 ;$80C580 |
CODE_80C583: ; |
RTS ;$80C583 /
CODE_80C584:
LDA $059B ;$80C584 \
STA $420B ;$80C587 |
JSL CODE_B5A919 ;$80C58A |
JSL CODE_B5ADD8 ;$80C58E |
JSL CODE_B5B00B ;$80C592 |
JSR CODE_80F324 ;$80C596 |
LDA $17BA ;$80C599 |
SEP #$20 ;$80C59C |
STA $210D ;$80C59E |
XBA ;$80C5A1 |
STA $210D ;$80C5A2 |
XBA ;$80C5A5 |
REP #$20 ;$80C5A6 |
CLC ;$80C5A8 |
ADC #$0080 ;$80C5A9 |
SEP #$20 ;$80C5AC |
STA $210F ;$80C5AE |
XBA ;$80C5B1 |
STA $210F ;$80C5B2 |
LDA $17C2 ;$80C5B5 |
STA $210E ;$80C5B8 |
STZ $210E ;$80C5BB |
STA $2110 ;$80C5BE |
STZ $2110 ;$80C5C1 |
LDA $0512 ;$80C5C4 |
STA $2100 ;$80C5C7 |
REP #$20 ;$80C5CA |
LDA $2A ;$80C5CC |
CLC ;$80C5CE |
ADC $17BA ;$80C5CF |
SEP #$20 ;$80C5D2 |
STA $2111 ;$80C5D4 |
XBA ;$80C5D7 |
STA $2111 ;$80C5D8 |
REP #$20 ;$80C5DB |
RTS ;$80C5DD /
CODE_80C5DE:
LDA $059B ;$80C5DE \
STA $420B ;$80C5E1 |
JSL CODE_B5A919 ;$80C5E4 |
JSL CODE_B5AA88 ;$80C5E8 |
JSL CODE_B5AC25 ;$80C5EC |
JSL CODE_B5ADD8 ;$80C5F0 |
JSL CODE_B5B00B ;$80C5F4 |
JSR CODE_80F324 ;$80C5F8 |
LDA $0913 ;$80C5FB |
BEQ CODE_80C629 ;$80C5FE |
LDA #$8C28 ;$80C600 |
STA $4302 ;$80C603 |
STA $4308 ;$80C606 |
LDA #$0100 ;$80C609 |
STA $4305 ;$80C60C |
LDA #$2200 ;$80C60F |
STA $4300 ;$80C612 |
SEP #$20 ;$80C615 |
LDA #$7E ;$80C617 |
STA $4304 ;$80C619 |
STZ $2121 ;$80C61C |
LDA #$01 ;$80C61F |
STA $420B ;$80C621 |
REP #$20 ;$80C624 |
STZ $0913 ;$80C626 |
CODE_80C629: ; |
LDA $17BA ;$80C629 |
SEP #$20 ;$80C62C |
STA $210D ;$80C62E |
XBA ;$80C631 |
STA $210D ;$80C632 |
LDA $B8 ;$80C635 |
STA $2111 ;$80C637 |
LDA $B9 ;$80C63A |
STA $2111 ;$80C63C |
REP #$20 ;$80C63F |
LDA $17C2 ;$80C641 |
SEP #$20 ;$80C644 |
STA $210E ;$80C646 |
STZ $210E ;$80C649 |
STA $2112 ;$80C64C |
STZ $2112 ;$80C64F |
LDA $0512 ;$80C652 |
STA $2100 ;$80C655 |
REP #$20 ;$80C658 |
RTS ;$80C65A /
CODE_80C65B:
LDA $059B ;$80C65B \
STA $420B ;$80C65E |
JSR CODE_80B86E ;$80C661 |
JSL CODE_B5A919 ;$80C664 |
JSL CODE_B5ADD8 ;$80C668 |
JSL CODE_B5B00B ;$80C66C |
JSR CODE_80F324 ;$80C670 |
LDA $17BA ;$80C673 |
LSR A ;$80C676 |
SEP #$20 ;$80C677 |
STA $210F ;$80C679 |
STZ $210F ;$80C67C |
REP #$20 ;$80C67F |
LDA $17C2 ;$80C681 |
LSR A ;$80C684 |
SEP #$20 ;$80C685 |
STA $2110 ;$80C687 |
STZ $2110 ;$80C68A |
REP #$20 ;$80C68D |
LDA $08C2 ;$80C68F |
BIT #$0140 ;$80C692 |
BNE CODE_80C6CA ;$80C695 |
LDA $0915 ;$80C697 |
BEQ CODE_80C69F ;$80C69A |
DEC $0915 ;$80C69C |
CODE_80C69F: ; |
LDA $0915 ;$80C69F |
SEC ;$80C6A2 |
SBC $0917 ;$80C6A3 |
BEQ CODE_80C6CA ;$80C6A6 |
BCS CODE_80C6AF ;$80C6A8 |
DEC $0917 ;$80C6AA |
BRA CODE_80C6CA ;$80C6AD /
CODE_80C6AF:
LDX #$0004 ;$80C6AF \
CMP #$0004 ;$80C6B2 |
BCS CODE_80C6BA ;$80C6B5 |
LDX #$0001 ;$80C6B7 |
CODE_80C6BA: ; |
TXA ;$80C6BA |
CLC ;$80C6BB |
ADC $0917 ;$80C6BC |
CMP #$0040 ;$80C6BF |
BNE CODE_80C6C7 ;$80C6C2 |
LDA #$00B4 ;$80C6C4 |
CODE_80C6C7: ; |
STA $0917 ;$80C6C7 |
CODE_80C6CA: ; |
LDA $0917 ;$80C6CA |
CMP #$003F ;$80C6CD |
BCC CODE_80C6DD ;$80C6D0 |
SEC ;$80C6D2 |
SBC #$00B4 ;$80C6D3 |
JSR CODE_80C57E ;$80C6D6 |
CLC ;$80C6D9 |
ADC #$003F ;$80C6DA |
CODE_80C6DD: ; |
LSR A ;$80C6DD |
LSR A ;$80C6DE |
CMP #$001C ;$80C6DF |
BCC CODE_80C6E7 ;$80C6E2 |
LDA #$001C ;$80C6E4 |
CODE_80C6E7: ; |
STA $32 ;$80C6E7 |
LDA #$0000 ;$80C6E9 |
CLC ;$80C6EC |
ADC $32 ;$80C6ED |
STA $36 ;$80C6EF |
STA $34 ;$80C6F1 |
LDA #$0000 ;$80C6F3 |
CLC ;$80C6F6 |
ADC $32 ;$80C6F7 |
JSR CODE_80C57E ;$80C6F9 |
XBA ;$80C6FC |
ASL A ;$80C6FD |
ASL A ;$80C6FE |
TSB $36 ;$80C6FF |
LDA #$0000 ;$80C701 |
CLC ;$80C704 |
ADC $32 ;$80C705 |
JSR CODE_80C57E ;$80C707 |
ASL A ;$80C70A |
ASL A ;$80C70B |
ASL A ;$80C70C |
ASL A ;$80C70D |
ASL A ;$80C70E |
ORA $36 ;$80C70F |
STA $0913 ;$80C711 |
LDY #$0000 ;$80C714 |
LDX #DATA_FD394E ;$80C717 |
LDA $32 ;$80C71A |
CMP #$0014 ;$80C71C |
BCS CODE_80C72E ;$80C71F |
LDX #DATA_FD396E ;$80C721 |
CMP #$000C ;$80C724 |
BCS CODE_80C72E ;$80C727 |
LDX #DATA_FD0910 ;$80C729 |
BRA CODE_80C72E ;$80C72C /
CODE_80C72E:
TXA ;$80C72E \
LDX #$0004 ;$80C72F |
JSL DMA_palette ;$80C732 |
SEP #$20 ;$80C736 |
STZ $2121 ;$80C738 |
LDA $0913 ;$80C73B |
STA $2122 ;$80C73E |
LDA $0914 ;$80C741 |
STA $2122 ;$80C744 |
LDA $0512 ;$80C747 |
STA $2100 ;$80C74A |
REP #$20 ;$80C74D |
RTS ;$80C74F /
CODE_80C750:
LDA $059B ;$80C750 \
STA $420B ;$80C753 |
JSL CODE_B5A919 ;$80C756 |
JSL CODE_B5ADD8 ;$80C75A |
JSL CODE_B5B00B ;$80C75E |
JSR CODE_80F324 ;$80C762 |
LDA $17BA ;$80C765 |
SEP #$20 ;$80C768 |
STA $210D ;$80C76A |
XBA ;$80C76D |
STA $210D ;$80C76E |
LDA $17C2 ;$80C771 |
STA $210E ;$80C774 |
STZ $210E ;$80C777 |
REP #$20 ;$80C77A |
LDA $17BA ;$80C77C |
LSR A ;$80C77F |
SEP #$20 ;$80C780 |
STA $210F ;$80C782 |
STZ $210F ;$80C785 |
REP #$20 ;$80C788 |
LDA $17BA ;$80C78A |
LSR A ;$80C78D |
LSR A ;$80C78E |
SEP #$20 ;$80C78F |
STA $2111 ;$80C791 |
STZ $2111 ;$80C794 |
REP #$20 ;$80C797 |
LDA $17C0 ;$80C799 |
LSR A ;$80C79C |
SEC ;$80C79D |
SBC #$0040 ;$80C79E |
SEP #$20 ;$80C7A1 |
STA $2110 ;$80C7A3 |
XBA ;$80C7A6 |
STA $2110 ;$80C7A7 |
REP #$20 ;$80C7AA |
LDA $17C0 ;$80C7AC |
SEC ;$80C7AF |
SBC #$0080 ;$80C7B0 |
LSR A ;$80C7B3 |
LSR A ;$80C7B4 |
SEP #$20 ;$80C7B5 |
STA $2112 ;$80C7B7 |
STZ $2112 ;$80C7BA |
LDA $0512 ;$80C7BD |
STA $2100 ;$80C7C0 |
REP #$20 ;$80C7C3 |
RTS ;$80C7C5 /
CODE_80C7C6:
LDA $059B ;$80C7C6 \
STA $420B ;$80C7C9 |
JSL CODE_B5A919 ;$80C7CC |
JSL CODE_B5ADD8 ;$80C7D0 |
JSL CODE_B5B00B ;$80C7D4 |
JSR CODE_80F324 ;$80C7D8 |
JSR CODE_80CA7E ;$80C7DB |
LDA $17BA ;$80C7DE |
SEP #$20 ;$80C7E1 |
STA $210D ;$80C7E3 |
XBA ;$80C7E6 |
STA $210D ;$80C7E7 |
LDA $17C2 ;$80C7EA |
STA $210E ;$80C7ED |
STZ $210E ;$80C7F0 |
REP #$20 ;$80C7F3 |
LDA $17BA ;$80C7F5 |
LSR A ;$80C7F8 |
SEP #$20 ;$80C7F9 |
STA $210F ;$80C7FB |
STZ $210F ;$80C7FE |
REP #$20 ;$80C801 |
LDA $17C2 ;$80C803 |
LSR A ;$80C806 |
SEP #$20 ;$80C807 |
STA $2110 ;$80C809 |
STZ $2110 ;$80C80C |
CLC ;$80C80F |
ADC #$04 ;$80C810 |
STA $2112 ;$80C812 |
STZ $2112 ;$80C815 |
LDA $0512 ;$80C818 |
STA $2100 ;$80C81B |
REP #$20 ;$80C81E |
RTS ;$80C820 /
CODE_80C821:
LDA $059B ;$80C821 \
STA $420B ;$80C824 |
JSR CODE_80B89C ;$80C827 |
JSL CODE_B5A919 ;$80C82A |
JSL CODE_B5ADD8 ;$80C82E |
JSL CODE_B5B00B ;$80C832 |
JSR CODE_80F324 ;$80C836 |
JSR CODE_80C1A9 ;$80C839 |
SEP #$20 ;$80C83C |
LDA $0512 ;$80C83E |
STA $2100 ;$80C841 |
REP #$20 ;$80C844 |
RTS ;$80C846 /
CODE_80C847:
LDA $059B ;$80C847 \
STA $420B ;$80C84A |
JSL CODE_B5A919 ;$80C84D |
JSL CODE_B5ADD8 ;$80C851 |
JSL CODE_B5B00B ;$80C855 |
JSR CODE_80F324 ;$80C859 |
JSR CODE_80CC36 ;$80C85C |
LDA $17BA ;$80C85F |
CLC ;$80C862 |
ADC $2A ;$80C863 |
LSR A ;$80C865 |
LSR A ;$80C866 |
SEP #$20 ;$80C867 |
STA $2111 ;$80C869 |
STZ $2111 ;$80C86C |
LDA $17BA ;$80C86F |
STA $210D ;$80C872 |
LDA $17BB ;$80C875 |
STA $210D ;$80C878 |
REP #$20 ;$80C87B |
LDA $17BA ;$80C87D |
LSR A ;$80C880 |
SEP #$20 ;$80C881 |
STA $210F ;$80C883 |
STZ $210F ;$80C886 |
REP #$20 ;$80C889 |
LDA $17C2 ;$80C88B |
LSR A ;$80C88E |
LSR A ;$80C88F |
SEP #$20 ;$80C890 |
STA $2112 ;$80C892 |
STZ $2112 ;$80C895 |
LDA $17C2 ;$80C898 |
STA $210E ;$80C89B |
STZ $210E ;$80C89E |
LDA $0512 ;$80C8A1 |
STA $2100 ;$80C8A4 |
REP #$20 ;$80C8A7 |
RTS ;$80C8A9 /
CODE_80C8AA:
LDA $059B ;$80C8AA \
STA $420B ;$80C8AD |
JSL CODE_B5A919 ;$80C8B0 |
JSL CODE_B5ADD8 ;$80C8B4 |
JSL CODE_B5B00B ;$80C8B8 |
JSR CODE_80F324 ;$80C8BC |
JSR CODE_80C973 ;$80C8BF |
LDA $17BA ;$80C8C2 |
LSR A ;$80C8C5 |
LSR A ;$80C8C6 |
SEP #$20 ;$80C8C7 |
STA $210F ;$80C8C9 |
STZ $210F ;$80C8CC |
LDA $17BA ;$80C8CF |
STA $210D ;$80C8D2 |
LDA $17BB ;$80C8D5 |
STA $210D ;$80C8D8 |
LDA $17C2 ;$80C8DB |
STA $210E ;$80C8DE |
LDA $17C3 ;$80C8E1 |
STA $210E ;$80C8E4 |
REP #$20 ;$80C8E7 |
LDA $17C2 ;$80C8E9 |
LSR A ;$80C8EC |
LSR A ;$80C8ED |
SEP #$20 ;$80C8EE |
STA $2110 ;$80C8F0 |
STZ $2110 ;$80C8F3 |
LDA $0512 ;$80C8F6 |
STA $2100 ;$80C8F9 |
REP #$20 ;$80C8FC |
RTS ;$80C8FE /
CODE_80C8FF:
LDA $059B ;$80C8FF \
STA $420B ;$80C902 |
JSL CODE_B5A919 ;$80C905 |
JSL CODE_B5ADD8 ;$80C909 |
JSL CODE_B5B00B ;$80C90D |
JSR CODE_80F324 ;$80C911 |
LDX #$80F2 ;$80C914 |
STX $4312 ;$80C917 |
LDX #$8012 ;$80C91A |
STX $4322 ;$80C91D |
LDA $2A ;$80C920 |
BIT #$0001 ;$80C922 |
BNE CODE_80C933 ;$80C925 |
LDX #$810A ;$80C927 |
STX $4312 ;$80C92A |
LDX #$85D2 ;$80C92D |
STX $4322 ;$80C930 |
CODE_80C933: ; |
LDA $17BA ;$80C933 |
LSR A ;$80C936 |
SEP #$20 ;$80C937 |
STA $2111 ;$80C939 |
STZ $2111 ;$80C93C |
LDA $17BA ;$80C93F |
STA $210F ;$80C942 |
LDA $17BB ;$80C945 |
STA $210F ;$80C948 |
LDA $17C2 ;$80C94B |
STA $2110 ;$80C94E |
STZ $2110 ;$80C951 |
STZ $2112 ;$80C954 |
STZ $2112 ;$80C957 |
LDA $0512 ;$80C95A |
STA $2100 ;$80C95D |
REP #$20 ;$80C960 |
RTS ;$80C962 /
DATA_80C963:
dw DATA_F30EBB
dw DATA_F30FCB
dw DATA_F310DB
dw DATA_F311EB
dw DATA_F312FB
dw DATA_F3140B
dw DATA_F3151B
dw DATA_F3162B
CODE_80C973:
LDA $08C2 ;$80C973 \
BIT #$0140 ;$80C976 |
BEQ CODE_80C97C ;$80C979 |
RTS ;$80C97B /
CODE_80C97C:
LDA $17C6 ;$80C97C \
CLC ;$80C97F |
ADC $19BE ;$80C980 |
STA $17C6 ;$80C983 |
LDA $2A ;$80C986 |
ASL A ;$80C988 |
ASL A ;$80C989 |
AND #$01FE ;$80C98A |
TAX ;$80C98D |
LDA.l DATA_B3F4D8,x ;$80C98E |
LSR A ;$80C992 |
LSR A ;$80C993 |
LSR A ;$80C994 |
LSR A ;$80C995 |
CLC ;$80C996 |
ADC $17C7 ;$80C997 |
CLC ;$80C99A |
ADC $17C0 ;$80C99B |
STA $17C4 ;$80C99E |
PEA $807E ;$80C9A1 |
PLB ;$80C9A4 |
LDY #$0000 ;$80C9A5 |
LDA $17C4 ;$80C9A8 |
AND #$FFF0 ;$80C9AB |
ASL A ;$80C9AE |
CLC ;$80C9AF |
ADC $2A ;$80C9B0 |
ASL A ;$80C9B2 |
CODE_80C9B3: ; |
AND #$01FE ;$80C9B3 |
TAX ;$80C9B6 |
LDA.l DATA_B3F4D8,x ;$80C9B7 |
LSR A ;$80C9BB |
LSR A ;$80C9BC |
CLC ;$80C9BD |
ADC $17BA ;$80C9BE |
STA $8013,y ;$80C9C1 |
TXA ;$80C9C4 |
CLC ;$80C9C5 |
ADC #$0040 ;$80C9C6 |
INY ;$80C9C9 |
INY ;$80C9CA |
INY ;$80C9CB |
CPY #$002D ;$80C9CC |
BNE CODE_80C9B3 ;$80C9CF |
PLB ;$80C9D1 |
SEP #$20 ;$80C9D2 |
LDA $17C4 ;$80C9D4 |
STA $2112 ;$80C9D7 |
STZ $2112 ;$80C9DA |
EOR #$0F ;$80C9DD |
AND #$0F ;$80C9DF |
INC A ;$80C9E1 |
STA $7E8012 ;$80C9E2 |
REP #$20 ;$80C9E6 |
LDA $2A ;$80C9E8 |
BIT #$0001 ;$80C9EA |
BEQ CODE_80CA1A ;$80C9ED |
AND #$000E ;$80C9EF |
TAX ;$80C9F2 |
LDA.l DATA_80C963,x ;$80C9F3 |
STA $4302 ;$80C9F7 |
LDA #$0120 ;$80C9FA |
STA $4305 ;$80C9FD |
LDA #$1801 ;$80CA00 |
STA $4300 ;$80CA03 |
LDA #$5008 ;$80CA06 |
STA $2116 ;$80CA09 |
SEP #$30 ;$80CA0C |
LDA #$F3 ;$80CA0E |
STA $4304 ;$80CA10 |
LDA #$01 ;$80CA13 |
STA $420B ;$80CA15 |
REP #$30 ;$80CA18 |
CODE_80CA1A: ; |
RTS ;$80CA1A /
CODE_80CA1B:
LDA $0D54 ;$80CA1B \
SEC ;$80CA1E |
SBC $17C0 ;$80CA1F |
CMP #$0038 ;$80CA22 |
BCC CODE_80CA2A ;$80CA25 |
LDA #$0038 ;$80CA27 |
CODE_80CA2A: ; |
STA $32 ;$80CA2A |
EOR #$00FF ;$80CA2C |
SEP #$20 ;$80CA2F |
STA $2112 ;$80CA31 |
STZ $2112 ;$80CA34 |
LDA $32 ;$80CA37 |
CLC ;$80CA39 |
ADC #$44 ;$80CA3A |
STA $7E80E5 ;$80CA3C |
STA $7E8834 ;$80CA40 |
STA $7E884E ;$80CA44 |
REP #$20 ;$80CA48 |
LDA $17BA ;$80CA4A |
LSR A ;$80CA4D |
LSR A ;$80CA4E |
LSR A ;$80CA4F |
EOR #$FFFF ;$80CA50 |
CLC ;$80CA53 |
ADC $17BA ;$80CA54 |
STA $7E884C ;$80CA57 |
STA $7E884F ;$80CA5B |
LDA $17BA ;$80CA5F |
STA $32 ;$80CA62 |
LDA $17B8 ;$80CA64 |
LSR $32 ;$80CA67 |
ROR A ;$80CA69 |
LSR $32 ;$80CA6A |
ROR A ;$80CA6C |
LSR $32 ;$80CA6D |
ROR A ;$80CA6F |
CLC ;$80CA70 |
ADC $17B8 ;$80CA71 |
LDA $32 ;$80CA74 |
ADC $17BA ;$80CA76 |
STA $7E8852 ;$80CA79 |
RTS ;$80CA7D /
CODE_80CA7E:
LDA $17BA ;$80CA7E \
LSR A ;$80CA81 |
LSR A ;$80CA82 |
AND #$000E ;$80CA83 |
TAX ;$80CA86 |
LDA $17BA ;$80CA87 |
LSR A ;$80CA8A |
CLC ;$80CA8B |
ADC #$0004 ;$80CA8C |
STA $32 ;$80CA8F |
STA $7E8012,x ;$80CA91 |
JSR CODE_80CADD ;$80CA95 |
LDA $32 ;$80CA98 |
INC A ;$80CA9A |
STA $7E8012,x ;$80CA9B |
JSR CODE_80CADD ;$80CA9F |
LDA $32 ;$80CAA2 |
INC A ;$80CAA4 |
INC A ;$80CAA5 |
STA $7E8012,x ;$80CAA6 |
JSR CODE_80CADD ;$80CAAA |
LDA $32 ;$80CAAD |
INC A ;$80CAAF |
INC A ;$80CAB0 |
STA $7E8012,x ;$80CAB1 |
JSR CODE_80CADD ;$80CAB5 |
LDA $32 ;$80CAB8 |
INC A ;$80CABA |
STA $7E8012,x ;$80CABB |
JSR CODE_80CADD ;$80CABF |
LDA $32 ;$80CAC2 |
STA $7E8012,x ;$80CAC4 |
JSR CODE_80CADD ;$80CAC8 |
LDA $32 ;$80CACB |
DEC A ;$80CACD |
STA $7E8012,x ;$80CACE |
JSR CODE_80CADD ;$80CAD2 |
LDA $32 ;$80CAD5 |
DEC A ;$80CAD7 |
STA $7E8012,x ;$80CAD8 |
RTS ;$80CADC /
CODE_80CADD:
INX ;$80CADD \
INX ;$80CADE |
TXA ;$80CADF |
AND #$000E ;$80CAE0 |
TAX ;$80CAE3 |
RTS ;$80CAE4 /
DATA_80CAE5:
dw DATA_F321E8
dw DATA_F32B88
dw DATA_F33528
dw DATA_F33EC8
dw DATA_F34868
dw DATA_F35208
dw DATA_F35BA8
dw DATA_F36548
CODE_80CAF5:
INX ;$80CAF5 \
INX ;$80CAF6 |
TXA ;$80CAF7 |
AND #$000E ;$80CAF8 |
TAX ;$80CAFB |
RTS ;$80CAFC /
CODE_80CAFD:
LDA #$022A ;$80CAFD \
SEC ;$80CB00 |
SBC $17C0 ;$80CB01 |
BEQ CODE_80CB08 ;$80CB04 |
BPL CODE_80CB0B ;$80CB06 |
CODE_80CB08: ; |
LDA #$0001 ;$80CB08 |
CODE_80CB0B: ; |
CMP #$007F ;$80CB0B |
BCC CODE_80CB13 ;$80CB0E |
LDA #$007F ;$80CB10 |
CODE_80CB13: ; |
SEP #$20 ;$80CB13 |
STA $7E8043 ;$80CB15 |
REP #$20 ;$80CB19 |
LDA $2A ;$80CB1B |
AND #$0038 ;$80CB1D |
LSR A ;$80CB20 |
LSR A ;$80CB21 |
TAX ;$80CB22 |
LDA $17BA ;$80CB23 |
STA $7E8048,x ;$80CB26 |
JSR CODE_80CAF5 ;$80CB2A |
LDA $17BA ;$80CB2D |
INC A ;$80CB30 |
STA $7E8048,x ;$80CB31 |
JSR CODE_80CAF5 ;$80CB35 |
LDA $17BA ;$80CB38 |
INC A ;$80CB3B |
INC A ;$80CB3C |
STA $7E8048,x ;$80CB3D |
JSR CODE_80CAF5 ;$80CB41 |
LDA $17BA ;$80CB44 |
INC A ;$80CB47 |
INC A ;$80CB48 |
STA $7E8048,x ;$80CB49 |
JSR CODE_80CAF5 ;$80CB4D |
LDA $17BA ;$80CB50 |
INC A ;$80CB53 |
STA $7E8048,x ;$80CB54 |
JSR CODE_80CAF5 ;$80CB58 |
LDA $17BA ;$80CB5B |
STA $7E8048,x ;$80CB5E |
JSR CODE_80CAF5 ;$80CB62 |
LDA $17BA ;$80CB65 |
DEC A ;$80CB68 |
STA $7E8048,x ;$80CB69 |
JSR CODE_80CAF5 ;$80CB6D |
LDA $17BA ;$80CB70 |
DEC A ;$80CB73 |
STA $7E8048,x ;$80CB74 |
LDA $84 ;$80CB78 |
STA $2126 ;$80CB7A |
SEP #$20 ;$80CB7D |
LDA #$81 ;$80CB7F |
STA $2115 ;$80CB81 |
REP #$20 ;$80CB84 |
LDX #$0000 ;$80CB86 |
CODE_80CB89: ; |
LDA $095B,x ;$80CB89 |
BEQ CODE_80CBA0 ;$80CB8C |
BIT #$4000 ;$80CB8E |
BNE CODE_80CB9D ;$80CB91 |
LDA $2A ;$80CB93 |
AND #$0003 ;$80CB95 |
BNE CODE_80CBA0 ;$80CB98 |
LDA $095B,x ;$80CB9A |
CODE_80CB9D: ; |
JSR CODE_80CBB1 ;$80CB9D |
CODE_80CBA0: ; |
INX ;$80CBA0 |
INX ;$80CBA1 |
CPX #$0008 ;$80CBA2 |
BNE CODE_80CB89 ;$80CBA5 |
SEP #$20 ;$80CBA7 |
LDA #$80 ;$80CBA9 |
STA $2115 ;$80CBAB |
REP #$20 ;$80CBAE |
RTS ;$80CBB0 /
CODE_80CBB1:
PHX ;$80CBB1 \
STA $32 ;$80CBB2 |
LDA $2A ;$80CBB4 |
AND #$000C ;$80CBB6 |
TAX ;$80CBB9 |
LDA #$0014 ;$80CBBA |
STA $38 ;$80CBBD |
LDA $32 ;$80CBBF |
BPL CODE_80CBCF ;$80CBC1 |
LDA #$0024 ;$80CBC3 |
STA $38 ;$80CBC6 |
TXA ;$80CBC8 |
ORA #$0010 ;$80CBC9 |
TAX ;$80CBCC |
LDA $32 ;$80CBCD |
CODE_80CBCF: ; |
BIT #$4000 ;$80CBCF |
BEQ CODE_80CBD7 ;$80CBD2 |
LDX #$0020 ;$80CBD4 |
CODE_80CBD7: ; |
LDA $32 ;$80CBD7 |
AND #$03FF ;$80CBD9 |
ORA #$7400 ;$80CBDC |
STA $32 ;$80CBDF |
STA $2116 ;$80CBE1 |
LDA.l DATA_80D3ED,x ;$80CBE4 |
STA $4302 ;$80CBE8 |
LDA $38 ;$80CBEB |
STA $4305 ;$80CBED |
LDA #$1801 ;$80CBF0 |
STA $4300 ;$80CBF3 |
SEP #$30 ;$80CBF6 |
LDA.l DATA_80D3EF,x ;$80CBF8 |
STA $4304 ;$80CBFC |
LDY #$01 ;$80CBFF |
STY $420B ;$80CC01 |
REP #$20 ;$80CC04 |
LDA $32 ;$80CC06 |
INC A ;$80CC08 |
EOR $32 ;$80CC09 |
AND #$001F ;$80CC0B |
EOR $32 ;$80CC0E |
STA $32 ;$80CC10 |
STA $2116 ;$80CC12 |
LDA $38 ;$80CC15 |
STA $4305 ;$80CC17 |
STY $420B ;$80CC1A |
LDA $32 ;$80CC1D |
INC A ;$80CC1F |
EOR $32 ;$80CC20 |
AND #$001F ;$80CC22 |
EOR $32 ;$80CC25 |
STA $2116 ;$80CC27 |
LDA $38 ;$80CC2A |
STA $4305 ;$80CC2C |
STY $420B ;$80CC2F |
REP #$10 ;$80CC32 |
PLX ;$80CC34 |
RTS ;$80CC35 /
CODE_80CC36:
LDA $08C2 ;$80CC36 \
BIT #$0140 ;$80CC39 |
BEQ CODE_80CC3F ;$80CC3C |
RTS ;$80CC3E /
CODE_80CC3F:
LDA $2A ;$80CC3F \
BIT #$0003 ;$80CC41 |
BNE CODE_80CC72 ;$80CC44 |
LSR A ;$80CC46 |
AND #$000E ;$80CC47 |
TAX ;$80CC4A |
LDA.l DATA_80CCE8,x ;$80CC4B |
STA $4302 ;$80CC4F |
LDA #$0220 ;$80CC52 |
STA $4305 ;$80CC55 |
LDA #$1801 ;$80CC58 |
STA $4300 ;$80CC5B |
LDA #$7010 ;$80CC5E |
STA $2116 ;$80CC61 |
SEP #$30 ;$80CC64 |
LDA #$F5 ;$80CC66 |
STA $4304 ;$80CC68 |
LDA #$01 ;$80CC6B |
STA $420B ;$80CC6D |
REP #$30 ;$80CC70 |
CODE_80CC72: ; |
LDA $17C6 ;$80CC72 |
CLC ;$80CC75 |
ADC $19BE ;$80CC76 |
STA $17C6 ;$80CC79 |
LDA $2A ;$80CC7C |
ASL A ;$80CC7E |
ASL A ;$80CC7F |
AND #$01FE ;$80CC80 |
TAX ;$80CC83 |
LDA.l DATA_B3F4D8,x ;$80CC84 |
LSR A ;$80CC88 |
LSR A ;$80CC89 |
LSR A ;$80CC8A |
SEC ;$80CC8B |
SBC $2A ;$80CC8C |
LSR A ;$80CC8E |
CLC ;$80CC8F |
ADC $17C0 ;$80CC90 |
STA $17C4 ;$80CC93 |
PEA $807E ;$80CC96 |
PLB ;$80CC99 |
LDY #$0000 ;$80CC9A |
LDA $17C4 ;$80CC9D |
AND #$FFF0 ;$80CCA0 |
ASL A ;$80CCA3 |
CLC ;$80CCA4 |
ADC $2A ;$80CCA5 |
ASL A ;$80CCA7 |
CODE_80CCA8: ; |
AND #$01FE ;$80CCA8 |
TAX ;$80CCAB |
LDA.l DATA_B3F4D8,x ;$80CCAC |
LSR A ;$80CCB0 |
LSR A ;$80CCB1 |
CLC ;$80CCB2 |
ADC $17C7 ;$80CCB3 |
CLC ;$80CCB6 |
ADC $17BA ;$80CCB7 |
STA $8013,y ;$80CCBA |
TXA ;$80CCBD |
CLC ;$80CCBE |
ADC #$0040 ;$80CCBF |
INY ;$80CCC2 |
INY ;$80CCC3 |
INY ;$80CCC4 |
CPY #$002D ;$80CCC5 |
BNE CODE_80CCA8 ;$80CCC8 |
PLB ;$80CCCA |
SEP #$20 ;$80CCCB |
LDA $17C4 ;$80CCCD |
STA $210E ;$80CCD0 |
STZ $210E ;$80CCD3 |
STA $2110 ;$80CCD6 |
STZ $2110 ;$80CCD9 |
EOR #$0F ;$80CCDC |
AND #$0F ;$80CCDE |
INC A ;$80CCE0 |
STA $7E8012 ;$80CCE1 |
REP #$20 ;$80CCE5 |
RTS ;$80CCE7 /
DATA_80CCE8:
dw DATA_F56C13
dw DATA_F56E33
dw DATA_F57053
dw DATA_F57273
dw DATA_F57493
dw DATA_F576B3
dw DATA_F578D3
dw DATA_F57AF3
CODE_80CCF8:
LDA $2A ;$80CCF8 \
AND #$0003 ;$80CCFA |
BEQ CODE_80CD28 ;$80CCFD |
CMP #$0001 ;$80CCFF |
BEQ CODE_80CD15 ;$80CD02 |
CMP #$0002 ;$80CD04 |
BEQ CODE_80CD0A ;$80CD07 |
RTS ;$80CD09 /
CODE_80CD0A:
LDY #$2100 ;$80CD0A \
LDA $2A ;$80CD0D |
CLC ;$80CD0F |
ADC #$0020 ;$80CD10 |
BRA CODE_80CD1A ;$80CD13 /
CODE_80CD15:
LDY #$20B0 ;$80CD15 \
LDA $2A ;$80CD18 |
CODE_80CD1A: ; |
LSR A ;$80CD1A |
AND #$003E ;$80CD1B |
TAX ;$80CD1E |
LDA.l DATA_80CD6E,x ;$80CD1F |
LDX #$00A0 ;$80CD23 |
BRA CODE_80CD3D ;$80CD26 /
CODE_80CD28:
LDY #$2010 ;$80CD28 \
LDA $2A ;$80CD2B |
LSR A ;$80CD2D |
CLC ;$80CD2E |
ADC #$0008 ;$80CD2F |
AND #$000E ;$80CD32 |
TAX ;$80CD35 |
LDA.l DATA_80CD5E,x ;$80CD36 |
LDX #$0140 ;$80CD3A |
CODE_80CD3D: ; |
STA $4302 ;$80CD3D |
STA $4308 ;$80CD40 |
STY $2116 ;$80CD43 |
STX $4305 ;$80CD46 |
LDA #$1801 ;$80CD49 |
STA $4300 ;$80CD4C |
SEP #$20 ;$80CD4F |
LDA #$F5 ;$80CD51 |
STA $4304 ;$80CD53 |
LDA #$01 ;$80CD56 |
STA $420B ;$80CD58 |
REP #$20 ;$80CD5B |
RTS ;$80CD5D /
DATA_80CD5E:
dw DATA_F517C7
dw DATA_F51907
dw DATA_F51A47
dw DATA_F51B87
dw DATA_F51B87
dw DATA_F51A47
dw DATA_F51907
dw DATA_F517C7
DATA_80CD6E:
dw DATA_F51CC7
dw DATA_F51D67
dw DATA_F51E07
dw DATA_F51EA7
dw DATA_F51EA7
dw DATA_F51EA7
dw DATA_F51E07
dw DATA_F51D67
dw DATA_F51CC7
dw DATA_F51F47
dw DATA_F51FE7
dw DATA_F51F47
dw DATA_F51CC7
dw DATA_F51F47
dw DATA_F51FE7
dw DATA_F51FE7
dw DATA_F51F47
dw DATA_F51CC7
dw DATA_F51CC7
dw DATA_F51CC7
dw DATA_F51D67
dw DATA_F51E07
dw DATA_F51EA7
dw DATA_F51EA7
dw DATA_F51EA7
dw DATA_F51EA7
dw DATA_F51EA7
dw DATA_F51E07
dw DATA_F51D67
dw DATA_F51CC7
dw DATA_F51CC7
dw DATA_F51CC7
CODE_80CDAE:
LDA $2A ;$80CDAE \
AND #$0003 ;$80CDB0 |
BNE CODE_80CDC7 ;$80CDB3 |
LDA $0957 ;$80CDB5 |
CLC ;$80CDB8 |
ADC #$0002 ;$80CDB9 |
CMP #$001E ;$80CDBC |
BNE CODE_80CDC4 ;$80CDBF |
LDA #$0000 ;$80CDC1 |
CODE_80CDC4: ; |
STA $0957 ;$80CDC4 |
CODE_80CDC7: ; |
LDA $2A ;$80CDC7 |
AND #$0003 ;$80CDC9 |
BEQ CODE_80CE09 ;$80CDCC |
CMP #$0001 ;$80CDCE |
BEQ CODE_80CE37 ;$80CDD1 |
CMP #$0003 ;$80CDD3 |
BEQ CODE_80CDDB ;$80CDD6 |
JMP CODE_80CE65 ;$80CDD8 /
CODE_80CDDB:
LDA #$2010 ;$80CDDB \
STA $2116 ;$80CDDE |
LDA $0957 ;$80CDE1 |
TAX ;$80CDE4 |
LDA DATA_80CED3,x ;$80CDE5 |
STA $4302 ;$80CDE8 |
STA $4308 ;$80CDEB |
LDA #$0180 ;$80CDEE |
STA $4305 ;$80CDF1 |
LDA #$1801 ;$80CDF4 |
STA $4300 ;$80CDF7 |
SEP #$20 ;$80CDFA |
LDA #$F5 ;$80CDFC |
STA $4304 ;$80CDFE |
LDA #$01 ;$80CE01 |
STA $420B ;$80CE03 |
REP #$20 ;$80CE06 |
RTS ;$80CE08 /
CODE_80CE09:
LDA #$2270 ;$80CE09 \
STA $2116 ;$80CE0C |
LDA $0957 ;$80CE0F |
TAX ;$80CE12 |
LDA DATA_80CE97,x ;$80CE13 |
STA $4302 ;$80CE16 |
STA $4308 ;$80CE19 |
LDA #$02C0 ;$80CE1C |
STA $4305 ;$80CE1F |
LDA #$1801 ;$80CE22 |
STA $4300 ;$80CE25 |
SEP #$20 ;$80CE28 |
LDA #$FB ;$80CE2A |
STA $4304 ;$80CE2C |
LDA #$01 ;$80CE2F |
STA $420B ;$80CE31 |
REP #$20 ;$80CE34 |
RTS ;$80CE36 /
CODE_80CE37:
LDA #$20D0 ;$80CE37 \
STA $2116 ;$80CE3A |
LDA $0957 ;$80CE3D |
TAX ;$80CE40 |
LDA DATA_80CEB5,x ;$80CE41 |
STA $4302 ;$80CE44 |
STA $4308 ;$80CE47 |
LDA #$01A0 ;$80CE4A |
STA $4305 ;$80CE4D |
LDA #$1801 ;$80CE50 |
STA $4300 ;$80CE53 |
SEP #$20 ;$80CE56 |
LDA #$FB ;$80CE58 |
STA $4304 ;$80CE5A |
LDA #$01 ;$80CE5D |
STA $420B ;$80CE5F |
REP #$20 ;$80CE62 |
RTS ;$80CE64 /
CODE_80CE65:
LDA #$21A0 ;$80CE65 \
STA $2116 ;$80CE68 |
LDA $0957 ;$80CE6B |
TAX ;$80CE6E |
LDA DATA_80CEB5,x ;$80CE6F |
CLC ;$80CE72 |
ADC #$1860 ;$80CE73 |
STA $4302 ;$80CE76 |
STA $4308 ;$80CE79 |
LDA #$01A0 ;$80CE7C |
STA $4305 ;$80CE7F |
LDA #$1801 ;$80CE82 |
STA $4300 ;$80CE85 |
SEP #$20 ;$80CE88 |
LDA #$FB ;$80CE8A |
STA $4304 ;$80CE8C |
LDA #$01 ;$80CE8F |
STA $420B ;$80CE91 |
REP #$20 ;$80CE94 |
RTS ;$80CE96 /
DATA_80CE97:
dw DATA_FB0AE0
dw DATA_FB0DA0
dw DATA_FB1060
dw DATA_FB1320
dw DATA_FB15E0
dw DATA_FB18A0
dw DATA_FB1B60
dw DATA_FB1E20
dw DATA_FB20E0
dw DATA_FB23A0
dw DATA_FB2660
dw DATA_FB2920
dw DATA_FB2BE0
dw DATA_FB2EA0
dw DATA_FB3160
DATA_80CEB5:
dw DATA_FB3420
dw DATA_FB35C0
dw DATA_FB3760
dw DATA_FB3900
dw DATA_FB3AA0
dw DATA_FB3C40
dw DATA_FB3DE0
dw DATA_FB3F80
dw DATA_FB4120
dw DATA_FB42C0
dw DATA_FB4460
dw DATA_FB4600
dw DATA_FB47A0
dw DATA_FB4940
dw DATA_FB4AE0
DATA_80CED3:
dw DATA_F50147
dw DATA_F502C7
dw DATA_F50447
dw DATA_F505C7
dw DATA_F50747
dw DATA_F508C7
dw DATA_F50A47
dw DATA_F50BC7
dw DATA_F50D47
dw DATA_F50EC7
dw DATA_F51047
dw DATA_F511C7
dw DATA_F51347
dw DATA_F514C7
dw DATA_F51647
DATA_80CEF1:
dw DATA_F36EE8
dw DATA_F370E8
dw DATA_F372E8
dw DATA_F374E8
dw DATA_F376E8
dw DATA_F378E8
dw DATA_F37AE8
dw DATA_F37CE8
DATA_80CF01:
dw DATA_F641C1
dw DATA_F645C1
dw DATA_F649C1
dw DATA_F64DC1
dw DATA_F651C1
dw DATA_F655C1
dw DATA_F659C1
dw DATA_F65DC1
DATA_80CF11:
dw DATA_FA5FC1
dw DATA_FA6381
dw DATA_FA6741
dw DATA_FA6B01
dw DATA_FA6EC1
dw DATA_FA7281
dw DATA_FA7641
dw DATA_FA7A01
CODE_80CF21:
LDA $2A ;$80CF21 \
BIT #$0007 ;$80CF23 |
BNE CODE_80CF57 ;$80CF26 |
LSR A ;$80CF28 |
LSR A ;$80CF29 |
AND #$000E ;$80CF2A |
TAX ;$80CF2D |
LDA #$2010 ;$80CF2E |
STA $2116 ;$80CF31 |
LDA DATA_80CF11,x ;$80CF34 |
STA $4312 ;$80CF37 |
STA $4318 ;$80CF3A |
LDA #$03C0 ;$80CF3D |
STA $4315 ;$80CF40 |
LDA #$1801 ;$80CF43 |
STA $4310 ;$80CF46 |
SEP #$20 ;$80CF49 |
LDA #$FA ;$80CF4B |
STA $4314 ;$80CF4D |
LDA #$02 ;$80CF50 |
STA $420B ;$80CF52 |
REP #$20 ;$80CF55 |
CODE_80CF57: ; |
RTS ;$80CF57 /
CODE_80CF58:
LDA $D3 ;$80CF58 \
CMP #$0009 ;$80CF5A |
BEQ CODE_80CF62 ;$80CF5D |
JSR CODE_80CF21 ;$80CF5F |
CODE_80CF62: ; |
LDA $052B ;$80CF62 |
AND #$1000 ;$80CF65 |
BNE CODE_80CF9F ;$80CF68 |
LDA $2A ;$80CF6A |
BIT #$0001 ;$80CF6C |
BNE CODE_80CF9F ;$80CF6F |
AND #$000E ;$80CF71 |
TAX ;$80CF74 |
LDA #$4F00 ;$80CF75 |
STA $2116 ;$80CF78 |
LDA DATA_80CEF1,x ;$80CF7B |
STA $4312 ;$80CF7E |
STA $4318 ;$80CF81 |
LDA #$0200 ;$80CF84 |
STA $4315 ;$80CF87 |
LDA #$1801 ;$80CF8A |
STA $4310 ;$80CF8D |
SEP #$20 ;$80CF90 |
LDA #$F3 ;$80CF92 |
STA $4314 ;$80CF94 |
LDA #$02 ;$80CF97 |
STA $420B ;$80CF99 |
REP #$20 ;$80CF9C |
RTS ;$80CF9E /
CODE_80CF9F:
LDA $0515 ;$80CF9F \
CMP #$0003 ;$80CFA2 |
BEQ CODE_80CFDB ;$80CFA5 |
LDA $2A ;$80CFA7 |
BIT #$0001 ;$80CFA9 |
BEQ CODE_80CFDB ;$80CFAC |
AND #$000E ;$80CFAE |
TAX ;$80CFB1 |
LDA #$6000 ;$80CFB2 |
STA $2116 ;$80CFB5 |
LDA DATA_80CF01,x ;$80CFB8 |
STA $4312 ;$80CFBB |
STA $4318 ;$80CFBE |
LDA #$0400 ;$80CFC1 |
STA $4315 ;$80CFC4 |
LDA #$1801 ;$80CFC7 |
STA $4310 ;$80CFCA |
SEP #$20 ;$80CFCD |
LDA #$F6 ;$80CFCF |
STA $4314 ;$80CFD1 |
LDA #$02 ;$80CFD4 |
STA $420B ;$80CFD6 |
REP #$20 ;$80CFD9 |
CODE_80CFDB: ; |
RTS ;$80CFDB /
CODE_80CFDC:
LDA $2A ;$80CFDC \
LSR A ;$80CFDE |
LSR A ;$80CFDF |
CLC ;$80CFE0 |
ADC $17C0 ;$80CFE1 |
AND #$0007 ;$80CFE4 |
STA $32 ;$80CFE7 |
ASL A ;$80CFE9 |
CLC ;$80CFEA |
ADC $32 ;$80CFEB |
CLC ;$80CFED |
ADC #$A35F ;$80CFEE |
STA $4312 ;$80CFF1 |
LDA $17BB ;$80CFF4 |
AND #$00FF ;$80CFF7 |
DEC A ;$80CFFA |
TAX ;$80CFFB |
LDA.l DATA_80D0B8,x ;$80CFFC |
AND #$00FF ;$80D000 |
EOR #$FFFF ;$80D003 |
SEC ;$80D006 |
ADC $17C0 ;$80D007 |
STA $17C4 ;$80D00A |
DEC A ;$80D00D |
STA $17C6 ;$80D00E |
LDA #$01C8 ;$80D011 |
SEC ;$80D014 |
SBC $17C4 ;$80D015 |
BPL CODE_80D01D ;$80D018 |
LDA #$0000 ;$80D01A |
CODE_80D01D: ; |
SEP #$20 ;$80D01D |
LSR A ;$80D01F |
STA $7E8332 ;$80D020 |
ADC #$00 ;$80D024 |
STA $7E8335 ;$80D026 |
REP #$20 ;$80D02A |
AND #$00FF ;$80D02C |
LSR A ;$80D02F |
STA $34 ;$80D030 |
LDA $17BA ;$80D032 |
AND #$00FF ;$80D035 |
EOR #$00FF ;$80D038 |
CLC ;$80D03B |
ADC #$0080 ;$80D03C |
CLC ;$80D03F |
ADC $34 ;$80D040 |
SEC ;$80D042 |
SBC #$0160 ;$80D043 |
BPL CODE_80D04B ;$80D046 |
LDA #$0000 ;$80D048 |
CODE_80D04B: ; |
SEP #$20 ;$80D04B |
STA $7E8333 ;$80D04D |
STA $7E8336 ;$80D051 |
REP #$20 ;$80D055 |
LDX #$A40F ;$80D057 |
LDA $2A ;$80D05A |
BIT #$0001 ;$80D05C |
BEQ CODE_80D064 ;$80D05F |
LDX #$A408 ;$80D061 |
CODE_80D064: ; |
STX $4322 ;$80D064 |
LDA $17BA ;$80D067 |
AND #$00FF ;$80D06A |
EOR #$00FF ;$80D06D |
CLC ;$80D070 |
ADC #$0080 ;$80D071 |
SEC ;$80D074 |
SBC $34 ;$80D075 |
CLC ;$80D077 |
ADC #$0030 ;$80D078 |
CMP #$00FF ;$80D07B |
BCC CODE_80D083 ;$80D07E |
LDA #$00FF ;$80D080 |
CODE_80D083: ; |
SEP #$20 ;$80D083 |
STA $7E8334 ;$80D085 |
STA $7E8337 ;$80D089 |
LDA #$71 ;$80D08D |
STA $2121 ;$80D08F |
REP #$20 ;$80D092 |
LDA #$8C28 ;$80D094 |
STA $4302 ;$80D097 |
STA $4308 ;$80D09A |
LDA #$001E ;$80D09D |
STA $4305 ;$80D0A0 |
LDA #$2200 ;$80D0A3 |
STA $4300 ;$80D0A6 |
SEP #$20 ;$80D0A9 |
LDA #$7E ;$80D0AB |
STA $4304 ;$80D0AD |
LDA #$01 ;$80D0B0 |
STA $420B ;$80D0B2 |
REP #$20 ;$80D0B5 |
RTS ;$80D0B7 /
DATA_80D0B8:
db $90, $68, $68, $90, $80, $80, $80, $80
db $90, $90, $78, $78, $78, $50, $50, $50
db $50, $50, $50, $50, $50, $60, $70, $70
db $60, $60, $60, $60, $60, $B8, $20, $20
db $20, $28, $60, $70, $10, $10, $10, $10
db $70
DATA_80D0E1:
db $01, $00, $08, $00, $10, $00, $18, $00
db $20, $04, $5F, $00, $66, $00, $0C, $00
db $74, $00, $00, $00, $02, $00, $09, $00
db $11, $00, $19, $08, $21, $04, $60, $08
db $67, $08, $6D, $04, $75, $04, $7C, $08
db $01, $40, $08, $40, $10, $40, $18, $40
db $20, $44, $5F, $40, $66, $40, $0C, $40
db $74, $40, $00, $00
DATA_80D11D:
db $03, $00, $0A, $00, $12, $00, $1A, $04
db $18, $00, $5D, $00, $0C, $00, $6E, $04
db $76, $00, $00, $00, $04, $00, $0B, $00
db $13, $00, $1B, $08, $22, $04, $61, $04
db $68, $04, $6F, $08, $77, $04, $7D, $08
db $03, $40, $0A, $40, $12, $40, $1A, $44
db $18, $40, $5D, $40, $0C, $40, $6E, $44
db $76, $40, $00, $00
DATA_80D159:
db $05, $00, $0C, $00, $14, $00, $1C, $04
db $23, $00, $62, $00, $69, $00, $70, $00
db $78, $00, $00, $00, $06, $00, $0D, $00
db $15, $04, $1D, $04, $24, $04, $63, $08
db $6A, $04, $71, $08, $79, $04, $7E, $08
db $05, $40, $0C, $40, $14, $40, $1C, $44
db $23, $40, $62, $40, $69, $40, $70, $40
db $78, $40, $00, $00
DATA_80D195:
db $00, $00, $0E, $00, $16, $00, $1E, $00
db $23, $00, $64, $00, $6B, $00, $72, $00
db $7A, $00, $00, $00, $07, $00, $0F, $00
db $17, $04, $1F, $04, $25, $04, $65, $04
db $6C, $08, $73, $04, $7B, $04, $7F, $08
db $00, $00, $0E, $40, $16, $40, $1E, $40
db $23, $40, $64, $40, $6B, $40, $72, $40
db $7A, $40, $00, $00
DATA_80D1D1:
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00, $00, $00, $00, $00
db $00, $00, $00, $00
DATA_80D23D:
db $01, $00, $08, $00, $10, $00, $18, $00
db $20, $04, $26, $04, $2E, $04, $36, $04
db $3D, $04, $44, $00, $4C, $04, $53, $00
db $59, $00, $5F, $00, $66, $00, $0C, $00
db $74, $00, $00, $00, $02, $00, $09, $00
db $11, $00, $19, $08, $21, $04, $27, $04
db $2F, $08, $37, $08, $3E, $08, $45, $08
db $4D, $08, $54, $08, $45, $08, $60, $08
db $67, $08, $6D, $04, $75, $04, $7C, $08
db $01, $40, $08, $40, $10, $40, $18, $40
db $20, $44, $26, $44, $2E, $44, $36, $44
db $3D, $44, $44, $40, $4C, $44, $53, $40
db $59, $40, $5F, $40, $66, $40, $0C, $40
db $74, $40, $00, $00
DATA_80D2A9:
db $03, $00, $0A, $00, $12, $00, $1A, $04
db $18, $00, $28, $04, $30, $00, $38, $04
db $3F, $00, $46, $04, $4E, $00, $55, $00
db $1E, $00, $5D, $00, $0C, $00, $6E, $04
db $76, $00, $00, $00, $04, $00, $0B, $00
db $13, $00, $1B, $08, $22, $04, $29, $08
db $31, $08, $39, $08, $40, $08, $47, $08
db $4F, $08, $56, $08, $5A, $08, $61, $04
db $68, $04, $6F, $08, $77, $04, $7D, $08
db $03, $40, $0A, $40, $12, $40, $1A, $44
db $18, $40, $28, $44, $30, $40, $38, $44
db $3F, $40, $46, $44, $4E, $40, $55, $40
db $1E, $40, $5D, $40, $0C, $40, $6E, $44
db $76, $40, $00, $00
DATA_80D315:
db $05, $00, $0C, $00, $14, $00, $1C, $04
db $23, $00, $2A, $04, $32, $04, $36, $04
db $23, $00, $48, $04, $1E, $00, $48, $04
db $5B, $00, $62, $00, $69, $00, $70, $00
db $78, $00, $00, $00, $06, $00, $0D, $00
db $15, $04, $1D, $04, $24, $04, $2B, $08
db $33, $08, $3A, $08, $41, $08, $49, $08
db $50, $08, $57, $08, $5C, $04, $63, $08
db $6A, $04, $71, $08, $79, $04, $7E, $08
db $05, $40, $0C, $40, $14, $40, $1C, $44
db $23, $40, $2A, $44, $32, $44, $36, $44
db $23, $40, $48, $44, $1E, $40, $48, $44
db $5B, $40, $62, $40, $69, $40, $70, $40
db $78, $40, $00, $00
DATA_80D381:
db $00, $00, $0E, $00, $16, $00, $1E, $00
db $23, $00, $2C, $00, $34, $04, $3B, $00
db $42, $04, $4A, $04, $51, $00, $55, $00
db $5D, $00, $64, $00, $6B, $00, $72, $00
db $7A, $00, $00, $00, $07, $00, $0F, $00
db $17, $04, $1F, $04, $25, $04, $2D, $08
db $35, $08, $3C, $08, $43, $08, $4B, $08
db $52, $08, $58, $08, $5E, $08, $65, $04
db $6C, $08, $73, $04, $7B, $04, $7F, $08
db $00, $00, $0E, $40, $16, $40, $1E, $40
db $23, $40, $2C, $40, $34, $44, $3B, $40
db $42, $44, $4A, $44, $51, $40, $55, $40
db $5D, $40, $64, $40, $6B, $40, $72, $40
db $7A, $40, $00, $00
DATA_80D3ED:
%offset(DATA_80D3EF, 2)
dl DATA_80D0E1 : db $00
dl DATA_80D11D : db $00
dl DATA_80D159 : db $00
dl DATA_80D195 : db $00
dl DATA_80D23D : db $00
dl DATA_80D2A9 : db $00
dl DATA_80D315 : db $00
dl DATA_80D381 : db $00
dl DATA_80D1D1 : db $00
DATA_80D411:
dw CODE_80D45A
dw CODE_80D462
dw CODE_80D486
dw CODE_80D557
dw CODE_80D58C
dw CODE_80D451
dw CODE_80D595
dw CODE_80D5C3
dw CODE_80D5E7
dw CODE_80D61B
dw CODE_80D642
dw CODE_80D665
dw CODE_80D66E
dw CODE_80D784
dw CODE_80D7AB
dw CODE_80D830
dw CODE_80D854
dw CODE_80D886
dw CODE_80D8B7
dw CODE_80D8DE
dw CODE_80D902
dw CODE_80DA21
dw CODE_80DA45
dw CODE_80DA76
dw CODE_80DA9A
dw CODE_80DACB
dw CODE_80DB12
dw CODE_80DB36
dw CODE_80DB6B
dw CODE_80DB99
dw CODE_80DBCE
dw CODE_80DD3C
CODE_80D451:
JSR CODE_808988 ;$80D451 \
JSR CODE_808C3D ;$80D454 |
JMP CODE_808CA2 ;$80D457 /
CODE_80D45A:
JMP CODE_808CA2 ;$80D45A /
CODE_80D45D:
DEC $2A ;$80D45D \
JMP CODE_808CA2 ;$80D45F /
CODE_80D462:
JSR CODE_808988 ;$80D462 \
BNE CODE_80D483 ;$80D465 |
JSL CODE_BBB5C4 ;$80D467 |
JSL sprite_handler ;$80D46B |
JSL CODE_B5E50D ;$80D46F |
JSL CODE_B5B9B0 ;$80D473 |
JSR CODE_80F35B ;$80D477 |
JSR CODE_8088BA ;$80D47A |
JSR CODE_808C3D ;$80D47D |
JMP CODE_808CA2 ;$80D480 /
CODE_80D483:
JMP CODE_80D45D ;$80D483 /
CODE_80D486:
JSR CODE_80E646 ;$80D486 \
JSR CODE_808988 ;$80D489 |
BNE CODE_80D4B4 ;$80D48C |
JSR CODE_80D4FA ;$80D48E |
JSL CODE_BBB5C4 ;$80D491 |
JSL sprite_handler ;$80D495 |
JSL CODE_B5E50D ;$80D499 |
JSL CODE_B5B54A ;$80D49D |
JSR CODE_80F35B ;$80D4A1 |
JSL CODE_BEC9C0 ;$80D4A4 |
JSR CODE_8088BA ;$80D4A8 |
JSR CODE_80D4B7 ;$80D4AB |
JSR CODE_808C3D ;$80D4AE |
JMP CODE_808CA2 ;$80D4B1 /
CODE_80D4B4:
JMP CODE_80D45D ;$80D4B4 /
CODE_80D4B7:
LDX $0593 ;$80D4B7 \
LDA $0A,x ;$80D4BA |
CMP $0D4E ;$80D4BC |
BMI CODE_80D4DE ;$80D4BF |
LDA #$0004 ;$80D4C1 |
TSB $08C2 ;$80D4C4 |
BNE CODE_80D4F9 ;$80D4C7 |
LDX $0593 ;$80D4C9 |
STX $64 ;$80D4CC |
LDY #$0018 ;$80D4CE |
JSL CODE_BB842C ;$80D4D1 |
LDA #$0662 ;$80D4D5 |
JSL CODE_B58003 ;$80D4D8 |
BRA CODE_80D4F9 ;$80D4DC /
CODE_80D4DE:
LDA #$0004 ;$80D4DE \
TRB $08C2 ;$80D4E1 |
BEQ CODE_80D4F9 ;$80D4E4 |
LDX $0593 ;$80D4E6 |
STX $64 ;$80D4E9 |
LDY #$001A ;$80D4EB |
JSL CODE_BB842C ;$80D4EE |
LDA #$0662 ;$80D4F2 |
JSL CODE_B58003 ;$80D4F5 |
CODE_80D4F9: ; |
RTS ;$80D4F9 /
CODE_80D4FA:
LDA $08C2 ;$80D4FA \
AND #$0140 ;$80D4FD |
BNE CODE_80D556 ;$80D500 |
LDA $0D50 ;$80D502 |
ORA $0D4A ;$80D505 |
BEQ CODE_80D556 ;$80D508 |
LDA $0D4A ;$80D50A |
CMP #$8000 ;$80D50D |
BEQ CODE_80D547 ;$80D510 |
LDA #$0D26 ;$80D512 |
STA $64 ;$80D515 |
LDA #$0007 ;$80D517 |
JSL CODE_B8CFD4 ;$80D51A |
LDX #$0000 ;$80D51E |
LDA $0D4A ;$80D521 |
BPL CODE_80D527 ;$80D524 |
DEX ;$80D526 |
CODE_80D527: ; |
CLC ;$80D527 |
ADC $0D4D ;$80D528 |
STA $0D4D ;$80D52B |
SEP #$20 ;$80D52E |
TXA ;$80D530 |
ADC $0D4F ;$80D531 |
STA $0D4F ;$80D534 |
REP #$20 ;$80D537 |
LDA $0D52 ;$80D539 |
SEC ;$80D53C |
SBC $0D4E ;$80D53D |
BEQ CODE_80D547 ;$80D540 |
EOR $0D4A ;$80D542 |
BPL CODE_80D556 ;$80D545 |
CODE_80D547: ; |
LDA $0D52 ;$80D547 |
STA $0D4E ;$80D54A |
STZ $0D50 ;$80D54D |
STZ $0D4A ;$80D550 |
STZ $0D4C ;$80D553 |
CODE_80D556: ; |
RTS ;$80D556 /
CODE_80D557:
JSR CODE_808988 ;$80D557 \
BNE CODE_80D589 ;$80D55A |
JSL CODE_BBB5C4 ;$80D55C |
JSL sprite_handler ;$80D560 |
JSL CODE_B5E50D ;$80D564 |
LDA $0AB4 ;$80D568 |
AND #$000F ;$80D56B |
CMP #$0005 ;$80D56E |
BEQ CODE_80D579 ;$80D571 |
JSL CODE_B5B54A ;$80D573 |
BRA CODE_80D57D ;$80D577 /
CODE_80D579:
JSL CODE_B5B317 ;$80D579 \
CODE_80D57D: ; |
JSR CODE_80F35B ;$80D57D |
JSR CODE_8088BA ;$80D580 |
JSR CODE_808C3D ;$80D583 |
JMP CODE_808CA2 ;$80D586 /
CODE_80D589:
JMP CODE_80D45D ;$80D589 /
CODE_80D58C:
JSR CODE_808988 ;$80D58C \
JSR CODE_808C3D ;$80D58F |
JMP CODE_808CA2 ;$80D592 /
CODE_80D595:
JSR CODE_808988 ;$80D595 \
BNE CODE_80D5C0 ;$80D598 |
JSL CODE_BBB5C4 ;$80D59A |
JSL sprite_handler ;$80D59E |
JSL CODE_B5E50D ;$80D5A2 |
JSR CODE_80E52B ;$80D5A6 |
JSL CODE_B5B9BB ;$80D5A9 |
JSL CODE_B5B9B0 ;$80D5AD |
JSR CODE_80F35B ;$80D5B1 |
JSR CODE_8088BA ;$80D5B4 |
JSR CODE_80E580 ;$80D5B7 |
JSR CODE_808C3D ;$80D5BA |
JMP CODE_808CA2 ;$80D5BD /
CODE_80D5C0:
JMP CODE_80D45D ;$80D5C0 /
CODE_80D5C3:
JSR CODE_808988 ;$80D5C3 \
BNE CODE_80D5E4 ;$80D5C6 |
JSL CODE_BBB5C4 ;$80D5C8 |
JSL sprite_handler ;$80D5CC |
JSL CODE_B5E50D ;$80D5D0 |
JSL CODE_B5B9B0 ;$80D5D4 |
JSR CODE_80F35B ;$80D5D8 |
JSR CODE_8088BA ;$80D5DB |
JSR CODE_808C3D ;$80D5DE |
JMP CODE_808CA2 ;$80D5E1 /
CODE_80D5E4:
JMP CODE_80D45D ;$80D5E4 /
CODE_80D5E7:
JSR CODE_808988 ;$80D5E7 \
BNE CODE_80D618 ;$80D5EA |
LDX #$002C ;$80D5EC |
LDA $2A ;$80D5EF |
INC A ;$80D5F1 |
AND #$0007 ;$80D5F2 |
BNE CODE_80D5FA ;$80D5F5 |
LDX #$001C ;$80D5F7 |
CODE_80D5FA: ; |
STX $78 ;$80D5FA |
JSL CODE_BBB5C4 ;$80D5FC |
JSL sprite_handler ;$80D600 |
JSL CODE_B5E50D ;$80D604 |
JSL CODE_B5B9A5 ;$80D608 |
JSR CODE_80F35B ;$80D60C |
JSR CODE_8088BA ;$80D60F |
JSR CODE_808C3D ;$80D612 |
JMP CODE_808CA2 ;$80D615 /
CODE_80D618:
JMP CODE_80D45D ;$80D618 /
CODE_80D61B:
JSR CODE_808988 ;$80D61B \
BNE CODE_80D63F ;$80D61E |
JSL CODE_BBB5C4 ;$80D620 |
JSL sprite_handler ;$80D624 |
JSL CODE_B5E50D ;$80D628 |
JSR CODE_80E472 ;$80D62C |
JSL CODE_B5B9B0 ;$80D62F |
JSR CODE_80F35B ;$80D633 |
JSR CODE_8088BA ;$80D636 |
JSR CODE_808C3D ;$80D639 |
JMP CODE_808CA2 ;$80D63C /
CODE_80D63F:
JMP CODE_80D45D ;$80D63F /
CODE_80D642:
JSR CODE_808988 ;$80D642 \
BNE CODE_80D662 ;$80D645 |
JSL CODE_BBB5C4 ;$80D647 |
JSL sprite_handler ;$80D64B |
JSL CODE_B5E50D ;$80D64F |
JSR CODE_80F35B ;$80D653 |
JSR CODE_8088BA ;$80D656 |
JSR CODE_80E580 ;$80D659 |
JSR CODE_808C3D ;$80D65C |
JMP CODE_808CA2 ;$80D65F /
CODE_80D662:
JMP CODE_80D45D ;$80D662 /
CODE_80D665:
JSR CODE_808988 ;$80D665 \
JSR CODE_808C3D ;$80D668 |
JMP CODE_808CA2 ;$80D66B /
CODE_80D66E:
JSR CODE_808988 ;$80D66E \
BNE CODE_80D692 ;$80D671 |
JSL CODE_BBB5C4 ;$80D673 |
JSL sprite_handler ;$80D677 |
JSL CODE_B5E50D ;$80D67B |
JSR CODE_80D695 ;$80D67F |
JSL CODE_B5B9A5 ;$80D682 |
JSR CODE_80F35B ;$80D686 |
JSR CODE_8088BA ;$80D689 |
JSR CODE_808C3D ;$80D68C |
JMP CODE_808CA2 ;$80D68F /
CODE_80D692:
JMP CODE_80D45D ;$80D692 /
CODE_80D695:
LDA $2A ;$80D695 \
ASL A ;$80D697 |
AND #$003F ;$80D698 |
BIT #$0020 ;$80D69B |
BEQ CODE_80D6A3 ;$80D69E |
EOR #$003F ;$80D6A0 |
CODE_80D6A3: ; |
CMP #$0020 ;$80D6A3 |
BCC CODE_80D6AB ;$80D6A6 |
LDA #$0020 ;$80D6A8 |
CODE_80D6AB: ; |
STA $32 ;$80D6AB |
ASL A ;$80D6AD |
ASL A ;$80D6AE |
XBA ;$80D6AF |
STA $36 ;$80D6B0 |
XBA ;$80D6B2 |
ASL A ;$80D6B3 |
ASL A ;$80D6B4 |
ASL A ;$80D6B5 |
STA $34 ;$80D6B6 |
LDX #$0000 ;$80D6B8 |
CODE_80D6BB: ; |
LDA.l DATA_FD2270,x ;$80D6BB |
AND #$001F ;$80D6BF |
SEC ;$80D6C2 |
SBC $32 ;$80D6C3 |
SBC $32 ;$80D6C5 |
SBC $32 ;$80D6C7 |
SBC $32 ;$80D6C9 |
BPL CODE_80D6D0 ;$80D6CB |
LDA #$0000 ;$80D6CD |
CODE_80D6D0: ; |
STA $38 ;$80D6D0 |
LDA.l DATA_FD2270,x ;$80D6D2 |
AND #$03E0 ;$80D6D6 |
SEC ;$80D6D9 |
SBC $34 ;$80D6DA |
SBC $34 ;$80D6DC |
SBC $34 ;$80D6DE |
SBC $34 ;$80D6E0 |
BPL CODE_80D6E7 ;$80D6E2 |
LDA #$0000 ;$80D6E4 |
CODE_80D6E7: ; |
TSB $38 ;$80D6E7 |
LDA.l DATA_FD2270,x ;$80D6E9 |
AND #$7C00 ;$80D6ED |
SEC ;$80D6F0 |
SBC $36 ;$80D6F1 |
BPL CODE_80D6F8 ;$80D6F3 |
LDA #$0000 ;$80D6F5 |
CODE_80D6F8: ; |
ORA $38 ;$80D6F8 |
STA $7E8014,x ;$80D6FA |
INX ;$80D6FE |
INX ;$80D6FF |
CPX #$001E ;$80D700 |
BNE CODE_80D6BB ;$80D703 |
LDA $2A ;$80D705 |
AND #$0020 ;$80D707 |
BEQ CODE_80D716 ;$80D70A |
JSR CODE_80B13E ;$80D70C |
AND #$0001 ;$80D70F |
STA $7E8012 ;$80D712 |
CODE_80D716: ; |
LDA.l $7E8012 ;$80D716 |
BEQ CODE_80D71D ;$80D71A |
RTS ;$80D71C /
CODE_80D71D:
LDA $32 ;$80D71D \
JSR CODE_80D77A ;$80D71F |
STA $32 ;$80D722 |
LDA $34 ;$80D724 |
JSR CODE_80D77A ;$80D726 |
AND #$03E0 ;$80D729 |
STA $34 ;$80D72C |
LDA $36 ;$80D72E |
JSR CODE_80D77A ;$80D730 |
AND #$7C00 ;$80D733 |
STA $36 ;$80D736 |
LDX #$0000 ;$80D738 |
CODE_80D73B: ; |
LDA.l DATA_FD22D0,x ;$80D73B |
AND #$001F ;$80D73F |
SEC ;$80D742 |
SBC $32 ;$80D743 |
BPL CODE_80D74A ;$80D745 |
LDA #$0000 ;$80D747 |
CODE_80D74A: ; |
STA $38 ;$80D74A |
LDA.l DATA_FD22D0,x ;$80D74C |
AND #$03E0 ;$80D750 |
SEC ;$80D753 |
SBC $34 ;$80D754 |
BPL CODE_80D75B ;$80D756 |
LDA #$0000 ;$80D758 |
CODE_80D75B: ; |
TSB $38 ;$80D75B |
LDA.l DATA_FD22D0,x ;$80D75D |
AND #$7C00 ;$80D761 |
SEC ;$80D764 |
SBC $36 ;$80D765 |
BPL CODE_80D76C ;$80D767 |
LDA #$0000 ;$80D769 |
CODE_80D76C: ; |
ORA $38 ;$80D76C |
STA $7E8032,x ;$80D76E |
INX ;$80D772 |
INX ;$80D773 |
CPX #$000C ;$80D774 |
BNE CODE_80D73B ;$80D777 |
RTS ;$80D779 /
CODE_80D77A:
LSR A ;$80D77A \
LSR A ;$80D77B |
LSR A ;$80D77C |
STA $38 ;$80D77D |
LSR A ;$80D77F |
LSR A ;$80D780 |
ADC $38 ;$80D781 |
RTS ;$80D783 /
CODE_80D784:
JSR CODE_808988 ;$80D784 \
BNE CODE_80D7A8 ;$80D787 |
JSL CODE_BBB5C4 ;$80D789 |
JSL sprite_handler ;$80D78D |
JSL CODE_B5E50D ;$80D791 |
JSL CODE_B5B9B0 ;$80D795 |
JSR CODE_80F35B ;$80D799 |
JSR CODE_8088BA ;$80D79C |
JSR CODE_80F157 ;$80D79F |
JSR CODE_808C3D ;$80D7A2 |
JMP CODE_808CA2 ;$80D7A5 /
CODE_80D7A8:
JMP CODE_80D45D ;$80D7A8 /
CODE_80D7AB:
JSR CODE_808988 ;$80D7AB \
BNE CODE_80D7CF ;$80D7AE |
JSL CODE_BBB5C4 ;$80D7B0 |
JSR CODE_80D7E6 ;$80D7B4 |
JSL sprite_handler ;$80D7B7 |
JSL CODE_B5E50D ;$80D7BB |
JSL CODE_B5B9B0 ;$80D7BF |
JSR CODE_80F35B ;$80D7C3 |
JSR CODE_8088BA ;$80D7C6 |
JSR CODE_808C3D ;$80D7C9 |
JMP CODE_808CA2 ;$80D7CC /
CODE_80D7CF:
JMP CODE_80D45D ;$80D7CF /
DATA_80D7D2:
db $10, $00, $00, $04, $00, $01, $00, $01
db $C0, $00
DATA_80D7DC:
db $F0, $FF, $00, $FC, $00, $FF, $00, $FF
db $40, $FF
CODE_80D7E6:
PHK ;$80D7E6 \
PLB ;$80D7E7 |
LDY #DATA_80D7D2 ;$80D7E8 |
LDA $19C0 ;$80D7EB |
BNE CODE_80D7F1 ;$80D7EE |
RTS ;$80D7F0 /
CODE_80D7F1:
BPL CODE_80D7F6 ;$80D7F1 \
LDY #DATA_80D7DC ;$80D7F3 |
CODE_80D7F6: ; |
LDX $0593 ;$80D7F6 |
LDA $1E,x ;$80D7F9 |
LSR A ;$80D7FB |
BCS CODE_80D813 ;$80D7FC |
LDA $26,x ;$80D7FE |
BEQ CODE_80D80D ;$80D800 |
EOR $19C0 ;$80D802 |
BMI CODE_80D80D ;$80D805 |
LDA $0002,y ;$80D807 |
STA $2C,x ;$80D80A |
RTS ;$80D80C /
CODE_80D80D:
LDA $0004,y ;$80D80D \
STA $2C,x ;$80D810 |
RTS ;$80D812 /
CODE_80D813:
LDA $26,x ;$80D813 \
BNE CODE_80D81D ;$80D815 |
LDA $0000,y ;$80D817 |
STA $2C,x ;$80D81A |
RTS ;$80D81C /
CODE_80D81D:
LDA $19C0 ;$80D81D \
EOR $26,x ;$80D820 |
BMI CODE_80D82A ;$80D822 |
LDA $0006,y ;$80D824 |
STA $2C,x ;$80D827 |
RTS ;$80D829 /
CODE_80D82A:
LDA $0008,y ;$80D82A \
STA $2C,x ;$80D82D |
RTS ;$80D82F /
CODE_80D830:
JSR CODE_808988 ;$80D830 \
BNE CODE_80D851 ;$80D833 |
JSL CODE_BBB5C4 ;$80D835 |
JSL sprite_handler ;$80D839 |
JSL CODE_B5E50D ;$80D83D |
JSL CODE_B5B9B0 ;$80D841 |
JSR CODE_80F35B ;$80D845 |
JSR CODE_8088BA ;$80D848 |
JSR CODE_808C3D ;$80D84B |
JMP CODE_808CA2 ;$80D84E /
CODE_80D851:
JMP CODE_80D45D ;$80D851 /
CODE_80D854:
JSR CODE_808988 ;$80D854 \
BNE CODE_80D883 ;$80D857 |
JSL CODE_BBB5C4 ;$80D859 |
JSL sprite_handler ;$80D85D |
JSL CODE_B5E50D ;$80D861 |
LDA $0AB4 ;$80D865 |
CMP #$0006 ;$80D868 |
BNE CODE_80D873 ;$80D86B |
JSL CODE_B5B77D ;$80D86D |
BRA CODE_80D877 ;$80D871 /
CODE_80D873:
JSL CODE_B5B54A ;$80D873 \
CODE_80D877: ; |
JSR CODE_80F35B ;$80D877 |
JSR CODE_8088BA ;$80D87A |
JSR CODE_808C3D ;$80D87D |
JMP CODE_808CA2 ;$80D880 /
CODE_80D883:
JMP CODE_80D45D ;$80D883 /
CODE_80D886:
JSR CODE_80E64E ;$80D886 \
JSR CODE_808988 ;$80D889 |
BNE CODE_80D8B4 ;$80D88C |
JSR CODE_80D4FA ;$80D88E |
JSL CODE_BBB5C4 ;$80D891 |
JSL sprite_handler ;$80D895 |
JSL CODE_B5E50D ;$80D899 |
JSR CODE_80DF94 ;$80D89D |
JSL CODE_B5B54A ;$80D8A0 |
JSR CODE_80F35B ;$80D8A4 |
JSL CODE_BEC9C0 ;$80D8A7 |
JSR CODE_8088BA ;$80D8AB |
JSR CODE_808C3D ;$80D8AE |
JMP CODE_808CA2 ;$80D8B1 /
CODE_80D8B4:
JMP CODE_80D45D ;$80D8B4 /
CODE_80D8B7:
JSR CODE_808988 ;$80D8B7 \
BNE CODE_80D8DB ;$80D8BA |
JSL CODE_BBB5C4 ;$80D8BC |
JSL sprite_handler ;$80D8C0 |
JSL CODE_B5E50D ;$80D8C4 |
JSL CODE_B5B9B0 ;$80D8C8 |
JSR CODE_80F35B ;$80D8CC |
JSR CODE_8088BA ;$80D8CF |
JSR CODE_80DE01 ;$80D8D2 |
JSR CODE_808C3D ;$80D8D5 |
JMP CODE_808CA2 ;$80D8D8 /
CODE_80D8DB:
JMP CODE_80D45D ;$80D8DB /
CODE_80D8DE:
JSR CODE_808988 ;$80D8DE \
BNE CODE_80D8DB ;$80D8E1 |
JSL CODE_BBB5C4 ;$80D8E3 |
JSL sprite_handler ;$80D8E7 |
JSL CODE_B5E50D ;$80D8EB |
JSL CODE_B5B317 ;$80D8EF |
JSR CODE_80F35B ;$80D8F3 |
JSR CODE_8088BA ;$80D8F6 |
JSR CODE_808C3D ;$80D8F9 |
JMP CODE_808CA2 ;$80D8FC /
JMP CODE_80D45D ;$80D8FF /
CODE_80D902:
JSR CODE_80E64E ;$80D902 \
JSR CODE_808988 ;$80D905 |
BNE CODE_80D93E ;$80D908 |
JSL CODE_BBB5C4 ;$80D90A |
JSR CODE_80D941 ;$80D90E |
JSL CODE_B5E50D ;$80D911 |
JSL sprite_handler ;$80D915 |
BIT $08C2 ;$80D919 |
BVC CODE_80D92E ;$80D91C |
LDX $0597 ;$80D91E |
LDA $0D54 ;$80D921 |
CLC ;$80D924 |
ADC #$00C0 ;$80D925 |
CMP $0A,x ;$80D928 |
BCS CODE_80D92E ;$80D92A |
STA $0A,x ;$80D92C |
CODE_80D92E: ; |
JSL CODE_B5B317 ;$80D92E |
JSR CODE_80F35B ;$80D932 |
JSR CODE_8088BA ;$80D935 |
JSR CODE_808C3D ;$80D938 |
JMP CODE_808CA2 ;$80D93B /
CODE_80D93E:
JMP CODE_80D45D ;$80D93E /
CODE_80D941:
LDA $0A36 ;$80D941 \
BIT #$0082 ;$80D944 |
BNE CODE_80D9B2 ;$80D947 |
LDY $0593 ;$80D949 |
LDA $002E,y ;$80D94C |
ASL A ;$80D94F |
ASL A ;$80D950 |
TAX ;$80D951 |
LDA.l DATA_B896B7,x ;$80D952 |
BIT #$0040 ;$80D956 |
BNE CODE_80D9B3 ;$80D959 |
LDA #$0001 ;$80D95B |
TRB $0D56 ;$80D95E |
BNE CODE_80D9C7 ;$80D961 |
LDA $08C2 ;$80D963 |
BIT #$2000 ;$80D966 |
BNE CODE_80D9B8 ;$80D969 |
AND #$4000 ;$80D96B |
BNE CODE_80D97D ;$80D96E |
LDA #$4000 ;$80D970 |
BIT $0D56 ;$80D973 |
BEQ CODE_80D980 ;$80D976 |
TRB $0D56 ;$80D978 |
BRA CODE_80D9B8 ;$80D97B /
CODE_80D97D:
TSB $0D56 ;$80D97D \
CODE_80D980: ; |
LDA $0D50 ;$80D980 |
ORA $0D4A ;$80D983 |
BEQ CODE_80D9B2 ;$80D986 |
LDA $0D4A ;$80D988 |
BPL CODE_80D992 ;$80D98B |
CMP #$9000 ;$80D98D |
BCC CODE_80D9D4 ;$80D990 |
CODE_80D992: ; |
LDA #$0D26 ;$80D992 |
STA $64 ;$80D995 |
LDA #$0007 ;$80D997 |
JSL CODE_B8CFD4 ;$80D99A |
LDA $0D4A ;$80D99E |
JSR CODE_80D9FB ;$80D9A1 |
LDA $0D52 ;$80D9A4 |
SEC ;$80D9A7 |
SBC $0D54 ;$80D9A8 |
BEQ CODE_80D9E8 ;$80D9AB |
EOR $0D4A ;$80D9AD |
BMI CODE_80D9E8 ;$80D9B0 |
CODE_80D9B2: ; |
RTS ;$80D9B2 /
CODE_80D9B3:
LDA #$0040 ;$80D9B3 \
BRA CODE_80D9FB ;$80D9B6 /
CODE_80D9B8:
LDA $0D4A ;$80D9B8 \
BPL CODE_80D9C2 ;$80D9BB |
CMP #$9000 ;$80D9BD |
BCC CODE_80D9D4 ;$80D9C0 |
CODE_80D9C2: ; |
LDA #$803C ;$80D9C2 |
BRA CODE_80D9D4 ;$80D9C5 /
CODE_80D9C7:
LDA $0D4A ;$80D9C7 \
BPL CODE_80D9D1 ;$80D9CA |
CMP #$9000 ;$80D9CC |
BCC CODE_80D9D4 ;$80D9CF |
CODE_80D9D1: ; |
LDA #$8098 ;$80D9D1 |
CODE_80D9D4: ; |
DEC A ;$80D9D4 |
BPL CODE_80D9E4 ;$80D9D5 |
STA $0D4A ;$80D9D7 |
CMP #$8078 ;$80D9DA |
BCC CODE_80D9B2 ;$80D9DD |
LDA #$0100 ;$80D9DF |
BRA CODE_80D9FB ;$80D9E2 /
CODE_80D9E4:
STZ $0D4A ;$80D9E4 \
RTS ;$80D9E7 /
CODE_80D9E8:
LDA $0D52 ;$80D9E8 \
STA $0D54 ;$80D9EB |
STA $0AFE ;$80D9EE |
STZ $0D50 ;$80D9F1 |
STZ $0D4A ;$80D9F4 |
STZ $0D4C ;$80D9F7 |
RTS ;$80D9FA /
CODE_80D9FB:
SEP #$20 ;$80D9FB \
CLC ;$80D9FD |
ADC $0D4D ;$80D9FE |
STA $0D4D ;$80DA01 |
LDX #$0000 ;$80DA04 |
XBA ;$80DA07 |
BPL CODE_80DA0B ;$80DA08 |
DEX ;$80DA0A |
CODE_80DA0B: ; |
ADC $0D54 ;$80DA0B |
STA $0D54 ;$80DA0E |
TXA ;$80DA11 |
ADC $0D55 ;$80DA12 |
STA $0D55 ;$80DA15 |
REP #$20 ;$80DA18 |
LDA $0D54 ;$80DA1A |
STA $0AFE ;$80DA1D |
RTS ;$80DA20 /
CODE_80DA21:
JSR CODE_808988 ;$80DA21 \
BNE CODE_80DA42 ;$80DA24 |
JSL CODE_BBB5C4 ;$80DA26 |
JSL sprite_handler ;$80DA2A |
JSL CODE_B5E50D ;$80DA2E |
JSL CODE_B5B9B0 ;$80DA32 |
JSR CODE_80F35B ;$80DA36 |
JSR CODE_8088BA ;$80DA39 |
JSR CODE_808C3D ;$80DA3C |
JMP CODE_808CA2 ;$80DA3F /
CODE_80DA42:
JMP CODE_80D45D ;$80DA42 /
CODE_80DA45:
JSR CODE_80E63D ;$80DA45 \
JSR CODE_808988 ;$80DA48 |
BNE CODE_80DA73 ;$80DA4B |
JSR CODE_80D4FA ;$80DA4D |
JSL CODE_BBB5C4 ;$80DA50 |
JSL sprite_handler ;$80DA54 |
JSL CODE_B5E50D ;$80DA58 |
JSL CODE_B5B9A5 ;$80DA5C |
JSR CODE_80F35B ;$80DA60 |
JSL CODE_BEC9C0 ;$80DA63 |
JSR CODE_8088BA ;$80DA67 |
JSR CODE_80D4B7 ;$80DA6A |
JSR CODE_808C3D ;$80DA6D |
JMP CODE_808CA2 ;$80DA70 /
CODE_80DA73:
JMP CODE_80D45D ;$80DA73 /
CODE_80DA76:
JSR CODE_808988 ;$80DA76 \
BNE CODE_80DA97 ;$80DA79 |
JSL CODE_BBB5C4 ;$80DA7B |
JSL sprite_handler ;$80DA7F |
JSL CODE_B5E50D ;$80DA83 |
JSL CODE_B5B317 ;$80DA87 |
JSR CODE_80F35B ;$80DA8B |
JSR CODE_8088BA ;$80DA8E |
JSR CODE_808C3D ;$80DA91 |
JMP CODE_808CA2 ;$80DA94 /
CODE_80DA97:
JMP CODE_80D45D ;$80DA97 /
CODE_80DA9A:
JSR CODE_808988 ;$80DA9A \
BNE CODE_80DAC8 ;$80DA9D |
JSL CODE_BBB5C4 ;$80DA9F |
JSL sprite_handler ;$80DAA3 |
JSL CODE_B5E50D ;$80DAA7 |
JSR CODE_80E52B ;$80DAAB |
JSL CODE_B5B9BB ;$80DAAE |
JSL CODE_B5B9B0 ;$80DAB2 |
JSR CODE_80F35B ;$80DAB6 |
JSR CODE_8088BA ;$80DAB9 |
JSR CODE_80E580 ;$80DABC |
JSR CODE_80DD67 ;$80DABF |
JSR CODE_808C3D ;$80DAC2 |
JMP CODE_808CA2 ;$80DAC5 /
CODE_80DAC8:
JMP CODE_80D45D ;$80DAC8 /
CODE_80DACB:
JSR CODE_80E63D ;$80DACB \
JSR CODE_808988 ;$80DACE |
BNE CODE_80DAC8 ;$80DAD1 |
JSR CODE_80D4FA ;$80DAD3 |
JSL CODE_BBB5C4 ;$80DAD6 |
JSL sprite_handler ;$80DADA |
JSL CODE_B5E50D ;$80DADE |
LDA $0AB4 ;$80DAE2 |
AND #$000F ;$80DAE5 |
CMP #$0005 ;$80DAE8 |
BEQ CODE_80DAF3 ;$80DAEB |
JSL CODE_B5B54A ;$80DAED |
BRA CODE_80DAF7 ;$80DAF1 /
CODE_80DAF3:
JSL CODE_B5B317 ;$80DAF3 \
CODE_80DAF7: ; |
JSR CODE_80F35B ;$80DAF7 |
JSL CODE_BEC9C0 ;$80DAFA |
JSR CODE_8088BA ;$80DAFE |
LDA $0915 ;$80DB01 |
BNE CODE_80DB09 ;$80DB04 |
JSR CODE_80D4B7 ;$80DB06 |
CODE_80DB09: ; |
JSR CODE_808C3D ;$80DB09 |
JMP CODE_808CA2 ;$80DB0C /
JMP CODE_80D45D ;$80DB0F /
CODE_80DB12:
JSR CODE_808988 ;$80DB12 \
BNE CODE_80DB33 ;$80DB15 |
JSL CODE_BBB5C4 ;$80DB17 |
JSL sprite_handler ;$80DB1B |
JSL CODE_B5E50D ;$80DB1F |
JSL CODE_B5B9B0 ;$80DB23 |
JSR CODE_80F35B ;$80DB27 |
JSR CODE_8088BA ;$80DB2A |
JSR CODE_808C3D ;$80DB2D |
JMP CODE_808CA2 ;$80DB30 /
CODE_80DB33:
JMP CODE_80D45D ;$80DB33 /
CODE_80DB36:
JSR CODE_808988 ;$80DB36 \
BNE CODE_80DAC8 ;$80DB39 |
JSL CODE_BBB5C4 ;$80DB3B |
JSL sprite_handler ;$80DB3F |
JSL CODE_B5E50D ;$80DB43 |
LDA $0AB4 ;$80DB47 |
AND #$000F ;$80DB4A |
CMP #$0005 ;$80DB4D |
BEQ CODE_80DB58 ;$80DB50 |
JSL CODE_B5B54A ;$80DB52 |
BRA CODE_80DB5C ;$80DB56 /
CODE_80DB58:
JSL CODE_B5B317 ;$80DB58 \
CODE_80DB5C: ; |
JSR CODE_80F35B ;$80DB5C |
JSR CODE_8088BA ;$80DB5F |
JSR CODE_808C3D ;$80DB62 |
JMP CODE_808CA2 ;$80DB65 /
JMP CODE_80D45D ;$80DB68 /
CODE_80DB6B:
JSR CODE_80E646 ;$80DB6B \
JSR CODE_808988 ;$80DB6E |
BNE CODE_80DB96 ;$80DB71 |
JSR CODE_80D4FA ;$80DB73 |
JSL CODE_BBB5C4 ;$80DB76 |
JSL sprite_handler ;$80DB7A |
JSL CODE_B5E50D ;$80DB7E |
JSL CODE_B5B317 ;$80DB82 |
JSR CODE_80F35B ;$80DB86 |
JSL CODE_BEC9C0 ;$80DB89 |
JSR CODE_8088BA ;$80DB8D |
JSR CODE_808C3D ;$80DB90 |
JMP CODE_808CA2 ;$80DB93 /
CODE_80DB96:
JMP CODE_80D45D ;$80DB96 /
CODE_80DB99:
JSR CODE_808988 ;$80DB99 \
BNE CODE_80DBCB ;$80DB9C |
JSL CODE_BBB5C4 ;$80DB9E |
JSR CODE_80D7E6 ;$80DBA2 |
JSL sprite_handler ;$80DBA5 |
JSL CODE_B5E50D ;$80DBA9 |
LDA $0AB4 ;$80DBAD |
CMP #$0006 ;$80DBB0 |
BNE CODE_80DBBB ;$80DBB3 |
JSL CODE_B5B77D ;$80DBB5 |
BRA CODE_80DBBF ;$80DBB9 /
CODE_80DBBB:
JSL CODE_B5B54A ;$80DBBB \
CODE_80DBBF: ; |
JSR CODE_80F35B ;$80DBBF |
JSR CODE_8088BA ;$80DBC2 |
JSR CODE_808C3D ;$80DBC5 |
JMP CODE_808CA2 ;$80DBC8 /
CODE_80DBCB:
JMP CODE_80D45D ;$80DBCB /
CODE_80DBCE:
JSR CODE_808988 ;$80DBCE \
BNE CODE_80DBEF ;$80DBD1 |
JSL CODE_BBB5C4 ;$80DBD3 |
JSL sprite_handler ;$80DBD7 |
JSL CODE_B5E50D ;$80DBDB |
JSL CODE_B5B9A5 ;$80DBDF |
JSR CODE_80F35B ;$80DBE3 |
JSR CODE_8088BA ;$80DBE6 |
JSR CODE_808C3D ;$80DBE9 |
JMP CODE_808CA2 ;$80DBEC /
CODE_80DBEF:
JMP CODE_80D45D ;$80DBEF /
CODE_80DBF2:
LDA $17C0 ;$80DBF2 \
CLC ;$80DBF5 |
ADC $2A ;$80DBF6 |
LSR A ;$80DBF8 |
LSR A ;$80DBF9 |
CLC ;$80DBFA |
ADC $17C0 ;$80DBFB |
STA $32 ;$80DBFE |
LDA $2A ;$80DC00 |
LSR A ;$80DC02 |
SEC ;$80DC03 |
SBC $32 ;$80DC04 |
STA $54 ;$80DC06 |
AND #$0003 ;$80DC08 |
INC A ;$80DC0B |
SEP #$20 ;$80DC0C |
STA $7E8012 ;$80DC0E |
STA $7E85D2 ;$80DC12 |
REP #$20 ;$80DC16 |
LDA $54 ;$80DC18 |
LSR A ;$80DC1A |
AND #$001E ;$80DC1B |
TAX ;$80DC1E |
LDA $17BA ;$80DC1F |
CLC ;$80DC22 |
ADC $2A ;$80DC23 |
STA $54 ;$80DC25 |
PEA $80B3 ;$80DC27 |
PLB ;$80DC2A |
LDA $2A ;$80DC2B |
BIT #$0001 ;$80DC2D |
BEQ CODE_80DC67 ;$80DC30 |
LDY #$0000 ;$80DC32 |
CODE_80DC35: ; |
LDA $F4D8,y ;$80DC35 |
CMP #$8000 ;$80DC38 |
ROR A ;$80DC3B |
CMP #$8000 ;$80DC3C |
ROR A ;$80DC3F |
CMP #$8000 ;$80DC40 |
ROR A ;$80DC43 |
CMP #$8000 ;$80DC44 |
ROR A ;$80DC47 |
CMP #$8000 ;$80DC48 |
ROR A ;$80DC4B |
CMP #$8000 ;$80DC4C |
ROR A ;$80DC4F |
CLC ;$80DC50 |
ADC $54 ;$80DC51 |
STA $7E8812,x ;$80DC53 |
JSR CODE_80DD28 ;$80DC57 |
TYA ;$80DC5A |
CLC ;$80DC5B |
ADC #$0020 ;$80DC5C |
TAY ;$80DC5F |
CMP #$0200 ;$80DC60 |
BNE CODE_80DC35 ;$80DC63 |
BRA CODE_80DC9A ;$80DC65 /
CODE_80DC67:
LDY #$0000 ;$80DC67 \
CODE_80DC6A: ; |
LDA $F4D8,y ;$80DC6A |
CMP #$8000 ;$80DC6D |
ROR A ;$80DC70 |
CMP #$8000 ;$80DC71 |
ROR A ;$80DC74 |
CMP #$8000 ;$80DC75 |
ROR A ;$80DC78 |
CMP #$8000 ;$80DC79 |
ROR A ;$80DC7C |
CMP #$8000 ;$80DC7D |
ROR A ;$80DC80 |
CMP #$8000 ;$80DC81 |
ROR A ;$80DC84 |
CLC ;$80DC85 |
ADC $54 ;$80DC86 |
STA $7E80D2,x ;$80DC88 |
JSR CODE_80DD28 ;$80DC8C |
TYA ;$80DC8F |
CLC ;$80DC90 |
ADC #$0020 ;$80DC91 |
TAY ;$80DC94 |
CMP #$0200 ;$80DC95 |
BNE CODE_80DC6A ;$80DC98 |
CODE_80DC9A: ; |
LDA $2A ;$80DC9A |
LSR A ;$80DC9C |
LSR A ;$80DC9D |
STA $54 ;$80DC9E |
LSR A ;$80DCA0 |
CLC ;$80DCA1 |
ADC $54 ;$80DCA2 |
CLC ;$80DCA4 |
ADC $32 ;$80DCA5 |
EOR #$FFFF ;$80DCA7 |
ASL A ;$80DCAA |
AND #$003E ;$80DCAB |
TAX ;$80DCAE |
LDA $2A ;$80DCAF |
BIT #$0001 ;$80DCB1 |
BEQ CODE_80DCEF ;$80DCB4 |
LDY #$0000 ;$80DCB6 |
CODE_80DCB9: ; |
LDA $F4D8,y ;$80DCB9 |
CMP #$8000 ;$80DCBC |
ROR A ;$80DCBF |
CMP #$8000 ;$80DCC0 |
ROR A ;$80DCC3 |
CMP #$8000 ;$80DCC4 |
ROR A ;$80DCC7 |
CMP #$8000 ;$80DCC8 |
ROR A ;$80DCCB |
CMP #$8000 ;$80DCCC |
ROR A ;$80DCCF |
CMP #$8000 ;$80DCD0 |
ROR A ;$80DCD3 |
CMP #$8000 ;$80DCD4 |
ROR A ;$80DCD7 |
CLC ;$80DCD8 |
ADC $32 ;$80DCD9 |
STA $7E8592,x ;$80DCDB |
JSR CODE_80DD32 ;$80DCDF |
TYA ;$80DCE2 |
CLC ;$80DCE3 |
ADC #$0010 ;$80DCE4 |
TAY ;$80DCE7 |
CMP #$0200 ;$80DCE8 |
BNE CODE_80DCB9 ;$80DCEB |
PLB ;$80DCED |
RTS ;$80DCEE /
CODE_80DCEF:
LDY #$0000 ;$80DCEF \
CODE_80DCF2: ; |
LDA $F4D8,y ;$80DCF2 |
CMP #$8000 ;$80DCF5 |
ROR A ;$80DCF8 |
CMP #$8000 ;$80DCF9 |
ROR A ;$80DCFC |
CMP #$8000 ;$80DCFD |
ROR A ;$80DD00 |
CMP #$8000 ;$80DD01 |
ROR A ;$80DD04 |
CMP #$8000 ;$80DD05 |
ROR A ;$80DD08 |
CMP #$8000 ;$80DD09 |
ROR A ;$80DD0C |
CMP #$8000 ;$80DD0D |
ROR A ;$80DD10 |
CLC ;$80DD11 |
ADC $32 ;$80DD12 |
STA $7E8552,x ;$80DD14 |
JSR CODE_80DD32 ;$80DD18 |
TYA ;$80DD1B |
CLC ;$80DD1C |
ADC #$0010 ;$80DD1D |
TAY ;$80DD20 |
CMP #$0200 ;$80DD21 |
BNE CODE_80DCF2 ;$80DD24 |
PLB ;$80DD26 |
RTS ;$80DD27 /
CODE_80DD28:
PHA ;$80DD28 \
INX ;$80DD29 |
INX ;$80DD2A |
TXA ;$80DD2B |
AND #$001E ;$80DD2C |
TAX ;$80DD2F |
PLA ;$80DD30 |
RTS ;$80DD31 /
CODE_80DD32:
PHA ;$80DD32 \
INX ;$80DD33 |
INX ;$80DD34 |
TXA ;$80DD35 |
AND #$003E ;$80DD36 |
TAX ;$80DD39 |
PLA ;$80DD3A |
RTS ;$80DD3B /
CODE_80DD3C:
JSR CODE_808988 ;$80DD3C \
BNE CODE_80DD60 ;$80DD3F |
JSL CODE_BBB5C4 ;$80DD41 |
JSL sprite_handler ;$80DD45 |
JSL CODE_B5E50D ;$80DD49 |
JSR CODE_80DBF2 ;$80DD4D |
JSL CODE_B5B9B0 ;$80DD50 |
JSR CODE_80F35B ;$80DD54 |
JSR CODE_8088BA ;$80DD57 |
JSR CODE_808C3D ;$80DD5A |
JMP CODE_808CA2 ;$80DD5D /
CODE_80DD60:
JMP CODE_80D45D ;$80DD60 /
CODE_80DD63:
JSR CODE_80DD67 ;$80DD63 \
RTL ;$80DD66 /
CODE_80DD67:
LDA $17BA ;$80DD67 \
AND #$FFFE ;$80DD6A |
SEC ;$80DD6D |
SBC $0911 ;$80DD6E |
BMI CODE_80DD75 ;$80DD71 |
BNE CODE_80DD76 ;$80DD73 |
CODE_80DD75: ; |
RTS ;$80DD75 /
CODE_80DD76:
LDA $17BA ;$80DD76 \
EOR $0911 ;$80DD79 |
BIT #$FF00 ;$80DD7C |
BEQ CODE_80DD90 ;$80DD7F |
INC $0913 ;$80DD81 |
LDA $0911 ;$80DD84 |
AND #$FF00 ;$80DD87 |
CLC ;$80DD8A |
ADC #$0100 ;$80DD8B |
BRA CODE_80DD96 ;$80DD8E /
CODE_80DD90:
LDA $17BA ;$80DD90 \
AND #$FFFE ;$80DD93 |
CODE_80DD96: ; |
STA $32 ;$80DD96 |
AND #$00FE ;$80DD98 |
BNE CODE_80DDA0 ;$80DD9B |
LDA #$0100 ;$80DD9D |
CODE_80DDA0: ; |
STA $36 ;$80DDA0 |
LDA $0911 ;$80DDA2 |
AND #$00FE ;$80DDA5 |
STA $38 ;$80DDA8 |
TAY ;$80DDAA |
ASL A ;$80DDAB |
CLC ;$80DDAC |
ADC $38 ;$80DDAD |
TAX ;$80DDAF |
PEA $807E ;$80DDB0 |
PLB ;$80DDB3 |
CODE_80DDB4: ; |
LDA.l $7E8928,x ;$80DDB4 |
SEC ;$80DDB8 |
SBC.l DATA_FD364E,x ;$80DDB9 |
STA $7E8928,x ;$80DDBD |
XBA ;$80DDC1 |
AND #$001F ;$80DDC2 |
STA $34 ;$80DDC5 |
LDA.l $7E892A,x ;$80DDC7 |
SEC ;$80DDCB |
SBC.l DATA_FD3650,x ;$80DDCC |
STA $7E892A,x ;$80DDD0 |
AND #$03E0 ;$80DDD4 |
TSB $34 ;$80DDD7 |
LDA.l $7E892C,x ;$80DDD9 |
SEC ;$80DDDD |
SBC.l DATA_FD3652,x ;$80DDDE |
STA $7E892C,x ;$80DDE2 |
AND #$7C00 ;$80DDE6 |
ORA $34 ;$80DDE9 |
STA $8C28,y ;$80DDEB |
INY ;$80DDEE |
INY ;$80DDEF |
TXA ;$80DDF0 |
CLC ;$80DDF1 |
ADC #$0006 ;$80DDF2 |
TAX ;$80DDF5 |
CPY $36 ;$80DDF6 |
BNE CODE_80DDB4 ;$80DDF8 |
PLB ;$80DDFA |
LDA $32 ;$80DDFB |
STA $0911 ;$80DDFD |
RTS ;$80DE00 /
CODE_80DE01:
LDX #$0006 ;$80DE01 \
CODE_80DE04: ; |
LDA $095B,x ;$80DE04 |
BIT #$4000 ;$80DE07 |
BEQ CODE_80DE12 ;$80DE0A |
STZ $095B,x ;$80DE0C |
STZ $0963,x ;$80DE0F |
CODE_80DE12: ; |
DEX ;$80DE12 |
DEX ;$80DE13 |
BPL CODE_80DE04 ;$80DE14 |
LDY #$0006 ;$80DE16 |
CODE_80DE19: ; |
LDA $0963,y ;$80DE19 |
BEQ CODE_80DE39 ;$80DE1C |
TAX ;$80DE1E |
LDA.l DATA_B3D691,x ;$80DE1F |
SEC ;$80DE23 |
SBC $17BA ;$80DE24 |
CLC ;$80DE27 |
ADC #$000C ;$80DE28 |
CMP #$0118 ;$80DE2B |
BCC CODE_80DE39 ;$80DE2E |
LDA #$4000 ;$80DE30 |
ORA $095B,y ;$80DE33 |
STA $095B,y ;$80DE36 |
CODE_80DE39: ; |
DEY ;$80DE39 |
DEY ;$80DE3A |
BPL CODE_80DE19 ;$80DE3B |
LDA $17BA ;$80DE3D |
SEC ;$80DE40 |
SBC #$000A ;$80DE41 |
STA $32 ;$80DE44 |
LDX $0959 ;$80DE46 |
CODE_80DE49: ; |
LDA.l DATA_B3D691,x ;$80DE49 |
BMI CODE_80DE9F ;$80DE4D |
AND #$FFFE ;$80DE4F |
CMP $32 ;$80DE52 |
BCS CODE_80DE5A ;$80DE54 |
CODE_80DE56: ; |
INX ;$80DE56 |
INX ;$80DE57 |
BRA CODE_80DE49 ;$80DE58 /
CODE_80DE5A:
SEC ;$80DE5A \
SBC $32 ;$80DE5B |
CMP #$0114 ;$80DE5D |
BCS CODE_80DE9F ;$80DE60 |
LDY #$0006 ;$80DE62 |
TXA ;$80DE65 |
CODE_80DE66: ; |
CMP $0963,y ;$80DE66 |
BEQ CODE_80DE56 ;$80DE69 |
DEY ;$80DE6B |
DEY ;$80DE6C |
BPL CODE_80DE66 ;$80DE6D |
LDY #$0006 ;$80DE6F |
CODE_80DE72: ; |
LDA $0963,y ;$80DE72 |
BEQ CODE_80DE7B ;$80DE75 |
DEY ;$80DE77 |
DEY ;$80DE78 |
BPL CODE_80DE72 ;$80DE79 |
CODE_80DE7B: ; |
TXA ;$80DE7B |
STA $0963,y ;$80DE7C |
LDA.l DATA_B3D691,x ;$80DE7F |
BIT #$0001 ;$80DE83 |
PHP ;$80DE86 |
SEC ;$80DE87 |
SBC #$0008 ;$80DE88 |
LSR A ;$80DE8B |
LSR A ;$80DE8C |
LSR A ;$80DE8D |
AND #$001F ;$80DE8E |
CLC ;$80DE91 |
ADC #$01C0 ;$80DE92 |
PLP ;$80DE95 |
BEQ CODE_80DE9C ;$80DE96 |
CLC ;$80DE98 |
ADC #$7F00 ;$80DE99 |
CODE_80DE9C: ; |
STA $095B,y ;$80DE9C |
CODE_80DE9F: ; |
LDY #$0006 ;$80DE9F |
CODE_80DEA2: ; |
LDA $095B,y ;$80DEA2 |
BIT #$4000 ;$80DEA5 |
BEQ CODE_80DEC8 ;$80DEA8 |
EOR #$4000 ;$80DEAA |
STY $32 ;$80DEAD |
LDX #$0006 ;$80DEAF |
CODE_80DEB2: ; |
CPX $32 ;$80DEB2 |
BEQ CODE_80DEC4 ;$80DEB4 |
CMP $095B,x ;$80DEB6 |
BNE CODE_80DEC4 ;$80DEB9 |
LDA #$0000 ;$80DEBB |
STA $095B,y ;$80DEBE |
STA $0963,y ;$80DEC1 |
CODE_80DEC4: ; |
DEX ;$80DEC4 |
DEX ;$80DEC5 |
BPL CODE_80DEB2 ;$80DEC6 |
CODE_80DEC8: ; |
DEY ;$80DEC8 |
DEY ;$80DEC9 |
BPL CODE_80DEA2 ;$80DECA |
LDA #$FF00 ;$80DECC |
STA $84 ;$80DECF |
LDY #$0006 ;$80DED1 |
CODE_80DED4: ; |
LDA $0963,y ;$80DED4 |
BEQ CODE_80DF2F ;$80DED7 |
TAX ;$80DED9 |
LDA.l DATA_B3D691,x ;$80DEDA |
SEC ;$80DEDE |
SBC $17BA ;$80DEDF |
SEC ;$80DEE2 |
SBC #$000C ;$80DEE3 |
BMI CODE_80DF0F ;$80DEE6 |
CMP #$00E8 ;$80DEE8 |
BCC CODE_80DF2F ;$80DEEB |
LDA.l DATA_B3D691,x ;$80DEED |
SEC ;$80DEF1 |
SBC #$0100 ;$80DEF2 |
STA $32 ;$80DEF5 |
CODE_80DEF7: ; |
DEX ;$80DEF7 |
DEX ;$80DEF8 |
LDA.l DATA_B3D691,x ;$80DEF9 |
BEQ CODE_80DF05 ;$80DEFD |
CMP $32 ;$80DEFF |
BEQ CODE_80DF2F ;$80DF01 |
BRA CODE_80DEF7 ;$80DF03 /
CODE_80DF05:
SEP #$20 ;$80DF05 \
LDA #$18 ;$80DF07 |
STA $84 ;$80DF09 |
REP #$20 ;$80DF0B |
BRA CODE_80DF2F ;$80DF0D /
CODE_80DF0F:
LDA.l DATA_B3D691,x ;$80DF0F \
CLC ;$80DF13 |
ADC #$0100 ;$80DF14 |
STA $32 ;$80DF17 |
CODE_80DF19: ; |
INX ;$80DF19 |
INX ;$80DF1A |
LDA.l DATA_B3D691,x ;$80DF1B |
BMI CODE_80DF27 ;$80DF1F |
CMP $32 ;$80DF21 |
BEQ CODE_80DF2F ;$80DF23 |
BRA CODE_80DF19 ;$80DF25 /
CODE_80DF27:
SEP #$20 ;$80DF27 \
LDA #$E8 ;$80DF29 |
STA $85 ;$80DF2B |
REP #$20 ;$80DF2D |
CODE_80DF2F: ; |
DEY ;$80DF2F |
DEY ;$80DF30 |
BPL CODE_80DED4 ;$80DF31 |
RTS ;$80DF33 /
DATA_80DF34:
db $0C, $00
DATA_80DF36:
db $F6, $FF, $0C, $00, $F6, $FF, $0C, $00
db $F6, $FF, $0C, $00, $F6, $FF, $0C, $00
db $F6, $FF, $0C, $00, $F6, $FF, $0C, $00
db $F6, $FF, $0C, $00, $F6, $FF, $0C, $00
db $F6, $FF, $0C, $00, $F6, $FF, $0C, $00
db $F6, $FF, $0C, $00, $F6, $FF, $0C, $00
db $F6, $FF, $0C, $00, $F6, $FF, $0C, $00
db $F6, $FF, $0C, $00, $F6, $FF, $0C, $00
db $F6, $FF, $08, $00, $F6, $FF, $04, $00
db $F6, $FF, $00, $00, $F6, $FF, $0C, $00
db $F6, $FF, $FC, $FF, $F6, $FF, $FC, $FF
db $F6, $FF, $F8, $FF, $F6, $FF
CODE_80DF94:
LDY $0989 ;$80DF94 \
BNE CODE_80DFB6 ;$80DF97 |
LDA $2A ;$80DF99 |
AND #$0001 ;$80DF9B |
XBA ;$80DF9E |
TAX ;$80DF9F |
LDA #$0001 ;$80DFA0 |
STA $7E80F2,x ;$80DFA3 |
LDA #DATA_80E175 ;$80DFA7 |
STA $7E80F3,x ;$80DFAA |
LDA #$0000 ;$80DFAE |
STA $7E80F5,x ;$80DFB1 |
RTS ;$80DFB5 /
CODE_80DFB6:
STZ $56 ;$80DFB6 \
LDA #DATA_80E175 ;$80DFB8 |
STA $3E ;$80DFBB |
LDA #DATA_80E1F4 ;$80DFBD |
STA $40 ;$80DFC0 |
LDA $001A,y ;$80DFC2 |
CMP #$1C1C ;$80DFC5 |
BNE CODE_80DFE7 ;$80DFC8 |
LDA $2A ;$80DFCA |
AND #$0001 ;$80DFCC |
XBA ;$80DFCF |
TAX ;$80DFD0 |
LDA #$0001 ;$80DFD1 |
STA $7E80F2,x ;$80DFD4 |
LDA #DATA_80E1F4 ;$80DFD8 |
STA $7E80F3,x ;$80DFDB |
LDA #$0000 ;$80DFDF |
STA $7E80F5,x ;$80DFE2 |
RTS ;$80DFE6 /
CODE_80DFE7:
SEC ;$80DFE7 \
SBC #$1C14 ;$80DFE8 |
CMP #$0010 ;$80DFEB |
BCS CODE_80DFFC ;$80DFEE |
LDA #DATA_80E273 ;$80DFF0 |
STA $3E ;$80DFF3 |
LDA #DATA_80E372 ;$80DFF5 |
STA $40 ;$80DFF8 |
INC $56 ;$80DFFA |
CODE_80DFFC: ; |
LDA $001A,y ;$80DFFC |
SEC ;$80DFFF |
SBC #$1BCC ;$80E000 |
TAX ;$80E003 |
LDA $0012,y ;$80E004 |
BIT #$4000 ;$80E007 |
BEQ CODE_80E016 ;$80E00A |
LDA.l DATA_80DF34,x ;$80E00C |
EOR #$FFFF ;$80E010 |
INC A ;$80E013 |
BRA CODE_80E01A ;$80E014 /
CODE_80E016:
LDA.l DATA_80DF34,x ;$80E016 \
CODE_80E01A: ; |
CLC ;$80E01A |
ADC $0006,y ;$80E01B |
SEC ;$80E01E |
SBC $17BA ;$80E01F |
BPL CODE_80E027 ;$80E022 |
LDA #$0000 ;$80E024 |
CODE_80E027: ; |
CMP #$00FE ;$80E027 |
BCC CODE_80E02F ;$80E02A |
LDA #$00FF ;$80E02C |
CODE_80E02F: ; |
STA $32 ;$80E02F |
LDA $001A,y ;$80E031 |
CMP #$1C1C ;$80E034 |
BCC CODE_80E043 ;$80E037 |
LDA $0012,y ;$80E039 |
BIT #$4000 ;$80E03C |
BNE CODE_80E05C ;$80E03F |
BRA CODE_80E04B ;$80E041 /
CODE_80E043:
LDA $0012,y ;$80E043 \
BIT #$4000 ;$80E046 |
BEQ CODE_80E05C ;$80E049 |
CODE_80E04B: ; |
LDA $3E ;$80E04B |
PHA ;$80E04D |
LDA $40 ;$80E04E |
STA $3E ;$80E050 |
PLA ;$80E052 |
STA $40 ;$80E053 |
LDA $32 ;$80E055 |
EOR #$00FF ;$80E057 |
STA $32 ;$80E05A |
CODE_80E05C: ; |
LDA $000A,y ;$80E05C |
SEC ;$80E05F |
SBC $17C0 ;$80E060 |
CLC ;$80E063 |
ADC.l DATA_80DF36,x ;$80E064 |
BPL CODE_80E06D ;$80E068 |
LDA #$0000 ;$80E06A |
CODE_80E06D: ; |
CMP #$00FC ;$80E06D |
BCC CODE_80E075 ;$80E070 |
LDA #$00FC ;$80E072 |
CODE_80E075: ; |
STA $34 ;$80E075 |
LDA $2A ;$80E077 |
AND #$0001 ;$80E079 |
ASL A ;$80E07C |
CLC ;$80E07D |
ADC $34 ;$80E07E |
STA $34 ;$80E080 |
LDA $2A ;$80E082 |
AND #$0001 ;$80E084 |
XBA ;$80E087 |
TAX ;$80E088 |
LDA $32 ;$80E089 |
SEC ;$80E08B |
SBC #$00FF ;$80E08C |
LDY $56 ;$80E08F |
BNE CODE_80E097 ;$80E091 |
CMP #$8000 ;$80E093 |
ROR A ;$80E096 |
CODE_80E097: ; |
CLC ;$80E097 |
ADC $34 ;$80E098 |
STA $36 ;$80E09A |
BEQ CODE_80E0A0 ;$80E09C |
BPL CODE_80E0A9 ;$80E09E |
CODE_80E0A0: ; |
STA $3A ;$80E0A0 |
LDA #$0000 ;$80E0A2 |
STA $38 ;$80E0A5 |
BRA CODE_80E0D7 ;$80E0A7 /
CODE_80E0A9:
STA $38 ;$80E0A9 \
STZ $3A ;$80E0AB |
CMP #$0080 ;$80E0AD |
BCC CODE_80E0CA ;$80E0B0 |
STA $3C ;$80E0B2 |
LDA #$007F ;$80E0B4 |
STA $7E80F2,x ;$80E0B7 |
LDA $3E ;$80E0BB |
STA $7E80F3,x ;$80E0BD |
INX ;$80E0C1 |
INX ;$80E0C2 |
INX ;$80E0C3 |
LDA $3C ;$80E0C4 |
SEC ;$80E0C6 |
SBC #$007F ;$80E0C7 |
CODE_80E0CA: ; |
STA $7E80F2,x ;$80E0CA |
LDA $3E ;$80E0CE |
STA $7E80F3,x ;$80E0D0 |
INX ;$80E0D4 |
INX ;$80E0D5 |
INX ;$80E0D6 |
CODE_80E0D7: ; |
LDA $34 ;$80E0D7 |
SEC ;$80E0D9 |
SBC $38 ;$80E0DA |
BEQ CODE_80E11D ;$80E0DC |
STZ $54 ;$80E0DE |
LSR A ;$80E0E0 |
BEQ CODE_80E100 ;$80E0E1 |
PHP ;$80E0E3 |
PHA ;$80E0E4 |
STA $54 ;$80E0E5 |
ORA #$0080 ;$80E0E7 |
STA $7E80F2,x ;$80E0EA |
LDA $3A ;$80E0EE |
EOR #$FFFF ;$80E0F0 |
INC A ;$80E0F3 |
CLC ;$80E0F4 |
ADC $3E ;$80E0F5 |
STA $7E80F3,x ;$80E0F7 |
INX ;$80E0FB |
INX ;$80E0FC |
INX ;$80E0FD |
PLA ;$80E0FE |
PLP ;$80E0FF |
CODE_80E100: ; |
ADC #$0000 ;$80E100 |
ORA #$0080 ;$80E103 |
STA $7E80F2,x ;$80E106 |
LDA $3A ;$80E10A |
EOR #$FFFF ;$80E10C |
INC A ;$80E10F |
CLC ;$80E110 |
ADC $3E ;$80E111 |
CLC ;$80E113 |
ADC $54 ;$80E114 |
STA $7E80F3,x ;$80E116 |
INX ;$80E11A |
INX ;$80E11B |
INX ;$80E11C |
CODE_80E11D: ; |
LDA $56 ;$80E11D |
BNE CODE_80E123 ;$80E11F |
LSR $32 ;$80E121 |
CODE_80E123: ; |
LDA $34 ;$80E123 |
SEC ;$80E125 |
SBC $36 ;$80E126 |
CMP #$00FE ;$80E128 |
BCC CODE_80E130 ;$80E12B |
LDA #$00FE ;$80E12D |
CODE_80E130: ; |
LSR A ;$80E130 |
PHP ;$80E131 |
PHA ;$80E132 |
STA $54 ;$80E133 |
ORA #$0080 ;$80E135 |
STA $7E80F2,x ;$80E138 |
LDA $32 ;$80E13C |
CLC ;$80E13E |
ADC $40 ;$80E13F |
STA $7E80F3,x ;$80E141 |
INX ;$80E145 |
INX ;$80E146 |
INX ;$80E147 |
PLA ;$80E148 |
PLP ;$80E149 |
ADC #$0000 ;$80E14A |
ORA #$0080 ;$80E14D |
STA $7E80F2,x ;$80E150 |
LDA $32 ;$80E154 |
CLC ;$80E156 |
ADC $40 ;$80E157 |
CLC ;$80E159 |
ADC $54 ;$80E15A |
STA $7E80F3,x ;$80E15C |
LDA #$0001 ;$80E160 |
STA $7E80F5,x ;$80E163 |
LDA $3E ;$80E167 |
STA $7E80F6,x ;$80E169 |
LDA #$0000 ;$80E16D |
STA $7E80F8,x ;$80E170 |
RTS ;$80E174 /
DATA_80E175:
db $FF, $FD, $FB, $F9, $F7, $F5, $F3, $F1
db $EF, $ED, $EB, $E9, $E7, $E5, $E3, $E1
db $DF, $DD, $DB, $D9, $D7, $D5, $D3, $D1
db $CF, $CD, $CB, $C9, $C7, $C5, $C3, $C1
db $BF, $BD, $BB, $B9, $B7, $B5, $B3, $B1
db $AF, $AD, $AB, $A9, $A7, $A5, $A3, $A1
db $9F, $9D, $9B, $99, $97, $95, $93, $91
db $8F, $8D, $8B, $89, $87, $85, $83, $81
db $7F, $7D, $7B, $79, $77, $75, $73, $71
db $6F, $6D, $6B, $69, $67, $65, $63, $61
db $5F, $5D, $5B, $59, $57, $55, $53, $51
db $4F, $4D, $4B, $49, $47, $45, $43, $41
db $3F, $3D, $3B, $39, $37, $35, $33, $31
db $2F, $2D, $2B, $29, $27, $25, $23, $21
db $1F, $1D, $1B, $19, $17, $15, $13, $11
db $0F, $0D, $0B, $09, $07, $05, $03
DATA_80E1F4:
db $00, $02, $04, $06, $08, $0A, $0C, $0E
db $10, $12, $14, $16, $18, $1A, $1C, $1E
db $20, $22, $24, $26, $28, $2A, $2C, $2E
db $30, $32, $34, $36, $38, $3A, $3C, $3E
db $40, $42, $44, $46, $48, $4A, $4C, $4E
db $50, $52, $54, $56, $58, $5A, $5C, $5E
db $60, $62, $64, $66, $68, $6A, $6C, $6E
db $70, $72, $74, $76, $78, $7A, $7C, $7E
db $80, $82, $84, $86, $88, $8A, $8C, $8E
db $90, $92, $94, $96, $98, $9A, $9C, $9E
db $A0, $A2, $A4, $A6, $A8, $AA, $AC, $AE
db $B0, $B2, $B4, $B6, $B8, $BA, $BC, $BE
db $C0, $C2, $C4, $C6, $C8, $CA, $CC, $CE
db $D0, $D2, $D4, $D6, $D8, $DA, $DC, $DE
db $E0, $E2, $E4, $E6, $E8, $EA, $EC, $EE
db $F0, $F2, $F4, $F6, $F8, $FA, $FC
DATA_80E273:
db $FF, $FE, $FD, $FC, $FB, $FA, $F9, $F8
db $F7, $F6, $F5, $F4, $F3, $F2, $F1, $F0
db $EF, $EE, $ED, $EC, $EB, $EA, $E9, $E8
db $E7, $E6, $E5, $E4, $E3, $E2, $E1, $E0
db $DF, $DE, $DD, $DC, $DB, $DA, $D9, $D8
db $D7, $D6, $D5, $D4, $D3, $D2, $D1, $D0
db $CF, $CE, $CD, $CC, $CB, $CA, $C9, $C8
db $C7, $C6, $C5, $C4, $C3, $C2, $C1, $C0
db $BF, $BE, $BD, $BC, $BB, $BA, $B9, $B8
db $B7, $B6, $B5, $B4, $B3, $B2, $B1, $B0
db $AF, $AE, $AD, $AC, $AB, $AA, $A9, $A8
db $A7, $A6, $A5, $A4, $A3, $A2, $A1, $A0
db $9F, $9E, $9D, $9C, $9B, $9A, $99, $98
db $97, $96, $95, $94, $93, $92, $91, $90
db $8F, $8E, $8D, $8C, $8B, $8A, $89, $88
db $87, $86, $85, $84, $83, $82, $81, $80
db $7F, $7E, $7D, $7C, $7B, $7A, $79, $78
db $77, $76, $75, $74, $73, $72, $71, $70
db $6F, $6E, $6D, $6C, $6B, $6A, $69, $68
db $67, $66, $65, $64, $63, $62, $61, $60
db $5F, $5E, $5D, $5C, $5B, $5A, $59, $58
db $57, $56, $55, $54, $53, $52, $51, $50
db $4F, $4E, $4D, $4C, $4B, $4A, $49, $48
db $47, $46, $45, $44, $43, $42, $41, $40
db $3F, $3E, $3D, $3C, $3B, $3A, $39, $38
db $37, $36, $35, $34, $33, $32, $31, $30
db $2F, $2E, $2D, $2C, $2B, $2A, $29, $28
db $27, $26, $25, $24, $23, $22, $21, $20
db $1F, $1E, $1D, $1C, $1B, $1A, $19, $18
db $17, $16, $15, $14, $13, $12, $11, $10
db $0F, $0E, $0D, $0C, $0B, $0A, $09, $08
db $07, $06, $05, $04, $03, $02, $01
DATA_80E372:
db $00, $01, $02, $03, $04, $05, $06, $07
db $08, $09, $0A, $0B, $0C, $0D, $0E, $0F
db $10, $11, $12, $13, $14, $15, $16, $17
db $18, $19, $1A, $1B, $1C, $1D, $1E, $1F
db $20, $21, $22, $23, $24, $25, $26, $27
db $28, $29, $2A, $2B, $2C, $2D, $2E, $2F
db $30, $31, $32, $33, $34, $35, $36, $37
db $38, $39, $3A, $3B, $3C, $3D, $3E, $3F
db $40, $41, $42, $43, $44, $45, $46, $47
db $48, $49, $4A, $4B, $4C, $4D, $4E, $4F
db $50, $51, $52, $53, $54, $55, $56, $57
db $58, $59, $5A, $5B, $5C, $5D, $5E, $5F
db $60, $61, $62, $63, $64, $65, $66, $67
db $68, $69, $6A, $6B, $6C, $6D, $6E, $6F
db $70, $71, $72, $73, $74, $75, $76, $77
db $78, $79, $7A, $7B, $7C, $7D, $7E, $7F
db $80, $81, $82, $83, $84, $85, $86, $87
db $88, $89, $8A, $8B, $8C, $8D, $8E, $8F
db $90, $91, $92, $93, $94, $95, $96, $97
db $98, $99, $9A, $9B, $9C, $9D, $9E, $9F
db $A0, $A1, $A2, $A3, $A4, $A5, $A6, $A7
db $A8, $A9, $AA, $AB, $AC, $AD, $AE, $AF
db $B0, $B1, $B2, $B3, $B4, $B5, $B6, $B7
db $B8, $B9, $BA, $BB, $BC, $BD, $BE, $BF
db $C0, $C1, $C2, $C3, $C4, $C5, $C6, $C7
db $C8, $C9, $CA, $CB, $CC, $CD, $CE, $CF
db $D0, $D1, $D2, $D3, $D4, $D5, $D6, $D7
db $D8, $D9, $DA, $DB, $DC, $DD, $DE, $DF
db $E0, $E1, $E2, $E3, $E4, $E5, $E6, $E7
db $E8, $E9, $EA, $EB, $EC, $ED, $EE, $EF
db $F0, $F1, $F2, $F3, $F4, $F5, $F6, $F7
db $F8, $F9, $FA, $FB, $FC, $FD, $FE, $FF
CODE_80E472:
LDA $19BE ;$80E472 \
BEQ CODE_80E47B ;$80E475 |
DEC $19BE ;$80E477 |
CODE_80E47A: ; |
RTS ;$80E47A /
CODE_80E47B:
BIT $0923 ;$80E47B \
BMI CODE_80E47A ;$80E47E |
LDA $2A ;$80E480 |
AND #$000F ;$80E482 |
BNE CODE_80E47A ;$80E485 |
SEP #$20 ;$80E487 |
LDA $092E ;$80E489 |
CMP $092D ;$80E48C |
REP #$20 ;$80E48F |
BCS CODE_80E47A ;$80E491 |
DEC $19C0 ;$80E493 |
BPL CODE_80E4B0 ;$80E496 |
JSR CODE_808E53 ;$80E498 |
AND #$007F ;$80E49B |
CLC ;$80E49E |
ADC #$00B4 ;$80E49F |
STA $19BE ;$80E4A2 |
JSR CODE_808E53 ;$80E4A5 |
AND #$0003 ;$80E4A8 |
INC A ;$80E4AB |
INC A ;$80E4AC |
STA $19C0 ;$80E4AD |
CODE_80E4B0: ; |
LDY #$005E ;$80E4B0 |
JSL CODE_BB842C ;$80E4B3 |
BCS CODE_80E47A ;$80E4B7 |
INC $092E ;$80E4B9 |
PHK ;$80E4BC |
PLB ;$80E4BD |
LDX $68 ;$80E4BE |
LDA $092B ;$80E4C0 |
STA $42,x ;$80E4C3 |
TAY ;$80E4C5 |
INC A ;$80E4C6 |
AND #$000F ;$80E4C7 |
STA $092B ;$80E4CA |
LDA DATA_80E512,y ;$80E4CD |
AND #$00FF ;$80E4D0 |
STA $06,x ;$80E4D3 |
JSR CODE_808E53 ;$80E4D5 |
AND #$003F ;$80E4D8 |
CLC ;$80E4DB |
ADC #$0050 ;$80E4DC |
STA $44,x ;$80E4DF |
CLC ;$80E4E1 |
ADC #$0020 ;$80E4E2 |
STA $0A,x ;$80E4E5 |
LDA #$FF00 ;$80E4E7 |
STA $24,x ;$80E4EA |
LDA $12,x ;$80E4EC |
AND #$0E00 ;$80E4EE |
XBA ;$80E4F1 |
ASL A ;$80E4F2 |
ASL A ;$80E4F3 |
ASL A ;$80E4F4 |
CLC ;$80E4F5 |
ADC #$0080 ;$80E4F6 |
STA $0929 ;$80E4F9 |
JSR CODE_808E53 ;$80E4FC |
LSR A ;$80E4FF |
BCS CODE_80E50A ;$80E500 |
LDA #$01BD ;$80E502 |
JSL CODE_B9D09B ;$80E505 |
RTS ;$80E509 /
CODE_80E50A:
LDA #$01BE ;$80E50A \
JSL CODE_B9D09B ;$80E50D |
RTS ;$80E511 /
DATA_80E512:
db $50, $E0, $A0, $20, $70, $C0, $90, $10
db $40, $F0, $B0, $60, $30, $80, $C0, $A0
CODE_80E522:
JSR CODE_80E52B ;$80E522 \
LDA $17BC ;$80E525 |
STA $B8 ;$80E528 |
RTL ;$80E52A /
CODE_80E52B:
LDA $17BA ;$80E52B \
LSR A ;$80E52E |
LSR A ;$80E52F |
CLC ;$80E530 |
ADC $17BA ;$80E531 |
TAY ;$80E534 |
SEC ;$80E535 |
SBC $17BC ;$80E536 |
BCS CODE_80E550 ;$80E539 |
CMP #$FFF8 ;$80E53B |
BCS CODE_80E543 ;$80E53E |
LDA #$FFF8 ;$80E540 |
CODE_80E543: ; |
CLC ;$80E543 |
ADC $B8 ;$80E544 |
CMP #$FF00 ;$80E546 |
BCC CODE_80E55A ;$80E549 |
LDA #$0000 ;$80E54B |
BRA CODE_80E55A ;$80E54E /
CODE_80E550:
CMP #$0008 ;$80E550 \
BCC CODE_80E558 ;$80E553 |
LDA #$0007 ;$80E555 |
CODE_80E558: ; |
ADC $B8 ;$80E558 |
CODE_80E55A: ; |
STA $B8 ;$80E55A |
STA $B6 ;$80E55C |
STY $17BC ;$80E55E |
LDA $B7 ;$80E561 |
AND #$00FF ;$80E563 |
STA $4204 ;$80E566 |
SEP #$20 ;$80E569 |
LDA #$05 ;$80E56B |
STA $4206 ;$80E56D |
NOP ;$80E570 |
NOP ;$80E571 |
NOP ;$80E572 |
NOP ;$80E573 |
NOP ;$80E574 |
NOP ;$80E575 |
NOP ;$80E576 |
NOP ;$80E577 |
LDA $4216 ;$80E578 |
STA $B7 ;$80E57B |
REP #$20 ;$80E57D |
RTS ;$80E57F /
CODE_80E580:
LDA $2A ;$80E580 \
LSR A ;$80E582 |
STA $7E8013 ;$80E583 |
LSR A ;$80E587 |
STA $7E8016 ;$80E588 |
LSR A ;$80E58C |
LSR A ;$80E58D |
STA $7E8019 ;$80E58E |
LDA $17BA ;$80E592 |
CLC ;$80E595 |
ADC $2A ;$80E596 |
STA $36 ;$80E598 |
LSR A ;$80E59A |
STA $32 ;$80E59B |
LSR A ;$80E59D |
CLC ;$80E59E |
ADC $32 ;$80E59F |
CLC ;$80E5A1 |
ADC $36 ;$80E5A2 |
SEC ;$80E5A4 |
SBC #$2000 ;$80E5A5 |
EOR #$FFFF ;$80E5A8 |
STA $32 ;$80E5AB |
LDA $35 ;$80E5AD |
AND #$FF00 ;$80E5AF |
LDX #$0100 ;$80E5B2 |
CODE_80E5B5: ; |
STA $7E802D,x ;$80E5B5 |
ADC $32 ;$80E5B9 |
STA $7E802B,x ;$80E5BB |
ADC $32 ;$80E5BF |
STA $7E8029,x ;$80E5C1 |
ADC $32 ;$80E5C5 |
STA $7E8027,x ;$80E5C7 |
ADC $32 ;$80E5CB |
STA $7E8025,x ;$80E5CD |
ADC $32 ;$80E5D1 |
STA $7E8023,x ;$80E5D3 |
ADC $32 ;$80E5D7 |
STA $7E8021,x ;$80E5D9 |
ADC $32 ;$80E5DD |
STA $7E801F,x ;$80E5DF |
ADC $32 ;$80E5E3 |
TAY ;$80E5E5 |
TXA ;$80E5E6 |
SEC ;$80E5E7 |
SBC #$0010 ;$80E5E8 |
TAX ;$80E5EB |
TYA ;$80E5EC |
CPX #$0000 ;$80E5ED |
BPL CODE_80E5B5 ;$80E5F0 |
PEA $807E ;$80E5F2 |
PLB ;$80E5F5 |
LDA.l $00002A ;$80E5F6 |
LSR A ;$80E5FA |
AND #$000E ;$80E5FB |
CLC ;$80E5FE |
ADC #$0090 ;$80E5FF |
CODE_80E602: ; |
TAX ;$80E602 |
INC $807E,x ;$80E603 |
INC $8080,x ;$80E606 |
INC $8082,x ;$80E609 |
INC $8082,x ;$80E60C |
INC $8084,x ;$80E60F |
INC $8084,x ;$80E612 |
INC $8086,x ;$80E615 |
INC $8088,x ;$80E618 |
TXA ;$80E61B |
SEC ;$80E61C |
SBC #$0010 ;$80E61D |
BPL CODE_80E602 ;$80E620 |
TXA ;$80E622 |
CLC ;$80E623 |
ADC #$0050 ;$80E624 |
CODE_80E627: ; |
TAX ;$80E627 |
INC $801E,x ;$80E628 |
INC $8020,x ;$80E62B |
INC $8022,x ;$80E62E |
INC $8024,x ;$80E631 |
TXA ;$80E634 |
SEC ;$80E635 |
SBC #$0010 ;$80E636 |
BPL CODE_80E627 ;$80E639 |
PLB ;$80E63B |
RTS ;$80E63C /
CODE_80E63D:
PEA $807E ;$80E63D \
PLB ;$80E640 |
JSR CODE_80ECE5 ;$80E641 |
PLB ;$80E644 |
RTS ;$80E645 /
CODE_80E646:
PEA $807E ;$80E646 \
PLB ;$80E649 |
JSR CODE_80ECE5 ;$80E64A |
PLB ;$80E64D |
CODE_80E64E: ; |
PEA $807E ;$80E64E |
PLB ;$80E651 |
LDA $17BA ;$80E652 |
LSR A ;$80E655 |
STA $004204 ;$80E656 |
SEP #$20 ;$80E65A |
LDA #$B2 ;$80E65C |
STA $004206 ;$80E65E |
REP #$20 ;$80E662 |
NOP ;$80E664 |
NOP ;$80E665 |
NOP ;$80E666 |
NOP ;$80E667 |
NOP ;$80E668 |
LDA.l $004216 ;$80E669 |
STA $34 ;$80E66D |
XBA ;$80E66F |
AND #$FF00 ;$80E670 |
LSR A ;$80E673 |
LSR A ;$80E674 |
CLC ;$80E675 |
ADC $33 ;$80E676 |
XBA ;$80E678 |
AND #$00FF ;$80E679 |
SEC ;$80E67C |
SBC #$0074 ;$80E67D |
EOR #$FFFF ;$80E680 |
STA $32 ;$80E683 |
LDA $33 ;$80E685 |
AND #$FF00 ;$80E687 |
LDX #$0060 ;$80E68A |
CODE_80E68D: ; |
STA $8070,x ;$80E68D |
ADC $32 ;$80E690 |
STA $806F,x ;$80E692 |
ADC $32 ;$80E695 |
STA $806E,x ;$80E697 |
ADC $32 ;$80E69A |
STA $806D,x ;$80E69C |
ADC $32 ;$80E69F |
STA $806C,x ;$80E6A1 |
ADC $32 ;$80E6A4 |
STA $806B,x ;$80E6A6 |
ADC $32 ;$80E6A9 |
STA $806A,x ;$80E6AB |
ADC $32 ;$80E6AE |
STA $8069,x ;$80E6B0 |
ADC $32 ;$80E6B3 |
STA $8068,x ;$80E6B5 |
ADC $32 ;$80E6B8 |
STA $8067,x ;$80E6BA |
ADC $32 ;$80E6BD |
STA $8066,x ;$80E6BF |
ADC $32 ;$80E6C2 |
STA $8065,x ;$80E6C4 |
ADC $32 ;$80E6C7 |
TAY ;$80E6C9 |
TXA ;$80E6CA |
SEC ;$80E6CB |
SBC #$000C ;$80E6CC |
TAX ;$80E6CF |
TYA ;$80E6D0 |
CPX #$0000 ;$80E6D1 |
BNE CODE_80E68D ;$80E6D4 |
LDY #$005E ;$80E6D6 |
LDX #$8072 ;$80E6D9 |
CODE_80E6DC: ; |
LDA $0000,x ;$80E6DC |
XBA ;$80E6DF |
STA $8012,y ;$80E6E0 |
LDA $0002,x ;$80E6E3 |
XBA ;$80E6E6 |
STA $8010,y ;$80E6E7 |
LDA $0004,x ;$80E6EA |
XBA ;$80E6ED |
STA $800E,y ;$80E6EE |
LDA $0006,x ;$80E6F1 |
XBA ;$80E6F4 |
STA $800C,y ;$80E6F5 |
LDA $0008,x ;$80E6F8 |
XBA ;$80E6FB |
STA $800A,y ;$80E6FC |
LDA $000A,x ;$80E6FF |
XBA ;$80E702 |
STA $8008,y ;$80E703 |
LDA $000C,x ;$80E706 |
XBA ;$80E709 |
STA $8006,y ;$80E70A |
LDA $000E,x ;$80E70D |
XBA ;$80E710 |
STA $8004,y ;$80E711 |
LDA $0010,x ;$80E714 |
XBA ;$80E717 |
STA $8002,y ;$80E718 |
LDA $0012,x ;$80E71B |
XBA ;$80E71E |
STA $8000,y ;$80E71F |
LDA $0014,x ;$80E722 |
XBA ;$80E725 |
STA $7FFE,y ;$80E726 |
LDA $0016,x ;$80E729 |
XBA ;$80E72C |
STA $7FFC,y ;$80E72D |
LDA $0018,x ;$80E730 |
XBA ;$80E733 |
STA $7FFA,y ;$80E734 |
LDA $001A,x ;$80E737 |
XBA ;$80E73A |
STA $7FF8,y ;$80E73B |
LDA $001C,x ;$80E73E |
XBA ;$80E741 |
STA $7FF6,y ;$80E742 |
LDA $001E,x ;$80E745 |
XBA ;$80E748 |
STA $7FF4,y ;$80E749 |
TXA ;$80E74C |
CLC ;$80E74D |
ADC #$0020 ;$80E74E |
TAX ;$80E751 |
TYA ;$80E752 |
SEC ;$80E753 |
SBC #$0020 ;$80E754 |
TAY ;$80E757 |
BPL CODE_80E6DC ;$80E758 |
LDA $17B8 ;$80E75A |
STA $36 ;$80E75D |
LDA $17BA ;$80E75F |
LSR A ;$80E762 |
ROR $36 ;$80E763 |
LSR A ;$80E765 |
ROR $36 ;$80E766 |
STA $004204 ;$80E768 |
SEP #$20 ;$80E76C |
LDA #$B2 ;$80E76E |
STA $004206 ;$80E770 |
REP #$20 ;$80E774 |
NOP ;$80E776 |
NOP ;$80E777 |
NOP ;$80E778 |
NOP ;$80E779 |
NOP ;$80E77A |
SEP #$20 ;$80E77B |
LDA.l $004216 ;$80E77D |
XBA ;$80E781 |
LDA $37 ;$80E782 |
REP #$20 ;$80E784 |
STA $34 ;$80E786 |
LSR A ;$80E788 |
LSR A ;$80E789 |
LSR A ;$80E78A |
LSR A ;$80E78B |
STA $32 ;$80E78C |
LSR A ;$80E78E |
LSR A ;$80E78F |
CLC ;$80E790 |
ADC $32 ;$80E791 |
CLC ;$80E793 |
ADC $34 ;$80E794 |
XBA ;$80E796 |
AND #$00FF ;$80E797 |
CLC ;$80E79A |
ADC #$0004 ;$80E79B |
STA $3E ;$80E79E |
STA $40 ;$80E7A0 |
LDA $17C0 ;$80E7A2 |
CLC ;$80E7A5 |
ADC #$0080 ;$80E7A6 |
LSR A ;$80E7A9 |
STA $004204 ;$80E7AA |
SEP #$20 ;$80E7AE |
LDA #$D0 ;$80E7B0 |
STA $004206 ;$80E7B2 |
REP #$20 ;$80E7B6 |
NOP ;$80E7B8 |
NOP ;$80E7B9 |
NOP ;$80E7BA |
NOP ;$80E7BB |
NOP ;$80E7BC |
LDA.l $004216 ;$80E7BD |
SEC ;$80E7C1 |
SBC #$0075 ;$80E7C2 |
STA $74 ;$80E7C5 |
LDA.l $004214 ;$80E7C7 |
AND #$0001 ;$80E7CB |
ASL A ;$80E7CE |
TAX ;$80E7CF |
LDA $3E,x ;$80E7D0 |
CLC ;$80E7D2 |
ADC #$0030 ;$80E7D3 |
STA $3E,x ;$80E7D6 |
STZ $B4 ;$80E7D8 |
STZ $3C ;$80E7DA |
LDX #$0000 ;$80E7DC |
TXY ;$80E7DF |
LDA $2A ;$80E7E0 |
AND #$0001 ;$80E7E2 |
BEQ CODE_80E7ED ;$80E7E5 |
LDX #$0160 ;$80E7E7 |
LDY #$0010 ;$80E7EA |
CODE_80E7ED: ; |
STY $3C ;$80E7ED |
LDA $74 ;$80E7EF |
BPL CODE_80E86F ;$80E7F1 |
EOR #$FFFF ;$80E7F3 |
INC A ;$80E7F6 |
CMP #$0021 ;$80E7F7 |
BCC CODE_80E846 ;$80E7FA |
LDY $3C ;$80E7FC |
SBC #$0020 ;$80E7FE |
STA $8552,x ;$80E801 |
STA $B4 ;$80E804 |
SEP #$20 ;$80E806 |
STA $8812,y ;$80E808 |
LDA #$79 ;$80E80B |
STA $8813,y ;$80E80D |
REP #$20 ;$80E810 |
INY ;$80E812 |
INY ;$80E813 |
STY $3C ;$80E814 |
LDA $40 ;$80E816 |
STA $8553,x ;$80E818 |
LDA $74 ;$80E81B |
EOR #$FFFF ;$80E81D |
INC A ;$80E820 |
SEP #$20 ;$80E821 |
STA $004202 ;$80E823 |
LDA #$8B ;$80E827 |
STA $004203 ;$80E829 |
NOP ;$80E82D |
NOP ;$80E82E |
LDA #$3E ;$80E82F |
SEC ;$80E831 |
SBC $004217 ;$80E832 |
REP #$20 ;$80E836 |
AND #$00FF ;$80E838 |
STA $8555,x ;$80E83B |
INX ;$80E83E |
INX ;$80E83F |
INX ;$80E840 |
INX ;$80E841 |
INX ;$80E842 |
LDA #$0020 ;$80E843 |
CODE_80E846: ; |
STA $8552,x ;$80E846 |
CLC ;$80E849 |
ADC $B4 ;$80E84A |
STA $B4 ;$80E84C |
LDA $8012 ;$80E84E |
AND #$00FF ;$80E851 |
STA $32 ;$80E854 |
LSR A ;$80E856 |
LSR A ;$80E857 |
LSR A ;$80E858 |
LSR A ;$80E859 |
LSR A ;$80E85A |
CLC ;$80E85B |
ADC $32 ;$80E85C |
STA $8553,x ;$80E85E |
LDA $74 ;$80E861 |
CLC ;$80E863 |
ADC #$00DF ;$80E864 |
STA $8555,x ;$80E867 |
INX ;$80E86A |
INX ;$80E86B |
INX ;$80E86C |
INX ;$80E86D |
INX ;$80E86E |
CODE_80E86F: ; |
LDA $B4 ;$80E86F |
STA $3A ;$80E871 |
SEP #$20 ;$80E873 |
LDA $74 ;$80E875 |
BMI CODE_80E88C ;$80E877 |
STA $004202 ;$80E879 |
LDA #$76 ;$80E87D |
STA $004203 ;$80E87F |
LDA #$32 ;$80E883 |
CLC ;$80E885 |
ADC $004217 ;$80E886 |
BRA CODE_80E8A0 ;$80E88A /
CODE_80E88C:
EOR #$FF ;$80E88C \
INC A ;$80E88E |
STA $004202 ;$80E88F |
LDA #$76 ;$80E893 |
STA $004203 ;$80E895 |
LDA #$31 ;$80E899 |
SEC ;$80E89B |
SBC $004217 ;$80E89C |
CODE_80E8A0: ; |
REP #$20 ;$80E8A0 |
AND #$00FF ;$80E8A2 |
BIT #$0080 ;$80E8A5 |
BEQ CODE_80E8AD ;$80E8A8 |
ORA #$FF00 ;$80E8AA |
CODE_80E8AD: ; |
STA $7A ;$80E8AD |
DEC A ;$80E8AF |
CMP #$0080 ;$80E8B0 |
BCC CODE_80E90C ;$80E8B3 |
SEC ;$80E8B5 |
ADC #$0060 ;$80E8B6 |
STA $8552,x ;$80E8B9 |
CLC ;$80E8BC |
ADC $B4 ;$80E8BD |
LDA $3E ;$80E8BF |
STA $8553,x ;$80E8C1 |
LDA $B4 ;$80E8C4 |
CLC ;$80E8C6 |
ADC $7A ;$80E8C7 |
EOR #$FFFF ;$80E8C9 |
STA $8555,x ;$80E8CC |
INX ;$80E8CF |
INX ;$80E8D0 |
INX ;$80E8D1 |
INX ;$80E8D2 |
INX ;$80E8D3 |
SEP #$20 ;$80E8D4 |
LDA $74 ;$80E8D6 |
SEC ;$80E8D8 |
SBC #$E0 ;$80E8D9 |
BMI CODE_80E8DF ;$80E8DB |
LDA #$00 ;$80E8DD |
CODE_80E8DF: ; |
CLC ;$80E8DF |
ADC $B4 ;$80E8E0 |
LDY $3C ;$80E8E2 |
STA $8812,y ;$80E8E4 |
LDA #$71 ;$80E8E7 |
STA $8813,y ;$80E8E9 |
LDA $7A ;$80E8EC |
CLC ;$80E8EE |
ADC #$60 ;$80E8EF |
STA $8814,y ;$80E8F1 |
CLC ;$80E8F4 |
ADC $B4 ;$80E8F5 |
LDA #$79 ;$80E8F7 |
STA $8815,y ;$80E8F9 |
REP #$20 ;$80E8FC |
LDA $854D,x ;$80E8FE |
AND #$00FF ;$80E901 |
CLC ;$80E904 |
ADC $B4 ;$80E905 |
STA $B4 ;$80E907 |
JMP CODE_80EA20 ;$80E909 /
CODE_80E90C:
LDA $74 ;$80E90C \
BPL CODE_80E913 ;$80E90E |
LDA #$0000 ;$80E910 |
CODE_80E913: ; |
EOR #$FFFF ;$80E913 |
INC A ;$80E916 |
CLC ;$80E917 |
ADC $7A ;$80E918 |
STA $38 ;$80E91A |
ORA #$0080 ;$80E91C |
STA $8552,x ;$80E91F |
INX ;$80E922 |
AND #$007F ;$80E923 |
CLC ;$80E926 |
ADC $B4 ;$80E927 |
STA $B4 ;$80E929 |
LDA #$005F ;$80E92B |
SEC ;$80E92E |
SBC $7A ;$80E92F |
BPL CODE_80E954 ;$80E931 |
EOR #$FFFF ;$80E933 |
INC A ;$80E936 |
XBA ;$80E937 |
STA $4204 ;$80E938 |
SEP #$20 ;$80E93B |
LDA $7A ;$80E93D |
STA $004206 ;$80E93F |
REP #$20 ;$80E943 |
NOP ;$80E945 |
NOP ;$80E946 |
NOP ;$80E947 |
NOP ;$80E948 |
NOP ;$80E949 |
LDA.l $004214 ;$80E94A |
EOR #$FFFF ;$80E94E |
INC A ;$80E951 |
BRA CODE_80E96C ;$80E952 /
CODE_80E954:
XBA ;$80E954 \
STA $004204 ;$80E955 |
SEP #$20 ;$80E959 |
LDA $7A ;$80E95B |
STA $004206 ;$80E95D |
REP #$20 ;$80E961 |
NOP ;$80E963 |
NOP ;$80E964 |
NOP ;$80E965 |
NOP ;$80E966 |
NOP ;$80E967 |
LDA.l $004214 ;$80E968 |
CODE_80E96C: ; |
STA $32 ;$80E96C |
LDA $74 ;$80E96E |
BMI CODE_80E989 ;$80E970 |
SEP #$20 ;$80E972 |
LDA $74 ;$80E974 |
STA $004202 ;$80E976 |
LDA $32 ;$80E97A |
STA $004203 ;$80E97C |
REP #$20 ;$80E980 |
LDA $74 ;$80E982 |
SEC ;$80E984 |
ADC $004217 ;$80E985 |
CODE_80E989: ; |
TAY ;$80E989 |
JSR CODE_80EBB2 ;$80E98A |
LDA #$004F ;$80E98D |
SEC ;$80E990 |
SBC $7A ;$80E991 |
BPL CODE_80E9DC ;$80E993 |
SEC ;$80E995 |
ADC #$0060 ;$80E996 |
STA $8552,x ;$80E999 |
LDA $3E ;$80E99C |
STA $8553,x ;$80E99E |
LDA $B4 ;$80E9A1 |
EOR #$FFFF ;$80E9A3 |
STA $8555,x ;$80E9A6 |
INX ;$80E9A9 |
INX ;$80E9AA |
INX ;$80E9AB |
INX ;$80E9AC |
INX ;$80E9AD |
SEP #$20 ;$80E9AE |
LDA $B4 ;$80E9B0 |
LDY $3C ;$80E9B2 |
STA $8812,y ;$80E9B4 |
LDA #$71 ;$80E9B7 |
STA $8813,y ;$80E9B9 |
LDA $854D,x ;$80E9BC |
STA $8814,y ;$80E9BF |
LDA #$79 ;$80E9C2 |
STA $8815,y ;$80E9C4 |
REP #$20 ;$80E9C7 |
LDA $854D,x ;$80E9C9 |
CLC ;$80E9CC |
ADC $B4 ;$80E9CD |
STA $B4 ;$80E9CF |
LDA #$0050 ;$80E9D1 |
SEC ;$80E9D4 |
SBC $7A ;$80E9D5 |
STA $7A ;$80E9D7 |
JMP CODE_80EAA1 ;$80E9D9 /
CODE_80E9DC:
LDA #$0060 ;$80E9DC \
STA $8552,x ;$80E9DF |
LDA $3E ;$80E9E2 |
STA $8553,x ;$80E9E4 |
LDA $B4 ;$80E9E7 |
EOR #$FFFF ;$80E9E9 |
STA $8555,x ;$80E9EC |
INX ;$80E9EF |
INX ;$80E9F0 |
INX ;$80E9F1 |
INX ;$80E9F2 |
INX ;$80E9F3 |
SEP #$20 ;$80E9F4 |
LDA $74 ;$80E9F6 |
SEC ;$80E9F8 |
SBC #$E0 ;$80E9F9 |
BMI CODE_80E9FF ;$80E9FB |
LDA #$00 ;$80E9FD |
CODE_80E9FF: ; |
CLC ;$80E9FF |
ADC $B4 ;$80EA00 |
LDY $3C ;$80EA02 |
STA $8812,y ;$80EA04 |
LDA #$71 ;$80EA07 |
STA $8813,y ;$80EA09 |
LDA #$60 ;$80EA0C |
STA $8814,y ;$80EA0E |
LDA #$79 ;$80EA11 |
STA $8815,y ;$80EA13 |
REP #$20 ;$80EA16 |
LDA #$0060 ;$80EA18 |
CLC ;$80EA1B |
ADC $B4 ;$80EA1C |
STA $B4 ;$80EA1E |
CODE_80EA20: ; |
LDA #$0050 ;$80EA20 |
SEC ;$80EA23 |
SBC $7A ;$80EA24 |
STA $7A ;$80EA26 |
STA $38 ;$80EA28 |
ORA #$0080 ;$80EA2A |
STA $8552,x ;$80EA2D |
INX ;$80EA30 |
LDA #$0060 ;$80EA31 |
SEC ;$80EA34 |
SBC $7A ;$80EA35 |
BPL CODE_80EA5B ;$80EA37 |
EOR #$FFFF ;$80EA39 |
INC A ;$80EA3C |
XBA ;$80EA3D |
STA $004204 ;$80EA3E |
SEP #$20 ;$80EA42 |
LDA $7A ;$80EA44 |
STA $004206 ;$80EA46 |
REP #$20 ;$80EA4A |
NOP ;$80EA4C |
NOP ;$80EA4D |
NOP ;$80EA4E |
NOP ;$80EA4F |
NOP ;$80EA50 |
LDA.l $004214 ;$80EA51 |
EOR #$FFFF ;$80EA55 |
INC A ;$80EA58 |
BRA CODE_80EA73 ;$80EA59 /
CODE_80EA5B:
XBA ;$80EA5B \
STA $004204 ;$80EA5C |
SEP #$20 ;$80EA60 |
LDA $7A ;$80EA62 |
STA $004206 ;$80EA64 |
REP #$20 ;$80EA68 |
NOP ;$80EA6A |
NOP ;$80EA6B |
NOP ;$80EA6C |
NOP ;$80EA6D |
NOP ;$80EA6E |
LDA.l $004214 ;$80EA6F |
CODE_80EA73: ; |
STA $32 ;$80EA73 |
LDA $B4 ;$80EA75 |
STA $3A ;$80EA77 |
LDA $B4 ;$80EA79 |
EOR #$FFFF ;$80EA7B |
SEC ;$80EA7E |
ADC #$0060 ;$80EA7F |
TAY ;$80EA82 |
LDA $B4 ;$80EA83 |
CLC ;$80EA85 |
ADC $38 ;$80EA86 |
CMP #$00E0 ;$80EA88 |
BCC CODE_80EA97 ;$80EA8B |
LDA #$00E0 ;$80EA8D |
SEC ;$80EA90 |
SBC $B4 ;$80EA91 |
BMI CODE_80EAA1 ;$80EA93 |
STA $38 ;$80EA95 |
CODE_80EA97: ; |
LDA $B4 ;$80EA97 |
CLC ;$80EA99 |
ADC $38 ;$80EA9A |
STA $B4 ;$80EA9C |
JSR CODE_80EBB2 ;$80EA9E |
CODE_80EAA1: ; |
LDA #$0020 ;$80EAA1 |
STA $8552,x ;$80EAA4 |
CLC ;$80EAA7 |
ADC $B4 ;$80EAA8 |
STA $B4 ;$80EAAA |
LDA $8012 ;$80EAAC |
AND #$00FF ;$80EAAF |
STA $32 ;$80EAB2 |
LSR A ;$80EAB4 |
LSR A ;$80EAB5 |
LSR A ;$80EAB6 |
LSR A ;$80EAB7 |
LSR A ;$80EAB8 |
CLC ;$80EAB9 |
ADC $32 ;$80EABA |
STA $8553,x ;$80EABC |
LDA $74 ;$80EABF |
CLC ;$80EAC1 |
ADC #$000F ;$80EAC2 |
STA $8555,x ;$80EAC5 |
LDA $7A ;$80EAC8 |
BMI CODE_80EACF ;$80EACA |
LDA #$0000 ;$80EACC |
CODE_80EACF: ; |
EOR #$00FF ;$80EACF |
INC A ;$80EAD2 |
CLC ;$80EAD3 |
ADC #$0050 ;$80EAD4 |
STA $8557,x ;$80EAD7 |
LDA $40 ;$80EADA |
STA $8558,x ;$80EADC |
LDA $7A ;$80EADF |
SEC ;$80EAE1 |
SBC $B4 ;$80EAE2 |
CLC ;$80EAE4 |
ADC #$000F ;$80EAE5 |
STA $855A,x ;$80EAE8 |
SEP #$20 ;$80EAEB |
LDA $7A ;$80EAED |
BPL CODE_80EAF3 ;$80EAEF |
LDA #$00 ;$80EAF1 |
CODE_80EAF3: ; |
CLC ;$80EAF3 |
ADC #$20 ;$80EAF4 |
LDY $3C ;$80EAF6 |
STA $8816,y ;$80EAF8 |
LDA #$71 ;$80EAFB |
STA $8817,y ;$80EAFD |
LDA $7A ;$80EB00 |
BMI CODE_80EB06 ;$80EB02 |
LDA #$00 ;$80EB04 |
CODE_80EB06: ; |
EOR #$FF ;$80EB06 |
INC A ;$80EB08 |
CLC ;$80EB09 |
ADC #$50 ;$80EB0A |
STA $8818,y ;$80EB0C |
LDA #$79 ;$80EB0F |
STA $8819,y ;$80EB11 |
LDA #$01 ;$80EB14 |
STA $881A,y ;$80EB16 |
LDA #$71 ;$80EB19 |
STA $881B,y ;$80EB1B |
LDA #$00 ;$80EB1E |
STA $881C,y ;$80EB20 |
REP #$20 ;$80EB23 |
LDA $8818,y ;$80EB25 |
CLC ;$80EB28 |
ADC $B4 ;$80EB29 |
AND #$00FF ;$80EB2B |
STA $B4 ;$80EB2E |
LDA $B4 ;$80EB30 |
CMP #$00E0 ;$80EB32 |
BCS CODE_80EB42 ;$80EB35 |
LDA $74 ;$80EB37 |
SEC ;$80EB39 |
SBC #$0040 ;$80EB3A |
CMP #$001C ;$80EB3D |
BCC CODE_80EB45 ;$80EB40 |
CODE_80EB42: ; |
JMP CODE_80EBB0 ;$80EB42 /
CODE_80EB45:
LDA $B4 ;$80EB45 \
AND #$00FF ;$80EB47 |
STA $B4 ;$80EB4A |
TXA ;$80EB4C |
CLC ;$80EB4D |
ADC #$000A ;$80EB4E |
TAX ;$80EB51 |
LDA #$005F ;$80EB52 |
CLC ;$80EB55 |
ADC $7A ;$80EB56 |
STA $7A ;$80EB58 |
STA $38 ;$80EB5A |
ORA #$0080 ;$80EB5C |
STA $8552,x ;$80EB5F |
INX ;$80EB62 |
LDA #$0060 ;$80EB63 |
SEC ;$80EB66 |
SBC $7A ;$80EB67 |
XBA ;$80EB69 |
STA $004204 ;$80EB6A |
SEP #$20 ;$80EB6E |
LDA $7A ;$80EB70 |
STA $004206 ;$80EB72 |
REP #$20 ;$80EB76 |
NOP ;$80EB78 |
NOP ;$80EB79 |
NOP ;$80EB7A |
NOP ;$80EB7B |
NOP ;$80EB7C |
LDA.l $004214 ;$80EB7D |
STA $32 ;$80EB81 |
LDA $B4 ;$80EB83 |
STA $3A ;$80EB85 |
LDA $B4 ;$80EB87 |
EOR #$FFFF ;$80EB89 |
SEC ;$80EB8C |
ADC #$0060 ;$80EB8D |
TAY ;$80EB90 |
LDA $B4 ;$80EB91 |
CLC ;$80EB93 |
ADC $38 ;$80EB94 |
CMP #$00E0 ;$80EB96 |
BCC CODE_80EBA3 ;$80EB99 |
LDA #$00E0 ;$80EB9B |
SEC ;$80EB9E |
SBC $B4 ;$80EB9F |
STA $38 ;$80EBA1 |
CODE_80EBA3: ; |
LDA $B4 ;$80EBA3 |
AND #$00FF ;$80EBA5 |
CLC ;$80EBA8 |
ADC $38 ;$80EBA9 |
STA $B4 ;$80EBAB |
JSR CODE_80EBB2 ;$80EBAD |
CODE_80EBB0: ; |
PLB ;$80EBB0 |
RTS ;$80EBB1 /
CODE_80EBB2:
TSC ;$80EBB2 \
STA $36 ;$80EBB3 |
TYA ;$80EBB5 |
XBA ;$80EBB6 |
TCS ;$80EBB7 |
LDA $38 ;$80EBB8 |
CMP #$0008 ;$80EBBA |
BCS CODE_80EBC2 ;$80EBBD |
JMP CODE_80ECBD ;$80EBBF /
CODE_80EBC2:
TSC ;$80EBC2 \
XBA ;$80EBC3 |
AND #$00FF ;$80EBC4 |
STA $8554,x ;$80EBC7 |
ADC $3A ;$80EBCA |
AND #$00FF ;$80EBCC |
TAY ;$80EBCF |
LDA $8012,y ;$80EBD0 |
AND #$00FF ;$80EBD3 |
STA $8552,x ;$80EBD6 |
INC $3A ;$80EBD9 |
TSC ;$80EBDB |
ADC $32 ;$80EBDC |
TCS ;$80EBDE |
XBA ;$80EBDF |
AND #$00FF ;$80EBE0 |
STA $8558,x ;$80EBE3 |
ADC $3A ;$80EBE6 |
AND #$00FF ;$80EBE8 |
TAY ;$80EBEB |
LDA $8012,y ;$80EBEC |
AND #$00FF ;$80EBEF |
STA $8556,x ;$80EBF2 |
INC $3A ;$80EBF5 |
TSC ;$80EBF7 |
ADC $32 ;$80EBF8 |
TCS ;$80EBFA |
XBA ;$80EBFB |
AND #$00FF ;$80EBFC |
STA $855C,x ;$80EBFF |
ADC $3A ;$80EC02 |
AND #$00FF ;$80EC04 |
TAY ;$80EC07 |
LDA $8012,y ;$80EC08 |
AND #$00FF ;$80EC0B |
STA $855A,x ;$80EC0E |
INC $3A ;$80EC11 |
TSC ;$80EC13 |
ADC $32 ;$80EC14 |
TCS ;$80EC16 |
XBA ;$80EC17 |
AND #$00FF ;$80EC18 |
STA $8560,x ;$80EC1B |
ADC $3A ;$80EC1E |
AND #$00FF ;$80EC20 |
TAY ;$80EC23 |
LDA $8012,y ;$80EC24 |
AND #$00FF ;$80EC27 |
STA $855E,x ;$80EC2A |
INC $3A ;$80EC2D |
TSC ;$80EC2F |
ADC $32 ;$80EC30 |
TCS ;$80EC32 |
XBA ;$80EC33 |
AND #$00FF ;$80EC34 |
STA $8564,x ;$80EC37 |
ADC $3A ;$80EC3A |
AND #$00FF ;$80EC3C |
TAY ;$80EC3F |
LDA $8012,y ;$80EC40 |
AND #$00FF ;$80EC43 |
STA $8562,x ;$80EC46 |
INC $3A ;$80EC49 |
TSC ;$80EC4B |
ADC $32 ;$80EC4C |
TCS ;$80EC4E |
XBA ;$80EC4F |
AND #$00FF ;$80EC50 |
STA $8568,x ;$80EC53 |
ADC $3A ;$80EC56 |
AND #$00FF ;$80EC58 |
TAY ;$80EC5B |
LDA $8012,y ;$80EC5C |
AND #$00FF ;$80EC5F |
STA $8566,x ;$80EC62 |
INC $3A ;$80EC65 |
TSC ;$80EC67 |
ADC $32 ;$80EC68 |
TCS ;$80EC6A |
XBA ;$80EC6B |
AND #$00FF ;$80EC6C |
STA $856C,x ;$80EC6F |
ADC $3A ;$80EC72 |
AND #$00FF ;$80EC74 |
TAY ;$80EC77 |
LDA $8012,y ;$80EC78 |
AND #$00FF ;$80EC7B |
STA $856A,x ;$80EC7E |
INC $3A ;$80EC81 |
TSC ;$80EC83 |
ADC $32 ;$80EC84 |
TCS ;$80EC86 |
XBA ;$80EC87 |
AND #$00FF ;$80EC88 |
STA $8570,x ;$80EC8B |
ADC $3A ;$80EC8E |
AND #$00FF ;$80EC90 |
TAY ;$80EC93 |
LDA $8012,y ;$80EC94 |
AND #$00FF ;$80EC97 |
STA $856E,x ;$80EC9A |
INC $3A ;$80EC9D |
TSC ;$80EC9F |
ADC $32 ;$80ECA0 |
TCS ;$80ECA2 |
TXA ;$80ECA3 |
CLC ;$80ECA4 |
ADC #$0020 ;$80ECA5 |
TAX ;$80ECA8 |
TSC ;$80ECA9 |
LDA $38 ;$80ECAA |
SEC ;$80ECAC |
SBC #$0008 ;$80ECAD |
STA $38 ;$80ECB0 |
BEQ CODE_80ECE1 ;$80ECB2 |
CMP #$0008 ;$80ECB4 |
BCC CODE_80ECBC ;$80ECB7 |
JMP CODE_80EBC2 ;$80ECB9 /
CODE_80ECBC:
TSC ;$80ECBC \
CODE_80ECBD: ; |
XBA ;$80ECBD |
AND #$00FF ;$80ECBE |
STA $8554,x ;$80ECC1 |
ADC $3A ;$80ECC4 |
AND #$00FF ;$80ECC6 |
TAY ;$80ECC9 |
LDA $8012,y ;$80ECCA |
AND #$00FF ;$80ECCD |
STA $8552,x ;$80ECD0 |
INC $3A ;$80ECD3 |
TSC ;$80ECD5 |
ADC $32 ;$80ECD6 |
TCS ;$80ECD8 |
INX ;$80ECD9 |
INX ;$80ECDA |
INX ;$80ECDB |
INX ;$80ECDC |
DEC $38 ;$80ECDD |
BNE CODE_80ECBD ;$80ECDF |
CODE_80ECE1: ; |
LDA $36 ;$80ECE1 |
TCS ;$80ECE3 |
RTS ;$80ECE4 /
CODE_80ECE5:
LDA $0D4E ;$80ECE5 \
SEC ;$80ECE8 |
SBC $17C0 ;$80ECE9 |
CLC ;$80ECEC |
STA $32 ;$80ECED |
SEC ;$80ECEF |
SBC #$0078 ;$80ECF0 |
STA $34 ;$80ECF3 |
CMP #$8000 ;$80ECF5 |
ROR A ;$80ECF8 |
CMP #$8000 ;$80ECF9 |
ROR A ;$80ECFC |
CLC ;$80ECFD |
ADC $34 ;$80ECFE |
CLC ;$80ED00 |
ADC #$0078 ;$80ED01 |
STA $34 ;$80ED04 |
LDA $32 ;$80ED06 |
SEC ;$80ED08 |
SBC #$0078 ;$80ED09 |
CMP #$8000 ;$80ED0C |
ROR A ;$80ED0F |
CMP #$8000 ;$80ED10 |
ROR A ;$80ED13 |
CLC ;$80ED14 |
ADC #$0078 ;$80ED15 |
STA $36 ;$80ED18 |
CMP #$0078 ;$80ED1A |
BEQ CODE_80ED24 ;$80ED1D |
BMI CODE_80ED99 ;$80ED1F |
JMP CODE_80EF39 ;$80ED21 /
CODE_80ED24:
SEP #$20 ;$80ED24 \
LDA $34 ;$80ED26 |
STA $80E2 ;$80ED28 |
STA $8832 ;$80ED2B |
ORA #$80 ;$80ED2E |
STA $884B ;$80ED30 |
LDA #$13 ;$80ED33 |
STA $80E3 ;$80ED35 |
LDA #$04 ;$80ED38 |
STA $80E4 ;$80ED3A |
STA $80E5 ;$80ED3D |
STA $80E6 ;$80ED40 |
STA $8835 ;$80ED43 |
STA $884E ;$80ED46 |
LDA #$00 ;$80ED49 |
STA $80E7 ;$80ED4B |
STA $80E8 ;$80ED4E |
STA $883B ;$80ED51 |
STA $8854 ;$80ED54 |
LDA #$60 ;$80ED57 |
STA $8833 ;$80ED59 |
LDA #$5C ;$80ED5C |
SEC ;$80ED5E |
SBC $34 ;$80ED5F |
STA $8836 ;$80ED61 |
LDA #$01 ;$80ED64 |
STA $8838 ;$80ED66 |
LDA #$80 ;$80ED69 |
STA $8839 ;$80ED6B |
STA $8852 ;$80ED6E |
INC A ;$80ED71 |
STA $8851 ;$80ED72 |
REP #$20 ;$80ED75 |
LDA #$80F2 ;$80ED77 |
STA $884C ;$80ED7A |
LDA #$80F3 ;$80ED7D |
STA $884F ;$80ED80 |
LDA $2A ;$80ED83 |
CLC ;$80ED85 |
ADC $17BA ;$80ED86 |
LSR A ;$80ED89 |
LSR A ;$80ED8A |
CLC ;$80ED8B |
ADC $17BA ;$80ED8C |
AND #$00FF ;$80ED8F |
XBA ;$80ED92 |
STA $80F3 ;$80ED93 |
JMP CODE_80EEBC ;$80ED96 /
CODE_80ED99:
LDA $32 ;$80ED99 \
BPL CODE_80EDA3 ;$80ED9B |
STZ $32 ;$80ED9D |
STZ $34 ;$80ED9F |
STZ $36 ;$80EDA1 |
CODE_80EDA3: ; |
SEP #$20 ;$80EDA3 |
LDA $34 ;$80EDA5 |
BEQ CODE_80EDAE ;$80EDA7 |
BMI CODE_80EDAE ;$80EDA9 |
JMP CODE_80EE18 ;$80EDAB /
CODE_80EDAE:
LDA #$00 ;$80EDAE \
STA $8864 ;$80EDB0 |
LDA $32 ;$80EDB3 |
STA $80E2 ;$80EDB5 |
LDA #$04 ;$80EDB8 |
STA $80E3 ;$80EDBA |
STA $80E4 ;$80EDBD |
LDA #$00 ;$80EDC0 |
STA $80E5 ;$80EDC2 |
STA $80E6 ;$80EDC5 |
REP #$20 ;$80EDC8 |
LDA $32 ;$80EDCA |
CLC ;$80EDCC |
ADC #$0004 ;$80EDCD |
STA $8832 ;$80EDD0 |
LDA #$0020 ;$80EDD3 |
SEC ;$80EDD6 |
SBC $34 ;$80EDD7 |
STA $8833 ;$80EDD9 |
LDA #$0001 ;$80EDDC |
STA $8835 ;$80EDDF |
LDA #$0080 ;$80EDE2 |
STA $8836 ;$80EDE5 |
LDA #$0000 ;$80EDE8 |
STA $8838 ;$80EDEB |
LDA $32 ;$80EDEE |
CLC ;$80EDF0 |
ADC #$0084 ;$80EDF1 |
STA $884B ;$80EDF4 |
LDA $34 ;$80EDF7 |
EOR #$FFFF ;$80EDF9 |
INC A ;$80EDFC |
ASL A ;$80EDFD |
CLC ;$80EDFE |
ADC #$80FB ;$80EDFF |
STA $884C ;$80EE02 |
LDA #$0081 ;$80EE05 |
STA $884E ;$80EE08 |
DEC A ;$80EE0B |
STA $884F ;$80EE0C |
LDA #$0000 ;$80EE0F |
STA $8851 ;$80EE12 |
JMP CODE_80EEBC ;$80EE15 /
CODE_80EE18:
ORA #$80 ;$80EE18 \
STA $8864 ;$80EE1A |
LDA #$13 ;$80EE1D |
STA $80E3 ;$80EE1F |
LDA #$04 ;$80EE22 |
STA $80E5 ;$80EE24 |
STA $80E6 ;$80EE27 |
LDA #$00 ;$80EE2A |
STA $80E7 ;$80EE2C |
STA $80E8 ;$80EE2F |
LDA $34 ;$80EE32 |
STA $80E2 ;$80EE34 |
LDA $32 ;$80EE37 |
SEC ;$80EE39 |
SBC $34 ;$80EE3A |
STA $80E4 ;$80EE3C |
REP #$20 ;$80EE3F |
LDA $34 ;$80EE41 |
STA $8832 ;$80EE43 |
LDA #$0060 ;$80EE46 |
STA $8833 ;$80EE49 |
LDA #$0004 ;$80EE4C |
STA $8835 ;$80EE4F |
LDA #$005C ;$80EE52 |
SEC ;$80EE55 |
SBC $34 ;$80EE56 |
STA $8836 ;$80EE58 |
LDA $32 ;$80EE5B |
SEC ;$80EE5D |
SBC $34 ;$80EE5E |
STA $8838 ;$80EE60 |
LDA #$0020 ;$80EE63 |
SEC ;$80EE66 |
SBC $34 ;$80EE67 |
STA $8839 ;$80EE69 |
LDA #$0001 ;$80EE6C |
STA $883B ;$80EE6F |
LDA #$0080 ;$80EE72 |
STA $883C ;$80EE75 |
LDA #$0000 ;$80EE78 |
STA $883E ;$80EE7B |
LDA $34 ;$80EE7E |
ORA #$0080 ;$80EE80 |
STA $884B ;$80EE83 |
LDA #$0080 ;$80EE86 |
LDA #$80F2 ;$80EE89 |
STA $884C ;$80EE8C |
LDA #$0084 ;$80EE8F |
STA $884E ;$80EE92 |
LDA #$80F3 ;$80EE95 |
STA $884F ;$80EE98 |
LDA $32 ;$80EE9B |
SEC ;$80EE9D |
SBC $34 ;$80EE9E |
ORA #$0080 ;$80EEA0 |
STA $8851 ;$80EEA3 |
LDA #$8103 ;$80EEA6 |
STA $8852 ;$80EEA9 |
LDA #$0081 ;$80EEAC |
STA $8854 ;$80EEAF |
DEC A ;$80EEB2 |
STA $8855 ;$80EEB3 |
LDA #$0000 ;$80EEB6 |
STA $8857 ;$80EEB9 |
CODE_80EEBC: ; |
LDA $2A ;$80EEBC |
CLC ;$80EEBE |
ADC $17BA ;$80EEBF |
LSR A ;$80EEC2 |
LSR A ;$80EEC3 |
CLC ;$80EEC4 |
ADC $17BA ;$80EEC5 |
STA $34 ;$80EEC8 |
LDA $34 ;$80EECA |
LSR A ;$80EECC |
LSR A ;$80EECD |
STA $36 ;$80EECE |
LDA $34 ;$80EED0 |
EOR #$FFFF ;$80EED2 |
ASL A ;$80EED5 |
SEC ;$80EED6 |
SBC $36 ;$80EED7 |
STA $32 ;$80EED9 |
LDA $34 ;$80EEDB |
AND #$00FF ;$80EEDD |
XBA ;$80EEE0 |
TAY ;$80EEE1 |
LDX #$0000 ;$80EEE2 |
CODE_80EEE5: ; |
TYA ;$80EEE5 |
STA $80F2,x ;$80EEE6 |
ADC $32 ;$80EEE9 |
STA $80F4,x ;$80EEEB |
ADC $32 ;$80EEEE |
STA $80F6,x ;$80EEF0 |
ADC $32 ;$80EEF3 |
STA $80F8,x ;$80EEF5 |
ADC $32 ;$80EEF8 |
STA $80FA,x ;$80EEFA |
ADC $32 ;$80EEFD |
STA $80FC,x ;$80EEFF |
ADC $32 ;$80EF02 |
STA $80FE,x ;$80EF04 |
ADC $32 ;$80EF07 |
STA $8100,x ;$80EF09 |
ADC $32 ;$80EF0C |
TAY ;$80EF0E |
TXA ;$80EF0F |
CLC ;$80EF10 |
ADC #$0010 ;$80EF11 |
TAX ;$80EF14 |
CPX #$0050 ;$80EF15 |
BCC CODE_80EEE5 ;$80EF18 |
LDA $2A ;$80EF1A |
LSR A ;$80EF1C |
AND #$000E ;$80EF1D |
CLC ;$80EF20 |
ADC #$0070 ;$80EF21 |
CODE_80EF24: ; |
TAX ;$80EF24 |
INC $80F3,x ;$80EF25 |
INC $80F5,x ;$80EF28 |
INC $80F7,x ;$80EF2B |
INC $80F9,x ;$80EF2E |
TXA ;$80EF31 |
SEC ;$80EF32 |
SBC #$0010 ;$80EF33 |
BPL CODE_80EF24 ;$80EF36 |
RTS ;$80EF38 /
CODE_80EF39:
LDA $36 ;$80EF39 \
CMP #$00E0 ;$80EF3B |
BCC CODE_80EF49 ;$80EF3E |
LDA #$0180 ;$80EF40 |
STA $32 ;$80EF43 |
STA $34 ;$80EF45 |
STA $36 ;$80EF47 |
CODE_80EF49: ; |
SEP #$20 ;$80EF49 |
LDA #$F8 ;$80EF4B |
STA $8864 ;$80EF4D |
LDA #$76 ;$80EF50 |
STA $80E2 ;$80EF52 |
LDA #$17 ;$80EF55 |
STA $80E3 ;$80EF57 |
STA $80E5 ;$80EF5A |
LDA #$08 ;$80EF5D |
STA $80E4 ;$80EF5F |
LDA #$30 ;$80EF62 |
STA $80E6 ;$80EF64 |
LDA #$15 ;$80EF67 |
STA $80E7 ;$80EF69 |
LDA #$01 ;$80EF6C |
STA $80E8 ;$80EF6E |
LDA #$04 ;$80EF71 |
STA $80E9 ;$80EF73 |
LDA #$00 ;$80EF76 |
STA $80EA ;$80EF78 |
REP #$20 ;$80EF7B |
LDA $32 ;$80EF7D |
SEC ;$80EF7F |
SBC #$0076 ;$80EF80 |
LSR A ;$80EF83 |
CMP #$0080 ;$80EF84 |
BCC CODE_80EF8C ;$80EF87 |
LDA #$007F ;$80EF89 |
CODE_80EF8C: ; |
SEP #$20 ;$80EF8C |
STA $80E4 ;$80EF8E |
STA $80E6 ;$80EF91 |
REP #$20 ;$80EF94 |
LDA #$0070 ;$80EF96 |
STA $8832 ;$80EF99 |
LDA #$0060 ;$80EF9C |
STA $8833 ;$80EF9F |
LDA $36 ;$80EFA2 |
SEC ;$80EFA4 |
SBC #$0070 ;$80EFA5 |
STA $8835 ;$80EFA8 |
LDA #$0000 ;$80EFAB |
STA $8836 ;$80EFAE |
LDA $34 ;$80EFB1 |
SEC ;$80EFB3 |
SBC $36 ;$80EFB4 |
STA $38 ;$80EFB6 |
LSR A ;$80EFB8 |
PHP ;$80EFB9 |
PHA ;$80EFBA |
LSR A ;$80EFBB |
STA $8838 ;$80EFBC |
ADC #$0000 ;$80EFBF |
STA $883B ;$80EFC2 |
PLA ;$80EFC5 |
PLP ;$80EFC6 |
ADC #$0000 ;$80EFC7 |
LSR A ;$80EFCA |
STA $883E ;$80EFCB |
ADC #$0000 ;$80EFCE |
STA $8841 ;$80EFD1 |
LDA $36 ;$80EFD4 |
EOR #$FFFF ;$80EFD6 |
STA $8839 ;$80EFD9 |
LDA $36 ;$80EFDC |
ASL A ;$80EFDE |
CLC ;$80EFDF |
ADC $36 ;$80EFE0 |
CLC ;$80EFE2 |
ADC $34 ;$80EFE3 |
LSR A ;$80EFE5 |
LSR A ;$80EFE6 |
EOR #$FFFF ;$80EFE7 |
INC A ;$80EFEA |
STA $883C ;$80EFEB |
LDA $34 ;$80EFEE |
CLC ;$80EFF0 |
ADC $36 ;$80EFF1 |
LSR A ;$80EFF3 |
SEC ;$80EFF4 |
SBC #$0020 ;$80EFF5 |
EOR #$FFFF ;$80EFF8 |
INC A ;$80EFFB |
STA $883F ;$80EFFC |
LDA $34 ;$80EFFF |
ASL A ;$80F001 |
CLC ;$80F002 |
ADC $34 ;$80F003 |
CLC ;$80F005 |
ADC $36 ;$80F006 |
LSR A ;$80F008 |
LSR A ;$80F009 |
EOR #$FFFF ;$80F00A |
INC A ;$80F00D |
CLC ;$80F00E |
ADC #$0048 ;$80F00F |
STA $8842 ;$80F012 |
LDA #$0001 ;$80F015 |
STA $8844 ;$80F018 |
LDA $34 ;$80F01B |
EOR #$FFFF ;$80F01D |
INC A ;$80F020 |
CLC ;$80F021 |
ADC #$005C ;$80F022 |
STA $8845 ;$80F025 |
LDA #$0000 ;$80F028 |
STA $8847 ;$80F02B |
LDA $36 ;$80F02E |
SEC ;$80F030 |
SBC #$00F0 ;$80F031 |
STA $884B ;$80F034 |
LDA #$0080 ;$80F037 |
STA $884C ;$80F03A |
LDA #$00F0 ;$80F03D |
STA $884E ;$80F040 |
LDA #$80F2 ;$80F043 |
STA $884F ;$80F046 |
LDA $34 ;$80F049 |
SEC ;$80F04B |
SBC $36 ;$80F04C |
STA $38 ;$80F04E |
ORA #$0200 ;$80F050 |
LSR A ;$80F053 |
PHP ;$80F054 |
PHA ;$80F055 |
LSR A ;$80F056 |
STA $8851 ;$80F057 |
ADC #$0000 ;$80F05A |
STA $8854 ;$80F05D |
PLA ;$80F060 |
PLP ;$80F061 |
ADC #$0000 ;$80F062 |
LSR A ;$80F065 |
STA $8857 ;$80F066 |
ADC #$0000 ;$80F069 |
STA $885A ;$80F06C |
LDA #$80F2 ;$80F06F |
STA $8852 ;$80F072 |
LDA #$8132 ;$80F075 |
STA $8855 ;$80F078 |
LDA #$8172 ;$80F07B |
STA $8858 ;$80F07E |
LDA #$8192 ;$80F081 |
STA $885B ;$80F084 |
LDA #$0081 ;$80F087 |
STA $885D ;$80F08A |
LDA #$81B2 ;$80F08D |
STA $885E ;$80F090 |
LDA #$0000 ;$80F093 |
STA $8860 ;$80F096 |
LDA $0523 ;$80F099 |
CMP #$000E ;$80F09C |
BNE CODE_80F0AB ;$80F09F |
LDA $0915 ;$80F0A1 |
BEQ CODE_80F0AB ;$80F0A4 |
LDA #$0000 ;$80F0A6 |
BRA CODE_80F0AD ;$80F0A9 /
CODE_80F0AB:
LDA $2A ;$80F0AB \
CODE_80F0AD: ; |
CLC ;$80F0AD |
ADC $17BA ;$80F0AE |
LSR A ;$80F0B1 |
LSR A ;$80F0B2 |
CLC ;$80F0B3 |
ADC $17BA ;$80F0B4 |
STA $34 ;$80F0B7 |
LDA $34 ;$80F0B9 |
LSR A ;$80F0BB |
LSR A ;$80F0BC |
STA $36 ;$80F0BD |
LDA $34 ;$80F0BF |
EOR #$FFFF ;$80F0C1 |
ASL A ;$80F0C4 |
SEC ;$80F0C5 |
SBC $36 ;$80F0C6 |
STA $32 ;$80F0C8 |
LDA $34 ;$80F0CA |
AND #$00FF ;$80F0CC |
XBA ;$80F0CF |
TAY ;$80F0D0 |
LDX #$00C0 ;$80F0D1 |
CODE_80F0D4: ; |
TYA ;$80F0D4 |
STA $810D,x ;$80F0D5 |
ADC $32 ;$80F0D8 |
STA $810B,x ;$80F0DA |
ADC $32 ;$80F0DD |
STA $8109,x ;$80F0DF |
ADC $32 ;$80F0E2 |
STA $8107,x ;$80F0E4 |
ADC $32 ;$80F0E7 |
STA $8105,x ;$80F0E9 |
ADC $32 ;$80F0EC |
STA $8103,x ;$80F0EE |
ADC $32 ;$80F0F1 |
STA $8101,x ;$80F0F3 |
ADC $32 ;$80F0F6 |
STA $80FF,x ;$80F0F8 |
ADC $32 ;$80F0FB |
TAY ;$80F0FD |
TXA ;$80F0FE |
SEC ;$80F0FF |
SBC #$0010 ;$80F100 |
TAX ;$80F103 |
BPL CODE_80F0D4 ;$80F104 |
LDA $0523 ;$80F106 |
CMP #$000E ;$80F109 |
BNE CODE_80F113 ;$80F10C |
LDA $0915 ;$80F10E |
BNE CODE_80F156 ;$80F111 |
CODE_80F113: ; |
LDA $2A ;$80F113 |
LSR A ;$80F115 |
AND #$000E ;$80F116 |
CLC ;$80F119 |
ADC #$0040 ;$80F11A |
CODE_80F11D: ; |
TAX ;$80F11D |
INC $817E,x ;$80F11E |
INC $8180,x ;$80F121 |
INC $8182,x ;$80F124 |
INC $8182,x ;$80F127 |
INC $8184,x ;$80F12A |
INC $8184,x ;$80F12D |
INC $8186,x ;$80F130 |
INC $8188,x ;$80F133 |
TXA ;$80F136 |
SEC ;$80F137 |
SBC #$0010 ;$80F138 |
BPL CODE_80F11D ;$80F13B |
TXA ;$80F13D |
CLC ;$80F13E |
ADC #$0070 ;$80F13F |
CODE_80F142: ; |
TAX ;$80F142 |
INC $80FE,x ;$80F143 |
INC $8100,x ;$80F146 |
INC $8102,x ;$80F149 |
INC $8104,x ;$80F14C |
TXA ;$80F14F |
SEC ;$80F150 |
SBC #$0010 ;$80F151 |
BPL CODE_80F142 ;$80F154 |
CODE_80F156: ; |
RTS ;$80F156 /
CODE_80F157:
LDY #$0002 ;$80F157 \
LDX #$000A ;$80F15A |
LDA #$0000 ;$80F15D |
JSR CODE_80F264 ;$80F160 |
LDY #$000C ;$80F163 |
LDX #$0000 ;$80F166 |
LDA #$0002 ;$80F169 |
JSR CODE_80F264 ;$80F16C |
LDY #$0016 ;$80F16F |
LDX #$0014 ;$80F172 |
LDA #$0004 ;$80F175 |
JSR CODE_80F264 ;$80F178 |
LDA $17BA ;$80F17B |
AND #$00FF ;$80F17E |
STA $54 ;$80F181 |
LDA $54 ;$80F183 |
XBA ;$80F185 |
LSR A ;$80F186 |
STA $32 ;$80F187 |
LSR A ;$80F189 |
LSR A ;$80F18A |
LSR A ;$80F18B |
CLC ;$80F18C |
ADC $32 ;$80F18D |
XBA ;$80F18F |
CLC ;$80F190 |
ADC #$01C0 ;$80F191 |
STA $56 ;$80F194 |
PHP ;$80F196 |
LDA $2A ;$80F197 |
BIT #$0001 ;$80F199 |
BNE CODE_80F1F1 ;$80F19C |
PLP ;$80F19E |
LDA $54 ;$80F19F |
STA $32 ;$80F1A1 |
LSR A ;$80F1A3 |
LSR A ;$80F1A4 |
STA $34 ;$80F1A5 |
LSR A ;$80F1A7 |
LSR A ;$80F1A8 |
CLC ;$80F1A9 |
ADC $32 ;$80F1AA |
ADC $34 ;$80F1AC |
LSR A ;$80F1AE |
SEC ;$80F1AF |
SBC #$0060 ;$80F1B0 |
AND #$FFFE ;$80F1B3 |
BPL CODE_80F1D6 ;$80F1B6 |
EOR #$FFFF ;$80F1B8 |
INC A ;$80F1BB |
STA $34 ;$80F1BC |
LDX #$0000 ;$80F1BE |
LDA $56 ;$80F1C1 |
XBA ;$80F1C3 |
CODE_80F1C4: ; |
STA $7E8012,x ;$80F1C4 |
SBC $34 ;$80F1C8 |
SBC #$FFFF ;$80F1CA |
INX ;$80F1CD |
INX ;$80F1CE |
CPX #$0190 ;$80F1CF |
BNE CODE_80F1C4 ;$80F1D2 |
BRA CODE_80F1F0 ;$80F1D4 /
CODE_80F1D6:
STA $34 ;$80F1D6 \
LDX #$0000 ;$80F1D8 |
LDA $56 ;$80F1DB |
XBA ;$80F1DD |
CLC ;$80F1DE |
CODE_80F1DF: ; |
STA $7E8012,x ;$80F1DF |
CLC ;$80F1E3 |
ADC $34 ;$80F1E4 |
ADC #$0000 ;$80F1E6 |
INX ;$80F1E9 |
INX ;$80F1EA |
CPX #$0190 ;$80F1EB |
BNE CODE_80F1DF ;$80F1EE |
CODE_80F1F0: ; |
RTS ;$80F1F0 /
CODE_80F1F1:
PLP ;$80F1F1 \
LDA $54 ;$80F1F2 |
STA $32 ;$80F1F4 |
LSR A ;$80F1F6 |
LSR A ;$80F1F7 |
STA $34 ;$80F1F8 |
LSR A ;$80F1FA |
LSR A ;$80F1FB |
CLC ;$80F1FC |
ADC $32 ;$80F1FD |
ADC $34 ;$80F1FF |
LSR A ;$80F201 |
SEC ;$80F202 |
SBC #$0060 ;$80F203 |
AND #$FFFE ;$80F206 |
BPL CODE_80F229 ;$80F209 |
EOR #$FFFF ;$80F20B |
INC A ;$80F20E |
STA $34 ;$80F20F |
LDX #$0000 ;$80F211 |
LDA $56 ;$80F214 |
XBA ;$80F216 |
CODE_80F217: ; |
STA $7E81A2,x ;$80F217 |
SBC $34 ;$80F21B |
SBC #$FFFF ;$80F21D |
INX ;$80F220 |
INX ;$80F221 |
CPX #$0190 ;$80F222 |
BNE CODE_80F217 ;$80F225 |
BRA CODE_80F243 ;$80F227 /
CODE_80F229:
STA $34 ;$80F229 \
LDX #$0000 ;$80F22B |
LDA $56 ;$80F22E |
XBA ;$80F230 |
CLC ;$80F231 |
CODE_80F232: ; |
STA $7E81A2,x ;$80F232 |
CLC ;$80F236 |
ADC $34 ;$80F237 |
ADC #$0000 ;$80F239 |
INX ;$80F23C |
INX ;$80F23D |
CPX #$0190 ;$80F23E |
BNE CODE_80F232 ;$80F241 |
CODE_80F243: ; |
RTS ;$80F243 /
DATA_80F244:
db $48, $FF, $98, $FF, $C4, $FF, $00, $00
db $C4, $FF, $68, $FF, $48, $FF, $00, $00
db $00, $01, $C4, $FF, $48, $FF, $00, $00
db $C4, $FF, $48, $FF, $88, $FF, $00, $00
CODE_80F264:
STX $38 ;$80F264 \
STA $34 ;$80F266 |
LDA $17BB ;$80F268 |
AND #$0003 ;$80F26B |
ASL A ;$80F26E |
ASL A ;$80F26F |
ASL A ;$80F270 |
CLC ;$80F271 |
ADC $34 ;$80F272 |
TAX ;$80F274 |
LDA $17BA ;$80F275 |
AND #$00FF ;$80F278 |
CLC ;$80F27B |
ADC.l DATA_80F244,x ;$80F27C |
BIT #$8000 ;$80F280 |
BEQ CODE_80F288 ;$80F283 |
EOR #$FFFF ;$80F285 |
CODE_80F288: ; |
LSR A ;$80F288 |
SEC ;$80F289 |
SBC #$0010 ;$80F28A |
BPL CODE_80F292 ;$80F28D |
LDA #$0000 ;$80F28F |
CODE_80F292: ; |
CMP #$0019 ;$80F292 |
BCC CODE_80F29A ;$80F295 |
LDA #$0019 ;$80F297 |
CODE_80F29A: ; |
CLC ;$80F29A |
ADC #$0002 ;$80F29B |
STA $32 ;$80F29E |
ASL A ;$80F2A0 |
ASL A ;$80F2A1 |
XBA ;$80F2A2 |
STA $36 ;$80F2A3 |
XBA ;$80F2A5 |
ASL A ;$80F2A6 |
ASL A ;$80F2A7 |
ASL A ;$80F2A8 |
STA $34 ;$80F2A9 |
LDX $38 ;$80F2AB |
PHB ;$80F2AD |
SEP #$20 ;$80F2AE |
LDA #$80 ;$80F2B0 |
PHA ;$80F2B2 |
REP #$20 ;$80F2B3 |
PLB ;$80F2B5 |
JSR CODE_80F2C7 ;$80F2B6 |
JSR CODE_80F2C7 ;$80F2B9 |
JSR CODE_80F2C7 ;$80F2BC |
JSR CODE_80F2C7 ;$80F2BF |
JSR CODE_80F2C7 ;$80F2C2 |
PLB ;$80F2C5 |
RTS ;$80F2C6 /
CODE_80F2C7:
LDA DATA_80F300,y ;$80F2C7 \
AND #$001F ;$80F2CA |
SEC ;$80F2CD |
SBC $32 ;$80F2CE |
BPL CODE_80F2D5 ;$80F2D0 |
LDA #$0000 ;$80F2D2 |
CODE_80F2D5: ; |
STA $38 ;$80F2D5 |
LDA DATA_80F300,y ;$80F2D7 |
AND #$03E0 ;$80F2DA |
SEC ;$80F2DD |
SBC $34 ;$80F2DE |
BPL CODE_80F2E5 ;$80F2E0 |
LDA #$0000 ;$80F2E2 |
CODE_80F2E5: ; |
TSB $38 ;$80F2E5 |
LDA DATA_80F300,y ;$80F2E7 |
AND #$7C00 ;$80F2EA |
SEC ;$80F2ED |
SBC $36 ;$80F2EE |
BPL CODE_80F2F5 ;$80F2F0 |
LDA #$0000 ;$80F2F2 |
CODE_80F2F5: ; |
ORA $38 ;$80F2F5 |
STA $7E8C28,x ;$80F2F7 |
INY ;$80F2FB |
INY ;$80F2FC |
INX ;$80F2FD |
INX ;$80F2FE |
RTS ;$80F2FF /
DATA_80F300:
db $00, $00, $62, $08, $A4, $10, $07, $19
db $8B, $25, $2E, $32, $62, $08, $A4, $10
db $07, $19, $8B, $25, $2E, $32, $62, $08
db $A4, $10, $07, $19, $8B, $25, $2E, $32
CODE_80F320:
JSR CODE_80F324 ;$80F320 \
RTL ;$80F323 /
CODE_80F324:
LDA $EF ;$80F324 \
CMP $F1 ;$80F326 |
BEQ CODE_80F35A ;$80F328 |
ASL A ;$80F32A |
ASL A ;$80F32B |
TAX ;$80F32C |
LDA $EF ;$80F32D |
INC A ;$80F32F |
AND #$000F ;$80F330 |
STA $EF ;$80F333 |
LDA #$2200 ;$80F335 |
STA $4300 ;$80F338 |
LDA #$001E ;$80F33B |
STA $4305 ;$80F33E |
LDA $0B24,x ;$80F341 |
STA $4302 ;$80F344 |
LDA $0B26,x ;$80F347 |
SEP #$20 ;$80F34A |
STA $4304 ;$80F34C |
XBA ;$80F34F |
STA $2121 ;$80F350 |
LDA #$01 ;$80F353 |
STA $420B ;$80F355 |
REP #$20 ;$80F358 |
CODE_80F35A: ; |
RTS ;$80F35A /
CODE_80F35B:
PHK ;$80F35B \
PLB ;$80F35C |
JSL CODE_B5A8DA ;$80F35D |
LDA #$0200 ;$80F361 |
STA $70 ;$80F364 |
LDA #$0400 ;$80F366 |
STA $56 ;$80F369 |
STZ $0400 ;$80F36B |
STZ $0402 ;$80F36E |
STZ $0404 ;$80F371 |
STZ $0406 ;$80F374 |
STZ $0408 ;$80F377 |
STZ $040A ;$80F37A |
STZ $040C ;$80F37D |
STZ $040E ;$80F380 |
STZ $0410 ;$80F383 |
STZ $0412 ;$80F386 |
STZ $0414 ;$80F389 |
STZ $0416 ;$80F38C |
STZ $0418 ;$80F38F |
STZ $041A ;$80F392 |
STZ $041C ;$80F395 |
STZ $041E ;$80F398 |
JSL CODE_BEC695 ;$80F39B |
JSL CODE_B59F40 ;$80F39F |
JSL CODE_B5F0FD ;$80F3A3 |
LDA $0638 ;$80F3A7 |
BEQ CODE_80F3B0 ;$80F3AA |
JSL CODE_B59C52 ;$80F3AC |
CODE_80F3B0: ; |
STZ $1730 ;$80F3B0 |
RTS ;$80F3B3 /
CODE_80F3B4:
LDA #$0001 ;$80F3B4 |
STA $420B ;$80F3B7 |
JMP CODE_80F3F2 ;$80F3BA /
NMI_start:
JML CODE_80F3C1 ;$80F3BD /
CODE_80F3C1:
REP #$30 ;$80F3C1 \
PHD ;$80F3C3 |
PHA ;$80F3C4 |
PHX ;$80F3C5 |
PHY ;$80F3C6 |
LDA #$0000 ;$80F3C7 |
TCD ;$80F3CA |
CLD ;$80F3CB |
SEP #$20 ;$80F3CC |
LDA.l $004210 ;$80F3CE |
LDA #$8F ;$80F3D2 |
STA $002100 ;$80F3D4 |
REP #$20 ;$80F3D8 |
LDA.l $00002C ;$80F3DA |
INC A ;$80F3DE |
STA $00002C ;$80F3DF |
JMP ($0020) ;$80F3E3 /
CODE_80F3E6:
SEP #$20 ;$80F3E6 \
LDA.l $000512 ;$80F3E8 |
STA $002100 ;$80F3EC |
REP #$20 ;$80F3F0 |
CODE_80F3F2: ; |
REP #$30 ;$80F3F2 |
PLY ;$80F3F4 |
PLX ;$80F3F5 |
PLA ;$80F3F6 |
PLD ;$80F3F7 |
RTI ;$80F3F8 /
IRQ_start:
SEI ;$80F3F9 \
RTI ;$80F3FA /
CODE_80F3FB:
JSL disable_screen ;$80F3FB \
PHK ;$80F3FF |
PLB ;$80F400 |
JSL clear_VRAM_wrapper ;$80F401 |
JSL init_registers_wrapper ;$80F405 |
JSL CODE_808E6A ;$80F409 |
JSL CODE_8088AB ;$80F40D |
JSL CODE_BB91F7 ;$80F411 |
LDA #$001E ;$80F415 |
JSL CODE_B5800C ;$80F418 |
STZ $1730 ;$80F41C |
LDA #$000E ;$80F41F |
JSL set_PPU_registers_wrapper ;$80F422 |
LDA #$003A ;$80F426 |
JSL handle_VRAM_payload_wrapper ;$80F429 |
LDY #$0000 ;$80F42D |
LDA #DATA_FD13F0 ;$80F430 |
LDX #$0020 ;$80F433 |
JSL DMA_palette ;$80F436 |
LDA #$0100 ;$80F43A |
JSL CODE_808C2E ;$80F43D |
LDA #$0100 ;$80F441 |
STA $17BA ;$80F444 |
STA $17C0 ;$80F447 |
LDA #$00B0 ;$80F44A |
STA $17B8 ;$80F44D |
LDA #$0001 ;$80F450 |
STA $84 ;$80F453 |
LDA #DATA_80F57C ;$80F455 |
STA $7A ;$80F458 |
LDA.w #DATA_80F57C>>16 ;$80F45A |
STA $7C ;$80F45D |
LDA #$1654 ;$80F45F |
STA $000654 ;$80F462 |
STA $000656 ;$80F466 |
STA $00072B ;$80F46A |
LDY #$00F0 ;$80F46E |
LDX #$0004 ;$80F471 |
LDA #$00AA ;$80F474 |
JSL DMA_global_palette ;$80F477 |
LDA #$0001 ;$80F47B |
STA $059B ;$80F47E |
RTL ;$80F481 /
CODE_80F482:
LDA $059B ;$80F482 \
STA $420B ;$80F485 |
JSL CODE_B5A919 ;$80F488 |
JSR CODE_80F324 ;$80F48C |
JSL CODE_80C31D ;$80F48F |
LDA $17B8 ;$80F493 |
SEP #$20 ;$80F496 |
STZ $2101 ;$80F498 |
STA $210F ;$80F49B |
XBA ;$80F49E |
STA $210F ;$80F49F |
LDA #$C0 ;$80F4A2 |
STA $2110 ;$80F4A4 |
STA $2110 ;$80F4A7 |
LDA $0512 ;$80F4AA |
STA $2100 ;$80F4AD |
REP #$20 ;$80F4B0 |
JSR CODE_808988 ;$80F4B2 |
LDA $7E ;$80F4B5 |
CMP #$001D ;$80F4B7 |
BNE CODE_80F4BF ;$80F4BA |
DEC $17B8 ;$80F4BC |
CODE_80F4BF: ; |
LDA $84 ;$80F4BF |
CMP #$0010 ;$80F4C1 |
BCS CODE_80F4CE ;$80F4C4 |
LDA $80 ;$80F4C6 |
CLC ;$80F4C8 |
ADC #$0200 ;$80F4C9 |
BRA CODE_80F4D6 ;$80F4CC /
CODE_80F4CE:
LDA $80 ;$80F4CE \
BEQ CODE_80F4D8 ;$80F4D0 |
SEC ;$80F4D2 |
SBC #$0200 ;$80F4D3 |
CODE_80F4D6: ; |
STA $80 ;$80F4D6 |
CODE_80F4D8: ; |
DEC $84 ;$80F4D8 |
BNE CODE_80F551 ;$80F4DA |
LDA #$2000 ;$80F4DC |
STA $80 ;$80F4DF |
CODE_80F4E1: ; |
LDA [$7A] ;$80F4E1 |
BPL CODE_80F4EB ;$80F4E3 |
LDA #$820F ;$80F4E5 |
STA $0512 ;$80F4E8 |
CODE_80F4EB: ; |
STA $84 ;$80F4EB |
INC $7A ;$80F4ED |
INC $7A ;$80F4EF |
LDA [$7A] ;$80F4F1 |
BEQ CODE_80F541 ;$80F4F3 |
TAY ;$80F4F5 |
CMP #$01CE ;$80F4F6 |
BEQ CODE_80F53B ;$80F4F9 |
CMP #$01DA ;$80F4FB |
BEQ CODE_80F53B ;$80F4FE |
CMP #$020E ;$80F500 |
BEQ CODE_80F50C ;$80F503 |
CMP #$020C ;$80F505 |
BNE CODE_80F533 ;$80F508 |
BRA CODE_80F51A ;$80F50A /
CODE_80F50C:
PHY ;$80F50C \
LDA #$0000 ;$80F50D |
JSL CODE_808837 ;$80F510 |
JSL CODE_B8808E ;$80F514 |
BRA CODE_80F526 ;$80F518 /
CODE_80F51A:
PHY ;$80F51A \
LDA #$0001 ;$80F51B |
JSL CODE_808837 ;$80F51E |
JSL CODE_B8808E ;$80F522 |
CODE_80F526: ; |
LDY $0595 ;$80F526 |
LDA $0006,y ;$80F529 |
ORA #$0004 ;$80F52C |
STA $0006,y ;$80F52F |
PLY ;$80F532 |
CODE_80F533: ; |
JSL CODE_BB842C ;$80F533 |
LDA $68 ;$80F537 |
BRA CODE_80F541 ;$80F539 /
CODE_80F53B:
JSL CODE_BB8443 ;$80F53B \
LDA $68 ;$80F53F |
CODE_80F541: ; |
INC $7A ;$80F541 |
INC $7A ;$80F543 |
LDA [$7A] ;$80F545 |
STA $7E ;$80F547 |
INC $7A ;$80F549 |
INC $7A ;$80F54B |
LDA $84 ;$80F54D |
BEQ CODE_80F4E1 ;$80F54F |
CODE_80F551: ; |
LDA $0512 ;$80F551 |
CMP #$8201 ;$80F554 |
BNE CODE_80F567 ;$80F557 |
LDA #CODE_BAB633 ;$80F559 |
STA $00067D ;$80F55C |
LDA #CODE_808CC9 ;$80F560 |
JML CODE_808C80 ;$80F563 /
CODE_80F567:
JSL sprite_handler ;$80F567 \
JSL CODE_B5A8DA ;$80F56B |
JSR CODE_80F946 ;$80F56F |
JSR CODE_8088BA ;$80F572 |
JSR CODE_808C3D ;$80F575 |
JML CODE_808CA2 ;$80F578 /
DATA_80F57C:
db $30, $00, $00, $00, $00, $00, $A0, $00
db $00, $00, $01, $00, $A0, $00, $00, $00
db $02, $00, $40, $01, $A4, $01, $03, $00
db $40, $01, $A6, $01, $04, $00, $40, $01
db $A8, $01, $05, $00, $40, $01, $A2, $01
db $06, $00, $40, $01, $AA, $01, $07, $00
db $40, $01, $AC, $01, $08, $00, $40, $01
db $AE, $01, $09, $00, $40, $01, $B0, $01
db $0A, $00, $A0, $00, $00, $00, $0B, $00
db $40, $01, $B2, $01, $0C, $00, $40, $01
db $B4, $01, $0D, $00, $40, $01, $B6, $01
db $0E, $00, $40, $01, $B8, $01, $0F, $00
db $40, $01, $BA, $01, $10, $00, $A0, $00
db $00, $00, $11, $00, $40, $01, $BC, $01
db $12, $00, $00, $00, $BE, $01, $13, $00
db $40, $01, $C4, $01, $13, $00, $40, $01
db $C0, $01, $14, $00, $40, $01, $C2, $01
db $15, $00, $00, $00, $C6, $01, $16, $00
db $40, $01, $10, $02, $16, $00, $40, $01
db $C8, $01, $17, $00, $40, $01, $CA, $01
db $18, $00, $40, $01, $CC, $01, $19, $00
db $40, $01, $CE, $01, $1A, $00, $40, $01
db $D0, $01, $1B, $00, $00, $00, $D2, $01
db $1C, $00, $40, $01, $D6, $01, $1C, $00
db $80, $01, $00, $00, $1D, $00, $00, $00
db $D4, $01, $1E, $00, $40, $01, $D8, $01
db $1E, $00, $A0, $00, $00, $00, $1F, $00
db $00, $00, $DC, $01, $20, $00, $40, $01
db $DA, $01, $20, $00, $40, $01, $DE, $01
db $21, $00, $00, $00, $E0, $01, $22, $00
db $40, $01, $E2, $01, $22, $00, $40, $01
db $E4, $01, $23, $00, $00, $00, $E6, $01
db $24, $00, $00, $00, $E8, $01, $24, $00
db $40, $01, $EA, $01, $24, $00, $A0, $00
db $00, $00, $25, $00, $40, $01, $EC, $01
db $26, $00, $40, $01, $EE, $01, $27, $00
db $40, $01, $F0, $01, $28, $00, $40, $01
db $F2, $01, $29, $00, $40, $01, $F4, $01
db $2A, $00, $40, $01, $F6, $01, $2B, $00
db $40, $01, $F8, $01, $2C, $00, $A0, $00
db $00, $00, $2D, $00, $40, $01, $FA, $01
db $2E, $00, $00, $00, $FC, $01, $2F, $00
db $40, $01, $FE, $01, $2F, $00, $00, $00
db $00, $02, $30, $00, $40, $01, $02, $02
db $30, $00, $40, $01, $04, $02, $31, $00
db $00, $00, $06, $02, $32, $00, $00, $00
db $0A, $02, $32, $00, $40, $01, $08, $02
db $32, $00, $40, $01, $0C, $02, $33, $00
db $40, $01, $0E, $02, $34, $00, $40, $00
db $00, $00, $00, $00, $FF, $FF, $00, $00
DATA_80F70C:
dw !null_pointer
dw DATA_80F776
dw DATA_80F789
dw DATA_80F79A
dw DATA_80F79F
dw DATA_80F7AB
dw DATA_80F7B1
dw DATA_80F7C0
dw DATA_80F7C8
dw DATA_80F7D3
dw DATA_80F7DA
dw DATA_80F7E2
dw DATA_80F7F4
dw DATA_80F7FC
dw DATA_80F802
dw DATA_80F809
dw DATA_80F811
dw DATA_80F819
dw DATA_80F82C
dw DATA_80F832
dw DATA_80F83A
dw DATA_80F842
dw DATA_80F84A
dw DATA_80F852
dw DATA_80F858
dw DATA_80F860
dw DATA_80F866
dw DATA_80F86D
dw DATA_80F875
dw DATA_80F87B
dw DATA_80F882
dw DATA_80F889
dw DATA_80F89A
dw DATA_80F89F
dw DATA_80F8A7
dw DATA_80F8AE
dw DATA_80F8B8
dw DATA_80F8C7
dw DATA_80F8D6
dw DATA_80F8DC
dw DATA_80F8E5
dw DATA_80F8EC
dw DATA_80F8F5
dw DATA_80F8FD
dw DATA_80F905
dw DATA_80F90D
dw DATA_80F917
dw DATA_80F91E
dw DATA_80F924
dw DATA_80F92C
dw DATA_80F933
dw DATA_80F93A
dw DATA_80F940
DATA_80F776:
db "CAST OF CHARACTERS", $00
DATA_80F789:
db "LAZY LANDLUBBERS", $00
DATA_80F79A:
db "NEEK", $00
DATA_80F79F:
db "CLICK-CLACK", $00
DATA_80F7AB:
db "SPINY", $00
DATA_80F7B1:
db "CAT O' 9 TAILS", $00
DATA_80F7C0:
db "FLITTER", $00
DATA_80F7C8:
db "MINI-NECKY", $00
DATA_80F7D3:
db "ZINGER", $00
DATA_80F7DA:
db "SCREECH", $00
DATA_80F7E2:
db "SUBMERGED SEADOGS", $00
DATA_80F7F4:
db "FLOTSAM", $00
DATA_80F7FC:
db "SHURI", $00
DATA_80F802:
db "PUFTUP", $00
DATA_80F809:
db "LOCKJAW", $00
DATA_80F811:
db "SNAPJAW", $00
DATA_80F819:
db "KREMLING KUTHROATS", $00
DATA_80F82C:
db "KLOMP", $00
DATA_80F832:
db "KLINGER", $00
DATA_80F83A:
db "KABOING", $00
DATA_80F842:
db "KLAMPON", $00
DATA_80F84A:
db "KLOBBER", $00
DATA_80F852:
db "KROOK", $00
DATA_80F858:
db "KUTLASS", $00
DATA_80F860:
db "KLOAK", $00
DATA_80F866:
db "KANNON", $00
DATA_80F86D:
db "KRUNCHA", $00
DATA_80F875:
db "KLANK", $00
DATA_80F87B:
db "KACKLE", $00
DATA_80F882:
db "KLUBBA", $00
DATA_80F889:
db "BARNACLED BOSSES", $00
DATA_80F89A:
db "KROW", $00
DATA_80F89F:
db "KLEEVER", $00
DATA_80F8A7:
db "KUDGEL", $00
DATA_80F8AE:
db "KING ZING", $00
DATA_80F8B8:
db "KAPTAIN K.ROOL", $00
DATA_80F8C7:
db "ANIMAL BUDDIES", $00
DATA_80F8D6:
db "RAMBI", $00
DATA_80F8DC:
db "ENGUARDE", $00
DATA_80F8E5:
db "RATTLY", $00
DATA_80F8EC:
db "SQUITTER", $00
DATA_80F8F5:
db "CLAPPER", $00
DATA_80F8FD:
db "SQUAWKS", $00
DATA_80F905:
db "GLIMMER", $00
DATA_80F90D:
db "KONG KLAN", $00
DATA_80F917:
db "SWANKY", $00
DATA_80F91E:
db "FUNKY", $00
DATA_80F924:
db "WRINKLY", $00
DATA_80F92C:
db "CRANKY", $00
DATA_80F933:
db "DONKEY", $00
DATA_80F93A:
db "DIXIE", $00
DATA_80F940:
db "DIDDY", $00
CODE_80F946:
PHB ;$80F946 \
PHK ;$80F947 |
PLB ;$80F948 |
LDY #$0000 ;$80F949 |
LDA $7E ;$80F94C |
BEQ CODE_80F9C7 ;$80F94E |
ASL A ;$80F950 |
TAX ;$80F951 |
LDA.l DATA_80F70C,x ;$80F952 |
STA $3A ;$80F956 |
LDA #$0080 ;$80F958 |
STA $3C ;$80F95B |
LDY #$0000 ;$80F95D |
CODE_80F960: ; |
LDA [$3A],y ;$80F960 |
AND #$00FF ;$80F962 |
BEQ CODE_80F96A ;$80F965 |
INY ;$80F967 |
BRA CODE_80F960 ;$80F968 /
CODE_80F96A:
TYA ;$80F96A \
LDY #$0000 ;$80F96B |
ASL A ;$80F96E |
ASL A ;$80F96F |
EOR #$00FF ;$80F970 |
CLC ;$80F973 |
ADC #$C080 ;$80F974 |
CLC ;$80F977 |
ADC $80 ;$80F978 |
STA $32 ;$80F97A |
CODE_80F97C: ; |
LDA [$3A] ;$80F97C |
AND #$00FF ;$80F97E |
BEQ CODE_80F9C7 ;$80F981 |
CMP #$0020 ;$80F983 |
BEQ CODE_80F9BB ;$80F986 |
SEC ;$80F988 |
SBC #$0021 ;$80F989 |
TAX ;$80F98C |
LDA.l DATA_B4C4B3,x ;$80F98D |
AND #$00FF ;$80F991 |
ASL A ;$80F994 |
CLC ;$80F995 |
ADC #$3E02 ;$80F996 |
STA $34 ;$80F999 |
LDA $32 ;$80F99B |
STA $0200,y ;$80F99D |
LDA $34 ;$80F9A0 |
STA $0202,y ;$80F9A2 |
LDA $32 ;$80F9A5 |
CLC ;$80F9A7 |
ADC #$0800 ;$80F9A8 |
STA $0204,y ;$80F9AB |
INC $34 ;$80F9AE |
LDA $34 ;$80F9B0 |
STA $0206,y ;$80F9B2 |
TYA ;$80F9B5 |
CLC ;$80F9B6 |
ADC #$0008 ;$80F9B7 |
TAY ;$80F9BA |
CODE_80F9BB: ; |
INC $3A ;$80F9BB |
LDA $32 ;$80F9BD |
CLC ;$80F9BF |
ADC #$0008 ;$80F9C0 |
STA $32 ;$80F9C3 |
BRA CODE_80F97C ;$80F9C5 /
CODE_80F9C7:
TYA ;$80F9C7 \
CLC ;$80F9C8 |
ADC #$0200 ;$80F9C9 |
STA $70 ;$80F9CC |
LDA #$0400 ;$80F9CE |
STA $56 ;$80F9D1 |
STZ $0400 ;$80F9D3 |
STZ $0402 ;$80F9D6 |
STZ $0404 ;$80F9D9 |
STZ $0406 ;$80F9DC |
STZ $0408 ;$80F9DF |
STZ $040A ;$80F9E2 |
STZ $040C ;$80F9E5 |
STZ $040E ;$80F9E8 |
STZ $0410 ;$80F9EB |
STZ $0412 ;$80F9EE |
STZ $0414 ;$80F9F1 |
STZ $0416 ;$80F9F4 |
STZ $0418 ;$80F9F7 |
STZ $041A ;$80F9FA |
STZ $041C ;$80F9FD |
STZ $041E ;$80FA00 |
LDA #$0054 ;$80FA03 |
STA $78 ;$80FA06 |
JSL CODE_B59F40 ;$80FA08 |
STZ $1730 ;$80FA0C |
PLB ;$80FA0F |
RTS ;$80FA10 /
CODE_80FA11:
LDX $64 ;$80FA11 \
LDA $06,x ;$80FA13 |
INC A ;$80FA15 |
STA $06,x ;$80FA16 |
LDA $1A,x ;$80FA18 |
CMP #$14C4 ;$80FA1A |
BEQ CODE_80FA39 ;$80FA1D |
JSL CODE_B9D100 ;$80FA1F |
LDA $2A ;$80FA23 |
LDA $36,x ;$80FA25 |
CMP #$0196 ;$80FA27 |
BEQ CODE_80FA36 ;$80FA2A |
CMP #$0230 ;$80FA2C |
BEQ CODE_80FA36 ;$80FA2F |
CMP #$019A ;$80FA31 |
BNE CODE_80FA39 ;$80FA34 |
CODE_80FA36: ; |
INC $19AA ;$80FA36 |
CODE_80FA39: ; |
JSL CODE_BBBB8D ;$80FA39 |
JML [$05A9] ;$80FA3D /
CODE_80FA40:
PHB ;$80FA40 \
PHK ;$80FA41 |
PLB ;$80FA42 |
LDX $64 ;$80FA43 |
LDA $06,x ;$80FA45 |
INC A ;$80FA47 |
STA $06,x ;$80FA48 |
LDA $42,x ;$80FA4A |
BNE CODE_80FA70 ;$80FA4C |
INC $42,x ;$80FA4E |
LDY $44,x ;$80FA50 |
PEA $80BA ;$80FA52 |
PLB ;$80FA55 |
LDA $0000,y ;$80FA56 |
PLB ;$80FA59 |
CMP #$0063 ;$80FA5A |
BNE CODE_80FA68 ;$80FA5D |
LDA $0002,y ;$80FA5F |
STA $44,x ;$80FA62 |
TAY ;$80FA64 |
LDA $0000,y ;$80FA65 |
CODE_80FA68: ; |
INY ;$80FA68 |
INY ;$80FA69 |
STY $44,x ;$80FA6A |
JSL CODE_B9D0C6 ;$80FA6C |
CODE_80FA70: ; |
JSL CODE_B9D100 ;$80FA70 |
JSL CODE_BBBB8D ;$80FA74 |
PLB ;$80FA78 |
JML [$05A9] ;$80FA79 /
CODE_80FA7C:
JSL disable_screen ;$80FA7C \
PHK ;$80FA80 |
PLB ;$80FA81 |
JSL clear_VRAM_wrapper ;$80FA82 |
JSL init_registers_wrapper ;$80FA86 |
LDA #$001F ;$80FA8A |
JSL handle_VRAM_payload_wrapper ;$80FA8D |
LDA #$001F ;$80FA91 |
JSL set_PPU_registers_wrapper ;$80FA94 |
LDA #$0014 ;$80FA98 |
JSL CODE_B5800C ;$80FA9B |
LDA #$0100 ;$80FA9F |
JSR CODE_808C32 ;$80FAA2 |
LDA #DATA_FD258E ;$80FAA5 |
LDY #$0000 ;$80FAA8 |
LDX #$0020 ;$80FAAB |
JSL DMA_palette ;$80FAAE |
STZ $2A ;$80FAB2 |
LDA #$0001 ;$80FAB4 |
STA $059B ;$80FAB7 |
LDA #CODE_80FAC0 ;$80FABA |
JMP CODE_808C9E ;$80FABD /
CODE_80FAC0:
LDA $059B ;$80FAC0 \
STA $420B ;$80FAC3 |
LDA $2A ;$80FAC6 |
SEC ;$80FAC8 |
SBC #$0300 ;$80FAC9 |
LSR A ;$80FACC |
LSR A ;$80FACD |
CMP #$001F ;$80FACE |
BCS CODE_80FADC ;$80FAD1 |
SEP #$20 ;$80FAD3 |
ORA #$C0 ;$80FAD5 |
STA $2132 ;$80FAD7 |
REP #$20 ;$80FADA |
CODE_80FADC: ; |
LDA #$0200 ;$80FADC |
SEC ;$80FADF |
SBC $2A ;$80FAE0 |
CMP #$0200 ;$80FAE2 |
BCS CODE_80FB3D ;$80FAE5 |
CLC ;$80FAE7 |
ADC #$0010 ;$80FAE8 |
STA $32 ;$80FAEB |
LDA $2A ;$80FAED |
ASL A ;$80FAEF |
CLC ;$80FAF0 |
ADC #$0040 ;$80FAF1 |
AND #$00FF ;$80FAF4 |
ASL A ;$80FAF7 |
TAX ;$80FAF8 |
LDA.l DATA_B3F4D8,x ;$80FAF9 |
CMP #$8000 ;$80FAFD |
ROR A ;$80FB00 |
CMP #$8000 ;$80FB01 |
ROR A ;$80FB04 |
CMP #$8000 ;$80FB05 |
ROR A ;$80FB08 |
CLC ;$80FB09 |
ADC $32 ;$80FB0A |
CMP #$8000 ;$80FB0C |
LSR A ;$80FB0F |
SEP #$20 ;$80FB10 |
STA $210E ;$80FB12 |
XBA ;$80FB15 |
STA $210E ;$80FB16 |
REP #$20 ;$80FB19 |
LDA $2A ;$80FB1B |
AND #$00FF ;$80FB1D |
ASL A ;$80FB20 |
TAX ;$80FB21 |
LDA.l DATA_B3F4D8,x ;$80FB22 |
CMP #$8000 ;$80FB26 |
ROR A ;$80FB29 |
CMP #$8000 ;$80FB2A |
ROR A ;$80FB2D |
CMP #$8000 ;$80FB2E |
ROR A ;$80FB31 |
SEP #$20 ;$80FB32 |
STA $210D ;$80FB34 |
XBA ;$80FB37 |
STA $210D ;$80FB38 |
REP #$20 ;$80FB3B |
CODE_80FB3D: ; |
LDA $2A ;$80FB3D |
SEC ;$80FB3F |
SBC #$0100 ;$80FB40 |
CMP #$0100 ;$80FB43 |
BCS CODE_80FB62 ;$80FB46 |
SEP #$20 ;$80FB48 |
STA $2110 ;$80FB4A |
STZ $2110 ;$80FB4D |
REP #$20 ;$80FB50 |
EOR #$00FF ;$80FB52 |
LSR A ;$80FB55 |
LSR A ;$80FB56 |
LSR A ;$80FB57 |
ORA #$00E0 ;$80FB58 |
SEP #$20 ;$80FB5B |
STA $2132 ;$80FB5D |
REP #$20 ;$80FB60 |
CODE_80FB62: ; |
JSR CODE_808988 ;$80FB62 |
SEP #$20 ;$80FB65 |
LDA $0512 ;$80FB67 |
STA $2100 ;$80FB6A |
REP #$20 ;$80FB6D |
LDA $2A ;$80FB6F |
CMP #$00F0 ;$80FB71 |
BCC CODE_80FB93 ;$80FB74 |
LDA $0513 ;$80FB76 |
AND #$00FF ;$80FB79 |
BNE CODE_80FB93 ;$80FB7C |
LDA $050E ;$80FB7E |
AND #$D080 ;$80FB81 |
BNE CODE_80FB8D ;$80FB84 |
LDA $2A ;$80FB86 |
CMP #$0480 ;$80FB88 |
BNE CODE_80FB93 ;$80FB8B |
CODE_80FB8D: ; |
LDA #$820F ;$80FB8D |
JSR CODE_808C32 ;$80FB90 |
CODE_80FB93: ; |
JSR CODE_808C3D ;$80FB93 |
LDA $0512 ;$80FB96 |
BEQ CODE_80FB9E ;$80FB99 |
JMP CODE_808CA2 ;$80FB9B /
CODE_80FB9E:
JML CODE_BBBEA0 ;$80FB9E /
DATA_80FBA2:
db $1A, $C4, $41, $C2, $71, $7D, $71, $7E
db $A2, $0D, $18, $9F, $BB, $66, $7D, $B2
db $D2, $5B, $8B, $77, $1A, $CB, $4C, $B5
db $A3, $E0, $18, $5A, $0A, $71, $C3, $71
db $54, $71, $C4, $B1, $05, $34, $F4, $0B
db $19, $0F, $1A, $E4, $F4, $01, $A2, $FD
db $B3, $9F, $D4, $41, $9C, $B4, $18, $DF
db $F1, $1D, $B2, $0A, $91, $55, $B4, $17
db $11, $2B, $44, $1C, $57, $17, $F7, $1C
db $6A, $0B, $11, $3C, $B1, $15, $BB, $40
db $C9, $13, $27, $18, $FB, $20, $4F, $10
db $3B, $6B, $77, $B3, $0E, $91, $02, $B6
db $5A, $9B, $53, $BF, $B0, $3F, $1B, $85
db $57, $B2, $80, $94, $2B, $20, $13, $BA
db $81, $11, $BE, $A2, $1D, $1A, $1B, $00
db $C9, $10, $DB, $49, $FD, $F2, $1B, $14
db $01, $83, $71, $5B, $B1, $20, $DB, $65
db $5F, $11, $3B, $51, $71, $44, $1C, $77
db $18, $07, $18, $1B, $49, $0D, $B0, $22
db $1B, $4E, $3B, $B3, $2B, $71, $82, $A1
db $7C, $B4, $28, $DB, $11, $77, $12, $CB
db $03, $71, $16, $9A, $24, $51, $B2, $B8
db $64, $BB, $55, $57, $B3, $10, $71, $19
db $B4, $47, $1A, $0D, $DB, $A8, $11, $11
db $FA, $41, $B1, $14, $B2, $30, $D1, $48
db $71, $77, $B1, $57, $F4, $0B, $5F, $51
db $A0, $7D, $A2, $49, $15, $67, $15, $77
db $1C, $8B, $11, $71, $40, $B3, $10, $91
db $85, $B5, $2E, $14, $81, $91, $B3, $8C
db $9B, $6B, $77, $10, $2B, $21, $77, $12
db $DB, $26, $33, $18, $6B, $67, $47, $B1
db $38, $51, $14, $B3, $55, $7A, $64, $F1
db $07, $71, $23, $B6, $6D, $31, $C9, $B8
db $81, $11, $10, $B4, $7C, $51, $97, $F4
db $71, $15, $A4, $8D, $10, $64, $01, $9D
db $A1, $5C, $B4, $03, $3B, $16, $67, $15
db $8C, $21, $1A, $21, $15, $71, $73, $B4
db $64, $1F, $F1, $1D, $B2, $00, $F1, $14
db $4C, $B3, $61, $31, $CA, $B4, $AE, $91
db $2C, $4A, $19, $97, $1C, $B7, $1C, $CA
db $04, $B1, $0D, $B2, $01, $7B, $10, $13
db $11, $9A, $45, $1B, $17, $13, $10, $3B
db $62, $FD, $F1, $15, $3B, $4F, $E3, $A1
db $80, $A0, $4D, $C4, $11, $44, $10, $6C
db $41, $14, $E1, $3C, $42, $B5, $47, $1C
db $21, $15, $2A, $4D, $71, $32, $B6, $55
db $7A, $19, $81, $3C, $B1, $8E, $D4, $C1
db $9D, $B4, $4F, $FA, $0D, $54, $E1, $9C
db $B6, $64, $9C, $31, $21, $01, $8F, $C6
db $12, $60, $B1, $05, $F1, $82, $B6, $2F
db $DB, $11, $EB, $11, $9A, $10, $A4, $F4
db $6B, $7C, $0F, $12, $8F, $AB, $42, $25
db $11, $EA, $2B, $DB, $00, $17, $40, $19
db $9B, $21, $93, $B0, $8E, $D4, $F4, $F4
db $6A, $5E, $C1, $21, $B2, $14, $B1, $59
db $71, $5A, $B4, $88, $7B, $21, $6F, $40
db $A3, $1A, $A0, $DD, $C2, $13, $6A, $11
db $FB, $17, $79, $4F, $42, $B3, $6F, $5B
db $01, $DB, $42, $18, $9B, $21, $EF, $18
db $8A, $2E, $3B, $00, $17, $40, $B3, $00
db $91, $02, $64, $CB, $07, $CD, $B5, $35
db $94, $EA, $7E, $A8, $C8, $14, $00, $A0
db $4D, $B4, $6A, $51, $8E, $CC, $13, $6A
db $11, $0A, $18, $04, $F4, $2B, $36, $F5
db $B0, $1D, $B4, $21, $91, $A2, $89, $B0
db $0F, $94, $AB, $1E, $BB, $10, $34, $C1
db $89, $B8, $35, $91, $CD, $71, $CE, $4A
db $C5, $11, $56, $11, $AC, $A1, $40, $0F
db $31, $88, $C8, $13, $FC, $11, $FC, $A1
db $36, $A1, $28, $FA, $4F, $B2, $37, $D1
db $CF, $71, $1F, $40, $18, $D6, $44, $B5
db $BA, $31, $AE, $71, $9B, $B4, $71, $B1
db $AC, $B4, $3A, $B1, $B3, $48, $19, $27
db $18, $5A, $24, $F1, $15, $B8, $29, $9A
db $03, $14, $0B, $3F, $FB, $18, $8B, $33
db $0D, $CA, $14, $00, $B3, $26, $91, $B4
db $CF, $15, $38, $B3, $2E, $D4, $FB, $60
db $5B, $B1, $4F, $91, $03, $44, $B7, $BA
db $31, $A2, $B6, $4A, $71, $A4, $A2, $47
db $11, $EB, $14, $2F, $40, $A1, $B4, $1A
db $0B, $20, $EF, $11, $4B, $47, $FF, $B3
db $29, $9B, $00, $25, $40, $B3, $FF, $B1
db $1E, $B2, $0C, $B1, $15, $CA, $13, $A4
db $B3, $26, $91, $CF, $6C, $E1, $53, $81
db $BF, $F8, $F4, $B1, $00, $74, $6B, $25
db $5D, $B4, $37, $D1, $03, $B2, $76, $71
db $02, $42, $19, $2B, $84, $55, $1A, $4B
db $64, $A7, $B1, $DC, $B1, $3F, $B3, $42
db $F4, $01, $A2, $B4, $69, $DB, $16, $A9
db $B0, $0C, $5B, $69, $43, $A0, $CB, $40
db $19, $1B, $24, $FB, $10, $3B, $45, $E7
db $F1, $15, $3B, $49, $6F, $18, $FB, $43
db $53, $12, $67, $11, $FC, $C1, $4F, $AB
db $33, $63, $C2, $13, $1E, $40, $B3, $C9
db $31, $39, $B1, $23, $9B, $40, $29, $B3
db $F7, $91, $2C, $42, $B7, $F3, $D1, $A6
db $B4, $E1, $1B, $11, $31, $19, $FF, $7B
db $53, $6D, $40, $B5, $60, $FA, $37, $61
db $14, $C4, $15, $D4, $B2, $8A, $F4, $2B
db $0B, $5D, $B4, $5E, $71, $8F, $B1, $33
db $FB, $45, $69, $13, $CB, $63, $53, $11
db $0C, $C1, $4F, $AA, $12, $01, $2D, $B3
db $E1, $94, $0B, $45, $2D, $B8, $A4, $3C
db $31, $70, $21, $03, $42, $B1, $70, $11
db $99, $B4, $69, $DB, $0C, $9B, $B4, $43
db $B1, $9D, $C4, $12, $5E, $A0, $31, $42
db $C3, $12, $86, $A1, $54, $FE, $18, $D7
db $1D, $07, $15, $D4, $8B, $2B, $5D, $C6
db $14, $86, $A0, $01, $48, $B4, $55, $74
db $6B, $95, $67, $A2, $05, $40, $19, $D7
db $12, $EC, $61, $60, $8B, $2B, $69, $B4
db $C6, $F1, $71, $42, $B1, $F3, $D1, $D1
db $B4, $69, $D1, $9C, $FC, $B3, $83, $54
db $41, $99, $B1, $63, $14, $0B, $51, $01
db $A2, $4D, $B4, $0E, $BB, $03, $BD, $44
db $A2, $C7, $B6, $5C, $B1, $C8, $F5, $4A
db $B1, $05, $91, $19, $48, $18, $37, $17
db $4B, $20, $CB, $10, $7F, $87, $1A, $64
db $F4, $01, $91, $B4, $C6, $F1, $4D, $42
db $19, $FA, $37, $04, $F4, $0B, $20, $D5
db $40, $18, $9A, $2D, $BB, $11, $13, $18
db $5F, $4B, $42, $39, $FF, $11, $D4, $8C
db $51, $8C, $81, $14, $A1, $00, $48, $B3
db $05, $91, $07, $48, $C7, $18, $52, $FF
db $11, $D4, $F4, $21, $86, $B2, $04, $31
db $13, $42, $B0, $0D, $1A, $27, $9F, $21
db $B1, $46, $B0, $32, $FB, $4C, $0D, $B0
db $25, $14, $0B, $11, $A1, $18, $6B, $21
db $13, $11, $EF, $B7, $56, $3F, $2C, $01
db $05, $E3, $67, $AB, $09, $37
DATA_80FFB0:
db $30, $31
DATA_80FFB2:
db $41, $44, $4E, $45
DATA_80FFB6:
db $00, $00, $00, $00, $00, $00, $00
DATA_80FFBD:
db $00
DATA_80FFBE:
db $00
DATA_80FFBF:
db $00
DATA_80FFC0:
db "DIDDY'S KONG QUEST "
DATA_80FFD5:
db $31
DATA_80FFD6:
db $02
DATA_80FFD7:
db $0C
DATA_80FFD8:
db $01
DATA_80FFD9:
db $01
DATA_80FFDA:
db $33
DATA_80FFDB:
db $01
DATA_80FFDC:
db $E3, $67
DATA_80FFDE:
db $1C, $98
DATA_80FFE0:
db $44, $49, $44, $44
DATA_80FFE4:
db $59, $20
DATA_80FFE6:
db $03, $70
DATA_80FFE8:
db $00, $00
DATA_80FFEA:
dw NMI_start
DATA_80FFEC:
db $00, $00
DATA_80FFEE:
dw IRQ_start
DATA_80FFF0:
db $44, $49, $44, $44
DATA_80FFF4:
db $59, $20
DATA_80FFF6:
db $4B, $4F
DATA_80FFF8:
db $4E, $47
DATA_80FFFA:
db $00, $F8
DATA_80FFFC:
dw RESET_start
DATA_80FFFE:
db $00, $70